------- Comment #1 from rguenth at gcc dot gnu dot org 2010-04-04 19:07 ------- Confirmed. We already expand in this funny way:
;; Generating RTL for gimple basic block 2 ;; return D.2720_3; (insn 6 5 7 t.c:8 (set (reg:SI 65) (subreg:SI (reg/v:DI 62 [ u ]) 0)) -1 (nil)) (insn 7 6 8 t.c:8 (parallel [ (set (reg:DI 66) (ashiftrt:DI (reg/v:DI 62 [ u ]) (const_int 32 [0x20]))) (clobber (reg:CC 17 flags)) ]) -1 (nil)) (insn 8 7 9 t.c:8 (set (reg:SI 67) (subreg:SI (reg:DI 66) 0)) -1 (nil)) (insn 9 8 10 t.c:8 (set (reg:SF 63) (plus:SF (subreg:SF (reg:SI 65) 0) (subreg:SF (reg:SI 67) 0))) -1 (nil)) (insn 10 9 11 t.c:8 (set (reg:SF 61 [ <retval> ]) (reg:SF 63)) -1 (nil)) -- rguenth at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Severity|normal |enhancement Status|UNCONFIRMED |NEW Component|c |middle-end Ever Confirmed|0 |1 Keywords| |missed-optimization Last reconfirmed|0000-00-00 00:00:00 |2010-04-04 19:07:13 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=43640