aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2016-05-06 15:10:39 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2016-05-06 15:10:39 +0200
commit924099a0dcb10d3606cb12460cd9dc95d3c4f280 (patch)
tree055bcf1d3dcf3f37c70f23dd9417bca2f807e69c
parent59401c609c30e7551cdfe72ebb4b0765c94bd2a4 (diff)
downloadgcc-924099a0dcb10d3606cb12460cd9dc95d3c4f280.zip
gcc-924099a0dcb10d3606cb12460cd9dc95d3c4f280.tar.gz
gcc-924099a0dcb10d3606cb12460cd9dc95d3c4f280.tar.bz2
sse.md (sse_movhlps, [...]): Use v instead of x in vex or maybe_vex alternatives...
* 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
-rw-r--r--gcc/ChangeLog4
-rw-r--r--gcc/config/i386/sse.md16
2 files changed, 12 insertions, 8 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 33839fc..fc97d25 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -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.
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 1081a1d..86ce15e 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -5744,11 +5744,11 @@
})
(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)
@@ -5762,7 +5762,7 @@
%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"
@@ -5789,11 +5789,11 @@
})
(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)
@@ -5807,7 +5807,7 @@
%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>"