This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug target/27287] [4.1/4.2 Regression] returning constant double



------- 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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]