[Bug middle-end/42248] [4.5 Regression] compat test struct-by-value-17 fails execution with -O1 -fschedule-insns

pthaugen at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jan 14 17:29:00 GMT 2010



------- Comment #12 from pthaugen at gcc dot gnu dot org  2010-01-14 17:29 -------
The first patch appeared to work, resulting in correct ordering, but the second
patch had some issues. It also corrected the original ordering, but introduced
some new incorrect code for handling the args coming in in FPR regs.

Check:

.L.check:
        mflr 0
        std 0,16(1)
        stdu 1,-128(1)
        std 3,176(1)
        std 4,184(1)
        std 5,192(1)
        std 6,200(1)
        lfd 13,184(1)
        lfd 0,176(1)
>>        std 8,112(1)
>>        lfd 12,112(1)
>>        fcmpu 7,0,12
        crnot 30,30
        beq 7,.L4
>>        fcmpu 7,13,1
        beq 7,.L1

The first compare should be comparing FP12 against FP1, not sure how the GPR8
stuff got in there, nothing is even passed in GPR8.


Init:

.L.init:
        std 5,0(3)
        stfd 1,8(3)
        blr

Should just be storing FPR1/FPR2 into consecutive locations.


-- 


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



More information about the Gcc-bugs mailing list