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

--- Comment #3 from Hongtao.liu <crazylht at gmail dot com> ---
(In reply to Andrew Pinski from comment #2)
> Semi-Reduced testcase:
> ```
> #include <immintrin.h>
> 
> void f()
> {
>   __m256i mask = _mm256_set_epi32(0, 0, 0, 0, -1, -1, -1, -1);
>   register __m256i reg asm("xmm16") = mask;
>   asm(""::"v"(reg));
> }
> ```
> 
> Most likely introduced by r13-2804-ga282f086ef26d9 .

 (define_insn "mov<mode>_internal"
   [(set (match_operand:VMOVE 0 "nonimmediate_operand"
-        "=v,v ,v ,m")
+        "=v,v ,v,v ,m")
        (match_operand:VMOVE 1 "nonimmediate_or_sse_const_operand"
-        " C,<sseconstm1>,vm,v"))]
+        " C,<sseconstm1>,BH,vm,v"))]

We need to use "x" instead of "v".

Reply via email to