i386: Fix <any_extend:insn>v4qiv4di2 expander
authorUros Bizjak <ubizjak@gmail.com>
Tue, 18 May 2021 13:56:22 +0000 (15:56 +0200)
committerUros Bizjak <ubizjak@gmail.com>
Tue, 18 May 2021 13:56:22 +0000 (15:56 +0200)
Fix a mode mismatch.

2021-05-18  Uroš Bizjak  <ubizjak@gmail.com>

gcc/
* config/i386/sse.md (<any_extend:insn>v4qiv4di2):
Fix a mode mismatch with operand 1.

gcc/config/i386/sse.md

index 62f4e15..a4503dd 100644 (file)
 {
   if (!MEM_P (operands[1]))
     {
-      operands[1] = force_reg (V8QImode, operands[1]);
-      operands[1] = simplify_gen_subreg (V16QImode, operands[1], V8QImode, 0);
+      operands[1] = force_reg (V4QImode, operands[1]);
+      operands[1] = simplify_gen_subreg (V16QImode, operands[1], V4QImode, 0);
       emit_insn (gen_avx2_<code>v4qiv4di2 (operands[0], operands[1]));
       DONE;
     }