https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85123

--- Comment #2 from Peter Bergner <bergner at gcc dot gnu.org> ---
So the code on LE and 32-bit BE for test1float1() looks like:

    10000680:   f0 ff 21 d0     stfs    f1,-16(r1)
    10000684:   00 00 42 60     ori     r2,r2,0
    10000688:   f0 ff 61 80     lwz     r3,-16(r1)
    1000068c:   20 00 80 4e     blr


while on 64-bit BE, we get:

    100006c0:   d0 21 ff f0     stfs    f1,-16(r1)
    100006c4:   60 42 00 00     ori     r2,r2,0
    100006c8:   e8 61 ff f0     ld      r3,-16(r1)
    100006cc:   78 63 07 c6     rldicr  r3,r3,32,31
    100006d0:   4e 80 00 20     blr

which is wrong.

Reply via email to