aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorKirill Yukhin <kirill.yukhin@intel.com>2016-05-18 09:11:10 +0000
committerKirill Yukhin <kyukhin@gcc.gnu.org>2016-05-18 09:11:10 +0000
commit188940605054262324b8d268364f26cd05370327 (patch)
tree2aad43de9d501b90b7e2b9d0bb334f84f25c201a /gcc
parentfef31922aab50ff497f64f171bfb97f393561c12 (diff)
downloadgcc-188940605054262324b8d268364f26cd05370327.zip
gcc-188940605054262324b8d268364f26cd05370327.tar.gz
gcc-188940605054262324b8d268364f26cd05370327.tar.bz2
AVX-512. Use `Yv' for SF mode operand in vec_concat pattern.
gcc/ * config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv' constraint fot SF mode. From-SVN: r236363
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/sse.md6
2 files changed, 8 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 8aaaa81..c5376a1 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2016-05-18 Kirill Yukhin <kirill.yukhin@intel.com>
+
+ * config/i386/sse.md (define_insn "*vec_concatv2sf_sse4_1"): Use 'Yv'
+ constraint fot SF mode.
+
2016-05-18 Petr Murzin <petr.murzin@intel.com>
Kirill Yukhin <kirill.yukhin@intel.com>
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index e0af491..a8492c7 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -6546,12 +6546,12 @@
;; unpcklps with register source since it is shorter.
(define_insn "*vec_concatv2sf_sse4_1"
[(set (match_operand:V2SF 0 "register_operand"
- "=Yr,*x,v,Yr,*x,v,v,*y ,*y")
+ "=Yr,*x, v,Yr,*x,v,v,*y ,*y")
(vec_concat:V2SF
(match_operand:SF 1 "nonimmediate_operand"
- " 0, 0,v, 0,0, v,m, 0 , m")
+ " 0, 0,Yv, 0,0, v,m, 0 , m")
(match_operand:SF 2 "vector_move_operand"
- " Yr,*x,v, m,m, m,C,*ym, C")))]
+ " Yr,*x,Yv, m,m, m,C,*ym, C")))]
"TARGET_SSE4_1 && !(MEM_P (operands[1]) && MEM_P (operands[2]))"
"@
unpcklps\t{%2, %0|%0, %2}