This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug middle-end/70319] [6 Regression] FAIL: gcc.dg/sso/q2.c -O1 -fno-inline execution test


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

--- Comment #8 from Eric Botcazou <ebotcazou at gcc dot gnu.org> ---
> Comment #1 was incorrect about the problem starting in r233398.  It was my
> bswap pattern addition in r233414 that introduced the problem.  On the other
> hand, I looked at the bswapdi operation in gdb and it seems correct.

The problem in .final is:

(insn 21 20 22 (set (reg:DI 19 %r19 [orig:97 B1 ] [97])
        (mem/c:DI (plus:DI (reg/f:DI 30 %r30)
                (const_int -128 [0xffffffffffffff80])) [1 B1+0 S8 A128]))
q2.c:51 128 {*pa.md:4152}
     (expr_list:REG_EQUIV (mem/c:DI (plus:DI (reg/f:DI 30 %r30)
                (const_int -128 [0xffffffffffffff80])) [1 B1+0 S8 A128])
        (nil)))
(insn 22 21 23 (set (reg:DI 28 %r28 [96])
        (bswap:DI (reg:DI 19 %r19 [orig:97 B1 ] [97]))) q2.c:51 47 {bswapdi2}
     (nil))

[...]

(insn 35 33 36 (set (reg:DI 28 %r28 [105])
        (bswap:DI (reg:DI 19 %r19 [orig:106 B1 ] [106]))) q2.c:51 47 {bswapdi2}
     (expr_list:REG_DEAD (reg:DI 19 %r19 [orig:106 B1 ] [106])
        (nil)))

Now the bswapdi2 pattern clobbers %r19.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]