[Bug tree-optimization/50802] [4.7 Regression] FAIL: gcc.c-torture/execute/arith-rand-ll.c execution at -O2 and -Os
amylaar at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Nov 18 22:27:00 GMT 2011
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=50802
--- Comment #15 from Jorn Wolfgang Rennecke <amylaar at gcc dot gnu.org> 2011-11-18 22:15:29 UTC ---
Created attachment 25855
--> http://gcc.gnu.org/bugzilla/attachment.cgi?id=25855
Preprocessed testcase for epiphany
I can't reproduce the test on gcc20, I think this is a 32 vs. 64 bit
build and/or host machine issue.
I can reproduce the problem on a 32 bit system:
Linux purzah 3.1.1-1.fc16.i686.PAE #1 SMP Fri Nov 11 22:04:40 UTC 2011 i686
i686 i386 GNU/Linux
I have used trunk revision 181442 .
configured for --target=epiphany-elf .
You don't need Epiphany for this, you can just make "all-gcc", and when
it has configured the gcc build directory, you can stop the build, cd to the
gcc build directory, and build just cc1.
compile the preprocessed sources with:
./cc1 -O2 -dumpbase arith-rand-ll.c arith-rand-ll.i -o arith-rand-ll.s
-fdump-tree-all
in arith-rand-ll.c.080t.dom1, you can see in line 543
r2_98 = (signed char) D.2263_64
earlier, the same ssa variable has been used in
r2_65 = (short int) D.2263_64;
both uses are, in fact, incorrect, because D.2263_64 is calculated as 32
bit signed modulo of 32 bit x and y.
More information about the Gcc-bugs
mailing list