https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84786

--- Comment #12 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
For 7.x I think we need:
--- gcc/config/i386/sse.md.jj   2018-03-05 17:04:45.820743323 +0100
+++ gcc/config/i386/sse.md      2018-03-26 17:29:00.967880855 +0200
@@ -10687,7 +10687,7 @@
   [(set (match_operand:VI2_AVX2_AVX512BW 0 "register_operand" "=x,v")
        (any_lshift:VI2_AVX2_AVX512BW
          (match_operand:VI2_AVX2_AVX512BW 1 "register_operand" "0,v")
-         (match_operand:DI 2 "nonmemory_operand" "xN,vN")))]
+         (match_operand:DI 2 "nonmemory_operand" "xN,YvN")))]
   "TARGET_SSE2 && <mask_mode512bit_condition> && <mask_avx512bw_condition>"
   "@
    p<vshift><ssemodesuffix>\t{%2, %0|%0, %2}
@@ -10706,7 +10706,7 @@
   [(set (match_operand:VI48_AVX2 0 "register_operand" "=x,x,v")
        (any_lshift:VI48_AVX2
          (match_operand:VI48_AVX2 1 "register_operand" "0,x,v")
-         (match_operand:DI 2 "nonmemory_operand" "xN,xN,vN")))]
+         (match_operand:DI 2 "nonmemory_operand" "xN,xN,YvN")))]
   "TARGET_SSE2 && <mask_mode512bit_condition>"
   "@
    p<vshift><ssemodesuffix>\t{%2, %0|%0, %2}

but don't have time to test it right now, nor create short self-contained
testcases for it.

Reply via email to