summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--gcc/config/i386/sse.md3
-rw-r--r--gcc/testsuite/g++.target/i386/pr105953.C4
2 files changed, 5 insertions, 2 deletions
diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md
index 3a3ea609fda..2ce1aed4ad9 100644
--- a/gcc/config/i386/sse.md
+++ b/gcc/config/i386/sse.md
@@ -3627,8 +3627,7 @@
3627 gen_lowpart (<ssebytemode>mode, operands[1])); 3627 gen_lowpart (<ssebytemode>mode, operands[1]));
3628 operands[2] = gen_lowpart (<ssebytemode>mode, operands[2]); 3628 operands[2] = gen_lowpart (<ssebytemode>mode, operands[2]);
3629 3629
3630 if (!MEM_P (operands[3])) 3630 operands[3] = force_reg (<ssebytemode>mode, operands[3]);
3631 operands[3] = force_reg (<ssebytemode>mode, operands[3]);
3632 operands[3] = lowpart_subreg (<MODE>mode, operands[3], <ssebytemode>mode); 3631 operands[3] = lowpart_subreg (<MODE>mode, operands[3], <ssebytemode>mode);
3633}) 3632})
3634 3633
diff --git a/gcc/testsuite/g++.target/i386/pr105953.C b/gcc/testsuite/g++.target/i386/pr105953.C
new file mode 100644
index 00000000000..b423d2dfdae
--- /dev/null
+++ b/gcc/testsuite/g++.target/i386/pr105953.C
@@ -0,0 +1,4 @@
1/* { dg-do compile } */
2/* { dg-options "-O2 -mavx512vl -mabi=ms" } */
3
4#include "pr100738-1.C"