------- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-27 00:00 ------- Confirmed. Combine is combing the following RTL: (insn 30 27 31 2 (set (reg:DF 70) (mem:DF (reg/v/f:SI 64 [ s ]) [0 S8 A64])) -1 (nil) (nil))
(insn 31 30 32 2 (set (reg:V2DF 69) (vec_concat:V2DF (reg:DF 70) (const_double:DF 0 [0x0] 0.0 [0x0.0p+0]))) -1 (insn_list:REG_DEP_TRUE 30 (nil)) (expr_list:REG_DEAD (reg:DF 70) (nil))) (insn 32 31 34 2 (set (reg:DF 71) (vec_select:DF (reg:V2DF 69) (parallel [ (const_int 0 [0x0]) ]))) -1 (insn_list:REG_DEP_TRUE 31 (nil)) (expr_list:REG_DEAD (reg:V2DF 69) (nil))) (insn 34 32 36 2 (set (mem:DF (reg/v/f:SI 63 [ d ]) [0 S8 A64]) (reg:DF 71)) -1 (insn_list:REG_DEP_TRUE 32 (nil)) (expr_list:REG_DEAD (reg:DF 71) (nil))) into: (insn 34 32 36 2 (set (mem:DF (reg/v/f:SI 63 [ d ]) [0 S8 A64]) (const_double:DF 0 [0x0] 0.0 [0x0.0p+0])) 65 {*movdf_nointeger} (nil) (nil)) Which is just wrong. -- What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|c |rtl-optimization Ever Confirmed| |1 Keywords| |ssemmx, wrong-code Last reconfirmed|0000-00-00 00:00:00 |2005-04-27 00:00:41 date| | Summary|Illegal elimination of SSE2 |[4.0/4.1 Regression] Illegal |load/store using xmm |elimination of SSE2 |intrinsics |load/store using xmm | |intrinsics Target Milestone|--- |4.0.1 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21239