[Bug target/59762] New: func-vararg-mixed.c fails on PowerPC starting with revision 204079
pthaugen at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Jan 10 17:40:00 GMT 2014
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59762
Bug ID: 59762
Summary: func-vararg-mixed.c fails on PowerPC starting with
revision 204079
Product: gcc
Version: 4.9.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: pthaugen at gcc dot gnu.org
CC: bergner at gcc dot gnu.org, dje at gcc dot gnu.org,
vmakarov at gcc dot gnu.org
Host: powerpc64-linux
Target: powerpc64-linux
Build: powerpc64-linux
Testcase c-c++-common/dfp/func-vararg-mixed.c started failing on PowerPC for
-m32 at stated revision. Problem looks to be that Decimal32 values are now
loaded into the high word of the FPR as opposed to the low word where they
should be.
Simple example to demonstrate new generated code:
[pthaugen@igoo ~/temp]$ cat dfp.c
void bar(_Decimal32);
void foo ()
{
bar(3.0df);
}
[pthaugen@igoo ~/temp]$ ~/install/gcc/temp/bin/gcc -m32 -O0 dfp.c -S
>From .s file...
lwz 10,.LC0@l(9)
stw 10,24(31)
stw 11,28(31)
lfd 0,24(31)
fmr 1,0
bl bar
Note that FPR0/1 have the Decimal32 value in the high word, and garbage in the
low word.
Other tests that started failing in same timeframe and I suspect are also
related:
FAIL: gcc.dg/compat/scalar-by-value-dfp c_compat_x_tst.o-c_compat_y_tst.o
execute
FAIL: gcc.dg/compat/scalar-return-dfp c_compat_x_tst.o-c_compat_y_tst.o execute
FAIL: c-c++-common/dfp/func-vararg-alternate-d32.c execution test
FAIL: c-c++-common/dfp/func-vararg-dfp.c execution test
FAIL: gcc.target/powerpc/ppc32-abi-dfp-1.c execution test
More information about the Gcc-bugs
mailing list