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 tree-optimization/63302] [4.9 Regression] Code with 64-bit long long constants is miscompiled on 32-bit host


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63302

--- Comment #5 from dave.anglin at bell dot net ---
On 26-Sep-14, at 3:46 PM, law at redhat dot com wrote:

> https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63302
>
> --- Comment #4 from Jeffrey A. Law <law at redhat dot com> ---
> Have you tried with the current 4.9.2 bits?  I get the following  
> with a 32bit
> host cross to hppa64-unknown-linux-gnu:


The wrong code is actually generated by the native 32-bit hppa-unknown- 
linux-gnu compiler.

This results in the hppa64-unknown-linux-gnu cross compiler being  
miscompiled and incorrect
ldil instructions in its output.  The hppa64-unknown-linux-gnu cross  
compiler correctly compiles
the test case.

In my regression search, I got wrong code with r215536 from the 4.9  
branch.  Then,
I switched to checking trunk.  I just checked r215649 from 4.9 branch  
and still get the following
incorrect code for the testcase:

         extru %r26,31,11,%r28
         comiclr,<> 0,%r28,%r28
         ldi 1,%r28
         bv,n %r0(%r2)

Note that this is 32-bit code.

Dave
--
John David Anglin    dave.anglin@bell.net


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