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

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #4)
> If it's inside the bfin bundling code, let's just mark it as a p4 and we can
> chase it down whenever it's convenient.   My primary motivation is to catch
> generic issues.  A target specific issue on a barely used target just isn't
> that interesting IMHO.

Thanks, it actaully might be the scheduler which is introducing the difference
such that bfin bundling is different.

I just noticed the modes of the two instructions:

(insn:SI # # # 6 (set (reg:SI 3 R3 [177])
        (ashift:SI (reg:SI 4 R4 [orig:87 x$0 ] [87])
            (const_int 1 [0x1]))) "t.c":44:47# {*ashlsi3_insn}
     (nil))

vs with -g:
(insn:TI # # # 6 (set (reg:SI 3 R3 [177])
        (ashift:SI (reg:SI 4 R4 [orig:87 x$0 ] [87])
            (const_int 1 [0x1]))) "t.c":44:47# {*ashlsi3_insn}
     (nil))

---
I think this is caused by having the debug insn afterwards:
(debug_insn # # # 6 (var_location:SI D#14 (ior:SI (reg:SI 3 R3 [177])
        (const_int 31 [0x1f])))#
     (nil))

which might be saying it is scheduled with the above one while without -g, it
is not schedule with another instruction; hence the SImode.

Reply via email to