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 target/41366] Invariant algebraic expressions using mixed 64 and 32 bit expressions not recognized.


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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|arm-elf-unknown             |arm*-*-*
               Host|x86-elf-linux               |

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> 2012-09-23 22:07:20 UTC ---
(insn 8 28 9 2 (set (subreg:SI (reg:DI 144 [ b ]) 4)
        (reg:SI 1 r1 [ b ])) t4.c:3 640 {*arm_movsi_vfp}
     (expr_list:REG_DEAD (reg:SI 1 r1 [ b ])
        (nil)))

(insn 9 8 10 2 (set (subreg:SI (reg:DI 144 [ b ]) 0)
        (const_int 0 [0])) t4.c:3 640 {*arm_movsi_vfp}
     (nil))

(note 10 9 11 2 NOTE_INSN_DELETED)

(insn 11 10 26 2 (set (reg:DI 141)
        (ior:DI (zero_extend:DI (reg:SI 0 r0 [ a ]))
            (reg:DI 144 [ b ]))) t4.c:3 95 {*iordi_zesidi_di}
     (expr_list:REG_DEAD (reg:SI 0 r0 [ a ])
        (expr_list:REG_DEAD (reg:DI 144 [ b ])
            (nil))))

Combine does not know how to combine those instructions.


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