diff options
author | Jakub Jelinek <jakub@redhat.com> | 2016-08-12 17:52:03 +0200 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2016-08-12 17:52:03 +0200 |
commit | d186f41d35f7dd1190bf175b9224fa6f941ffbc0 (patch) | |
tree | 3917738af34cdf3b5dedaeb715111736a4bd5ae9 /gcc | |
parent | 42b5ebf32cc8da61acd04925d8736c7827549dfa (diff) | |
download | gcc-d186f41d35f7dd1190bf175b9224fa6f941ffbc0.zip gcc-d186f41d35f7dd1190bf175b9224fa6f941ffbc0.tar.gz gcc-d186f41d35f7dd1190bf175b9224fa6f941ffbc0.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/config/i386/sse.md | 8 |
2 files changed, 10 insertions, 4 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 49f0b6d..6a4f4bf 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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> * config/rs6000/rs6000.c (rs6000_builtin_vectorization_cost): diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 6b898dc..9f60ad0 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -6957,7 +6957,7 @@ (parallel [(match_operand 2 "const_0_to_7_operand") (match_operand 3 "const_0_to_7_operand")])) (match_operand:<ssequartermode> 4 "memory_operand" "0") - (match_operand:QI 5 "register_operand" "k")))] + (match_operand:QI 5 "register_operand" "Yk")))] "TARGET_AVX512DQ && (INTVAL (operands[2]) % 2 == 0) && (INTVAL (operands[2]) == INTVAL (operands[3]) - 1) @@ -7171,7 +7171,7 @@ (const_int 12) (const_int 13) (const_int 14) (const_int 15)])) (match_operand:<ssehalfvecmode> 2 "memory_operand" "0") - (match_operand:QI 3 "register_operand" "k")))] + (match_operand:QI 3 "register_operand" "Yk")))] "TARGET_AVX512DQ && rtx_equal_p (operands[2], operands[0])" "vextract<shuffletype>32x8\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}" @@ -7377,7 +7377,7 @@ (parallel [(const_int 0) (const_int 1) (const_int 2) (const_int 3)])) (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 && rtx_equal_p (operands[2], operands[0])" "vextract<shuffletype>32x4\t{$0x0, %1, %0%{%3%}|%0%{%3%}, %1, 0x0}" @@ -7395,7 +7395,7 @@ (parallel [(const_int 4) (const_int 5) (const_int 6) (const_int 7)])) (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 && rtx_equal_p (operands[2], operands[0])" "vextract<shuffletype>32x4\t{$0x1, %1, %0%{%3%}|%0%{%3%}, %1, 0x1}" |