From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1547 invoked by alias); 31 Aug 2006 13:50:25 -0000 Received: (qmail 1518 invoked by alias); 31 Aug 2006 13:50:16 -0000 Date: Thu, 31 Aug 2006 13:50:00 -0000 Message-ID: <20060831135016.1517.qmail@sourceware.org> X-Bugzilla-Reason: CC References: Subject: [Bug target/27287] [4.1/4.2 Regression] returning constant double In-Reply-To: Reply-To: gcc-bugzilla@gcc.gnu.org To: gcc-bugs@gcc.gnu.org From: "dje at watson dot ibm dot com" Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org X-SW-Source: 2006-08/txt/msg02774.txt.bz2 List-Id: ------- Comment #34 from dje at watson dot ibm dot com 2006-08-31 13:50 ------- Subject: Re: [4.1/4.2 Regression] returning constant double >>>>> guenter at roeck-us dot net writes: guenter> Hmm ... what would be the point ? evlwwsplat copies 32 bit memory content into guenter> the upper and lower 32 bits of the target register. The upper part is not guenter> needed in the given case, so moving data into it would not provide any benefit. guenter> Am I missing something ? Because the pattern is emitting evmergelo/evmergehi for the r->r case, which is the equivalent data transfer and duplication, for no apparent reason. guenter> Would using evlwwsplat make subsequent optimizations more difficult ? That guenter> might be an argument against it. Other than that, I don't really care which guenter> opcodes to use, as long as the resulting code works. The choice of emitting mnemonics is performed as the very last stage, so the compiler does not have any knowledge of this if the RTL description does not express this. David -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27287