sse.md (avx512dq_vextract<shuffletype>64x2_1_maskm, [...]): Use Yk constraint instead...
authorJakub Jelinek <jakub@redhat.com>
Fri, 12 Aug 2016 15:52:03 +0000 (17:52 +0200)
committerJakub Jelinek <jakub@gcc.gnu.org>
Fri, 12 Aug 2016 15:52:03 +0000 (17:52 +0200)
* 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

gcc/ChangeLog
gcc/config/i386/sse.md

index 49f0b6d073c1c6f21cf72b0ca406cc80edbde2c6..6a4f4bf194c52148ba0284212ce7db5a8dc63430 100644 (file)
@@ -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):
index 6b898dc05135a2406e8eea3151380011f836eb77..9f60ad006bd92239c418a01ece66d48b03f03263 100644 (file)
            (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)
              (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}"
            (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}"
            (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}"