[Bug middle-end/42099] New: Error in 64-bit division for 32-bit target
ian at airs dot com
gcc-bugzilla@gcc.gnu.org
Wed Nov 18 20:48:00 GMT 2009
I compiled this test case in a i686-pc-linux-gnu gcc configured with
--with-arch=pentium4:
long long foo(long long v) { return v / -0x080000000LL; }
void main() { if (foo(0x080000000LL) != -1) abort(); exit (0); }
The value of 0x80000000LL / -0x80000000LL is -1. However, gcc computes it as
0, and the test fails. It fails at -O0 but succeeds if the division is
inlined.
--
Summary: Error in 64-bit division for 32-bit target
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: middle-end
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ian at airs dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42099
More information about the Gcc-bugs
mailing list