[Bug testsuite/38099] tmpdir-gcc.dg-struct-layout-1/t027 c_compat_x_tst.o-c_compat_y_tst.o execute failure

ubizjak at gmail dot com gcc-bugzilla@gcc.gnu.org
Fri Nov 14 07:41:00 GMT 2008



------- Comment #12 from ubizjak at gmail dot com  2008-11-14 07:40 -------
(In reply to comment #8)
> Let me know if I need to provide anything else to debug this. Again, this test
> case passes completely if I delete the second line of t027_test.h.

The problem is, that %mm0 register is accessed in check2601(), as can be seen
from t027_y.s assembler dump. This access blocks stack registers in
check2601va(), so the check fails at this point.

My patch disables all access to MMX registers, so V1DImode should be handled by
generic moves.

However, IIRC darwin doesn't use MMX registers to pass function args/return
values. From t027_y.s dump that you provided, it is evident that check2601()
returns its structure with only v1di member in %mm0. Is this OK?


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38099



More information about the Gcc-bugs mailing list