i386: Correct *vec_extractv2si_zext_mem
authorH.J. Lu <hongjiu.lu@intel.com>
Sat, 16 Feb 2019 20:29:24 +0000 (20:29 +0000)
committerH.J. Lu <hjl@gcc.gnu.org>
Sat, 16 Feb 2019 20:29:24 +0000 (12:29 -0800)
The second and third alternatives in *vec_extractv2si_zext_mem don't
require MMX.  But the second one requires SSE2.

* config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
MMX.  Add isa attribute.

From-SVN: r268963

gcc/ChangeLog
gcc/config/i386/mmx.md

index addbd3999322a89b4d90eae1ee78818f0a354e9b..58e991d9455723227b6b199a2a3a7395ed669617 100644 (file)
@@ -1,3 +1,8 @@
+2019-02-16  H.J. Lu  <hongjiu.lu@intel.com>
+
+       * config/i386/mmx.md (*vec_extractv2si_zext_mem): Doesn't require
+       MMX.  Add isa attribute.
+
 2019-02-16  Jakub Jelinek  <jakub@redhat.com>
 
        PR rtl-optimization/66152
index c1e0f2c411e653a6f42fcec370557ca597ea2b2a..b566cc8002023cd489f16d04979373b37741264d 100644 (file)
          (vec_select:SI
            (match_operand:V2SI 1 "memory_operand" "o,o,o")
            (parallel [(match_operand:SI 2 "const_0_to_1_operand")]))))]
-  "TARGET_64BIT && TARGET_MMX"
+  "TARGET_64BIT"
   "#"
   "&& reload_completed"
   [(set (match_dup 0) (zero_extend:DI (match_dup 1)))]
 {
   operands[1] = adjust_address (operands[1], SImode, INTVAL (operands[2]) * 4);
-})
+}
+  [(set_attr "isa" "*,sse2,*")])
 
 (define_expand "vec_extractv2sisi"
   [(match_operand:SI 0 "register_operand")