Commit d186f41d by Jakub Jelinek Committed by Jakub Jelinek

sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm, [...]): Use Yk constraint instead of k.

	* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,
	vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask,
	vec_extract_hi_<mode>_mask): Use Yk constraint instead of k.

From-SVN: r239418
parent 42b5ebf3
2016-08-12 Jakub Jelinek <jakub@redhat.com>
* config/i386/sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm,
vec_extract_hi_<mode>_mask, vec_extract_lo_<mode>_mask,
vec_extract_hi_<mode>_mask): Use Yk constraint instead of k.
2016-08-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com> 2016-08-12 Bill Schmidt <wschmidt@linux.vnet.ibm.com>
* config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost):
......
...@@ -6957,7 +6957,7 @@ ...@@ -6957,7 +6957,7 @@
(parallel [(match_operand 2 "const_0_to_7_operand") (parallel [(match_operand 2 "const_0_to_7_operand")
(match_operand 3 "const_0_to_7_operand")])) (match_operand 3 "const_0_to_7_operand")]))
(match_operand:<ssequartermode> 4 "memory_operand" "0") (match_operand:<ssequartermode> 4 "memory_operand" "0")
(match_operand:QI 5 "register_operand" "k")))] (match_operand:QI 5 "register_operand" "Yk")))]
"TARGET_AVX512DQ "TARGET_AVX512DQ
&& (INTVAL (operands[2]) % 2 == 0) && (INTVAL (operands[2]) % 2 == 0)
&& (INTVAL (operands[2]) == INTVAL (operands[3]) - 1) && (INTVAL (operands[2]) == INTVAL (operands[3]) - 1)
...@@ -7171,7 +7171,7 @@ ...@@ -7171,7 +7171,7 @@
(const_int 12) (const_int 13) (const_int 12) (const_int 13)
(const_int 14) (const_int 15)])) (const_int 14) (const_int 15)]))
(match_operand:<ssehalfvecmode> 2 "memory_operand" "0") (match_operand:<ssehalfvecmode> 2 "memory_operand" "0")
(match_operand:QI 3 "register_operand" "k")))] (match_operand:QI 3 "register_operand" "Yk")))]
"TARGET_AVX512DQ "TARGET_AVX512DQ
&& rtx_equal_p (operands[2], operands[0])" && rtx_equal_p (operands[2], operands[0])"
"vextract<shuffletype>32x8\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}" "vextract<shuffletype>32x8\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}"
...@@ -7377,7 +7377,7 @@ ...@@ -7377,7 +7377,7 @@
(parallel [(const_int 0) (const_int 1) (parallel [(const_int 0) (const_int 1)
(const_int 2) (const_int 3)])) (const_int 2) (const_int 3)]))
(match_operand:<ssehalfvecmode> 2 "memory_operand" "0") (match_operand:<ssehalfvecmode> 2 "memory_operand" "0")
(match_operand:QI 3 "register_operand" "k")))] (match_operand:QI 3 "register_operand" "Yk")))]
"TARGET_AVX512VL && TARGET_AVX512F "TARGET_AVX512VL && TARGET_AVX512F
&& rtx_equal_p (operands[2], operands[0])" && rtx_equal_p (operands[2], operands[0])"
"vextract<shuffletype>32x4\t{$0x0, %1, %0%{%3%}|%0%{%3%}, %1, 0x0}" "vextract<shuffletype>32x4\t{$0x0, %1, %0%{%3%}|%0%{%3%}, %1, 0x0}"
...@@ -7395,7 +7395,7 @@ ...@@ -7395,7 +7395,7 @@
(parallel [(const_int 4) (const_int 5) (parallel [(const_int 4) (const_int 5)
(const_int 6) (const_int 7)])) (const_int 6) (const_int 7)]))
(match_operand:<ssehalfvecmode> 2 "memory_operand" "0") (match_operand:<ssehalfvecmode> 2 "memory_operand" "0")
(match_operand:<ssehalfvecmode> 3 "register_operand" "k")))] (match_operand:<ssehalfvecmode> 3 "register_operand" "Yk")))]
"TARGET_AVX512F && TARGET_AVX512VL "TARGET_AVX512F && TARGET_AVX512VL
&& rtx_equal_p (operands[2], operands[0])" && rtx_equal_p (operands[2], operands[0])"
"vextract<shuffletype>32x4\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}" "vextract<shuffletype>32x4\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}"
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment