[Bug regression/63150] New: [4.9 regression] FAIL: gcc.target/powerpc/pr53199.c scan-assembler-times *
macro@linux-mips.org
gcc-bugzilla@gcc.gnu.org
Wed Sep 3 01:16:00 GMT 2014
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63150
Bug ID: 63150
Summary: [4.9 regression] FAIL: gcc.target/powerpc/pr53199.c
scan-assembler-times *
Product: gcc
Version: 4.9.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: regression
Assignee: unassigned at gcc dot gnu.org
Reporter: macro@linux-mips.org
Target: powerpc-linux-gnu
Build: i686-pc-linux-gnu
I see these failures in Power/Linux testing with 4.9.1 and also trunk
(5.0), so presumably the regression happened sometime between 4.8 and
4.9:
FAIL: gcc.target/powerpc/pr53199.c scan-assembler-times lwbrx 6
FAIL: gcc.target/powerpc/pr53199.c scan-assembler-times stwbrx 6
These tests passed with 4.8. This is with powerpc-linux-gnu.
I've looked at generated assembly and actually 2 out of 6 cases fail:
load64_reverse_2 and store64_reverse_2, the remaining 4 are fine. In
all cases code produced looks correct, so this is a missed optimisation
rather a code correctness issue.
Options used to configure the compiler:
--build=i686-pc-linux-gnu
--target=powerpc-linux-gnu
--with-cpu-32=603e
--with-cpu-64=e5500
--with-long-double-128
Actually even with 4.8 code that the test case accepts it looks like
we've got another missed optimisation here because we do:
lwbrx 8,0,9
lwbrx 7,0,10
mr 4,8
mr 3,7
blr
while we could do:
lwbrx 4,0,9
lwbrx 3,0,10
blr
instead. But that's of course a different matter.
More information about the Gcc-bugs
mailing list