diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-05-06 15:10:39 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-05-06 15:10:39 +0200 |
commit | 924099a0dcb10d3606cb12460cd9dc95d3c4f280 (patch) | |
tree | 055bcf1d3dcf3f37c70f23dd9417bca2f807e69c /gcc | |
parent | 59401c609c30e7551cdfe72ebb4b0765c94bd2a4 (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 16 |
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>" |