[Bug rtl-optimization/21239] [4.0/4.1 Regression] Illegal elimination of SSE2 load/store using xmm intrinsics

pinskia at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Wed Apr 27 00:00:00 GMT 2005


------- 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



More information about the Gcc-bugs mailing list