[Bug middle-end/67295] [ARM][6 Regression] FAIL: gcc.target/arm/builtin-bswap-1.c scan-assembler-times revshne\\t 1
ktkachov at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Mon Nov 9 14:13:00 GMT 2015
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67295
--- Comment #5 from ktkachov at gcc dot gnu.org ---
Sorry for getting back late on this. I'll try to give more detailed steps to
reproduce this.
I take my clean checkout of trunk from svn and do:
1) $ svn up -r226900
This is the revision before the copyrename patch.
2) I build a simple cc1 by doing:
$ cd <build path>
$ $<path to gcc source>/configure --prefix=`pwd` --enable-languages=c,c++
--target=arm-none-eabi
$ make -j<n>
Wait till it builds cc1.
The testcase is:
$ cat rev.c
extern short foos16 (short);
/* revshne */
short swaps16_cond (short x, int y)
{
short z = x;
if (y)
z = __builtin_bswap16 (x);
return foos16 (z);
}
3) I compile the testcase:
$ <build path>/gcc/cc1 -march=armv7-a -O2 -marm rev.c
The output rev.s contains:
swaps16_cond:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
cmp r1, #0
revshne r0, r0
.L2:
b foos16
4) Now I go back to the gcc svn checkout and do:
$ svn up -r226901
This is the revision with the copyrename patch.
5) Rebuild cc1 as in step 2.
6) Compile the testcase again:
$ <build path>/gcc/cc1 -march=armv7-a -O2 -marm rev.c
rev.s now contains:
swaps16_cond:
@ args = 0, pretend = 0, frame = 0
@ frame_needed = 0, uses_anonymous_args = 0
@ link register save eliminated.
cmp r1, #0
rev16ne r0, r0
uxthne r0, r0
.L2:
sxth r0, r0
b foos16
Hope this helps,
Kyrill
More information about the Gcc-bugs
mailing list