This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/60778] shift not folded into shift on x86-64
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Tue, 08 Apr 2014 08:50:54 +0000
- Subject: [Bug target/60778] shift not folded into shift on x86-64
- Auto-submitted: auto-generated
- References: <bug-60778-4 at http dot gcc dot gnu dot org/bugzilla/>
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.