[gcc(refs/vendors/redhat/heads/gcc-8-branch)] i386: Require OPTION_MASK_ISA_SSE2 for __builtin_ia32_movq128 [PR94603]
Jakub Jelinek
jakub@gcc.gnu.org
Thu Sep 17 16:56:13 GMT 2020
https://gcc.gnu.org/g:58d4a1efa4354a4ac029510c15dfd3314f63f2f3
commit 58d4a1efa4354a4ac029510c15dfd3314f63f2f3
Author: Uros Bizjak <ubizjak@gmail.com>
Date: Wed Apr 15 23:25:27 2020 +0200
i386: Require OPTION_MASK_ISA_SSE2 for __builtin_ia32_movq128 [PR94603]
PR target/94603
* config/i386/i386-builtin.def (__builtin_ia32_movq128):
Require OPTION_MASK_ISA_SSE2.
testsuite/ChangeLog:
PR target/94603
* gcc.target/i386/pr94603.c: New test.
Diff:
---
gcc/ChangeLog | 6 ++++++
gcc/config/i386/i386-builtin.def | 2 +-
gcc/testsuite/ChangeLog | 5 +++++
gcc/testsuite/gcc.target/i386/pr94603.c | 11 +++++++++++
4 files changed, 23 insertions(+), 1 deletion(-)
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 28b34e941b3..7ff901cd82e 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,9 @@
+2020-04-15 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/94603
+ * config/i386/i386-builtin.def (__builtin_ia32_movq128):
+ Require OPTION_MASK_ISA_SSE2.
+
2020-04-15 Max Filippov <jcmvbkbc@gmail.com>
Backport from mainline.
diff --git a/gcc/config/i386/i386-builtin.def b/gcc/config/i386/i386-builtin.def
index fe23ab0b829..35bd8add04a 100644
--- a/gcc/config/i386/i386-builtin.def
+++ b/gcc/config/i386/i386-builtin.def
@@ -787,7 +787,7 @@ BDESC (OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_pshufhw, "__builtin_ia32_pshufhw", IX
BDESC (OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_vmsqrtv2df2, "__builtin_ia32_sqrtsd", IX86_BUILTIN_SQRTSD, UNKNOWN, (int) V2DF_FTYPE_V2DF_VEC_MERGE)
-BDESC (OPTION_MASK_ISA_SSE, CODE_FOR_sse2_movq128, "__builtin_ia32_movq128", IX86_BUILTIN_MOVQ128, UNKNOWN, (int) V2DI_FTYPE_V2DI)
+BDESC (OPTION_MASK_ISA_SSE2, CODE_FOR_sse2_movq128, "__builtin_ia32_movq128", IX86_BUILTIN_MOVQ128, UNKNOWN, (int) V2DI_FTYPE_V2DI)
/* SSE2 MMX */
BDESC (OPTION_MASK_ISA_SSE2 | OPTION_MASK_ISA_MMX, CODE_FOR_mmx_addv1di3, "__builtin_ia32_paddq", IX86_BUILTIN_PADDQ, UNKNOWN, (int) V1DI_FTYPE_V1DI_V1DI)
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 12839cb8bbb..a90697f4c8f 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-04-15 Uroš Bizjak <ubizjak@gmail.com>
+
+ PR target/94603
+ * gcc.target/i386/pr94603.c: New test.
+
2020-04-15 Max Filippov <jcmvbkbc@gmail.com>
Backport from mainline.
diff --git a/gcc/testsuite/gcc.target/i386/pr94603.c b/gcc/testsuite/gcc.target/i386/pr94603.c
new file mode 100644
index 00000000000..34a1e069eac
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr94603.c
@@ -0,0 +1,11 @@
+/* PR target/94603 */
+/* { dg-do compile } */
+/* { dg-options "-Wno-implicit-function-declaration -msse -mno-sse2" } */
+
+typedef long long __attribute__ ((__vector_size__ (16))) V;
+
+V
+foo (V v)
+{
+ return __builtin_ia32_movq128 (v); /* { dg-error "" } */
+}
More information about the Gcc-cvs
mailing list