sse.md (sse_movhlps, [...]): Use v instead of x in vex or maybe_vex alternatives...
authorJakub Jelinek <jakub@redhat.com>
Fri, 6 May 2016 13:10:39 +0000 (15:10 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 6 May 2016 13:10:39 +0000 (15:10 +0200)
* config/i386/sse.md (sse_movhlps, sse_movlhps): Use
v instead of x in vex or maybe_vex alternatives, use
maybe_evex instead of vex in prefix.

From-SVN: r235966

gcc/ChangeLog
gcc/config/i386/sse.md

index 33839fca5e35ab4b1e7a313568fedd4e6ebeefc7..fc97d2534d6e74d3ee07e0fc25cf5588a3f3ab97 100644 (file)
@@ -1,5 +1,9 @@
 2016-05-06  Jakub Jelinek  <jakub@redhat.com>
 
+       * config/i386/sse.md (sse_movhlps, sse_movlhps): Use
+       v instead of x in vex or maybe_vex alternatives, use
+       maybe_evex instead of vex in prefix.
+
        * config/i386/sse.md (*avx_cvtpd2dq256_2, *avx_cvtps2pd256_2): Use
        v constraint instead of x.
 
index 1081a1de817b3449389001f86d3daa9c5306a379..86ce15ed3f2519596b305207c6be276887ca0dc1 100644 (file)
 })
 
 (define_insn "sse_movhlps"
-  [(set (match_operand:V4SF 0 "nonimmediate_operand"     "=x,x,x,x,m")
+  [(set (match_operand:V4SF 0 "nonimmediate_operand"     "=x,v,x,v,m")
        (vec_select:V4SF
          (vec_concat:V8SF
-           (match_operand:V4SF 1 "nonimmediate_operand" " 0,x,0,x,0")
-           (match_operand:V4SF 2 "nonimmediate_operand" " x,x,o,o,x"))
+           (match_operand:V4SF 1 "nonimmediate_operand" " 0,v,0,v,0")
+           (match_operand:V4SF 2 "nonimmediate_operand" " x,v,o,o,v"))
          (parallel [(const_int 6)
                     (const_int 7)
                     (const_int 2)
    %vmovhps\t{%2, %0|%q0, %2}"
   [(set_attr "isa" "noavx,avx,noavx,avx,*")
    (set_attr "type" "ssemov")
-   (set_attr "prefix" "orig,vex,orig,vex,maybe_vex")
+   (set_attr "prefix" "orig,maybe_evex,orig,maybe_evex,maybe_vex")
    (set_attr "mode" "V4SF,V4SF,V2SF,V2SF,V2SF")])
 
 (define_expand "sse_movlhps_exp"
 })
 
 (define_insn "sse_movlhps"
-  [(set (match_operand:V4SF 0 "nonimmediate_operand"     "=x,x,x,x,o")
+  [(set (match_operand:V4SF 0 "nonimmediate_operand"     "=x,v,x,v,o")
        (vec_select:V4SF
          (vec_concat:V8SF
-           (match_operand:V4SF 1 "nonimmediate_operand" " 0,x,0,x,0")
-           (match_operand:V4SF 2 "nonimmediate_operand" " x,x,m,m,x"))
+           (match_operand:V4SF 1 "nonimmediate_operand" " 0,v,0,v,0")
+           (match_operand:V4SF 2 "nonimmediate_operand" " x,v,m,v,v"))
          (parallel [(const_int 0)
                     (const_int 1)
                     (const_int 4)
    %vmovlps\t{%2, %H0|%H0, %2}"
   [(set_attr "isa" "noavx,avx,noavx,avx,*")
    (set_attr "type" "ssemov")
-   (set_attr "prefix" "orig,vex,orig,vex,maybe_vex")
+   (set_attr "prefix" "orig,maybe_evex,orig,maybe_evex,maybe_vex")
    (set_attr "mode" "V4SF,V4SF,V2SF,V2SF,V2SF")])
 
 (define_insn "<mask_codefor>avx512f_unpckhps512<mask_name>"