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/60778] shift not folded into shift on x86-64


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

Richard Biener <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Target|                            |x86_64-*-*, i?86-*-*
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2014-04-08
     Ever confirmed|0                           |1

--- Comment #1 from Richard Biener <rguenth at gcc dot gnu.org> ---
Confirmed.  A bit difficult since

(insn 7 6 8 2 (parallel [
            (set (reg:DI 89 [ D.1754 ])
                (ashiftrt:DI (reg/v:DI 86 [ x ])
                    (const_int 3 [0x3])))
            (clobber (reg:CC 17 flags))
        ]) t.i:3 532 {*ashrdi3_1}
     (nil))
(insn 8 7 9 2 (set (reg:DF 90)
        (mem:DF (plus:DI (mult:DI (reg:DI 89 [ D.1754 ])
                    (const_int 8 [0x8]))
                (reg/f:DI 88)) [2 mem S8 A64])) t.i:3 128 {*movdf_internal}
     (nil))

don't combine well (and:DI is not valid inside the MEM), but a
define-insn-and-split may be able to handle this.


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