aboutsummaryrefslogtreecommitdiff
path: root/gcc/testsuite/gcc.target
diff options
context:
space:
mode:
authorMartin Liska <mliska@suse.cz>2022-11-08 12:36:43 +0100
committerMartin Liska <mliska@suse.cz>2022-11-08 12:36:43 +0100
commit4b13c73bba935443be3207abf26f7ba05f79badc (patch)
treea6bb1525d07859fa8fc6f61dd13df7ddfd1ac254 /gcc/testsuite/gcc.target
parent33f5dde0cd15df9cf89b29280d4ff5fcf7b30e66 (diff)
parentfa271afb58423014e2feef9f15c1a87428e64ddc (diff)
downloadgcc-devel/sphinx.zip
gcc-devel/sphinx.tar.gz
gcc-devel/sphinx.tar.bz2
Merge branch 'master' into devel/sphinxdevel/sphinx
Diffstat (limited to 'gcc/testsuite/gcc.target')
-rw-r--r--gcc/testsuite/gcc.target/i386/pr107546.c19
-rw-r--r--gcc/testsuite/gcc.target/i386/raoint-atomic-fetch.c29
-rw-r--r--gcc/testsuite/gcc.target/i386/sse-22.c2
3 files changed, 20 insertions, 30 deletions
diff --git a/gcc/testsuite/gcc.target/i386/pr107546.c b/gcc/testsuite/gcc.target/i386/pr107546.c
new file mode 100644
index 0000000..e5cf56d
--- /dev/null
+++ b/gcc/testsuite/gcc.target/i386/pr107546.c
@@ -0,0 +1,19 @@
+/* PR target/107546 */
+/* { dg-do compile } */
+/* { dg-options "-O2 -msse2 -mno-xop -mno-avx512f" } */
+/* { dg-final { scan-assembler-not "pcmpeqb\t" } } */
+/* { dg-final { scan-assembler-times "pcmpgtb\t" 2 } } */
+
+typedef signed char V __attribute__((vector_size(16)));
+
+V
+foo (V x)
+{
+ return x < 48;
+}
+
+V
+bar (V x)
+{
+ return x >= (V) { 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57 };
+}
diff --git a/gcc/testsuite/gcc.target/i386/raoint-atomic-fetch.c b/gcc/testsuite/gcc.target/i386/raoint-atomic-fetch.c
deleted file mode 100644
index ac4099d..0000000
--- a/gcc/testsuite/gcc.target/i386/raoint-atomic-fetch.c
+++ /dev/null
@@ -1,29 +0,0 @@
-/* { dg-do compile } */
-/* { dg-options "-mraoint -O2 -mprefer-remote-atomic" } */
-/* { dg-final { scan-assembler-times "aadd" 2 { target {! ia32 } } } } */
-/* { dg-final { scan-assembler-times "aand" 2 { target {! ia32 } } } } */
-/* { dg-final { scan-assembler-times "aor" 2 { target {! ia32 } } } } */
-/* { dg-final { scan-assembler-times "axor" 2 { target {! ia32 } } } } */
-/* { dg-final { scan-assembler-times "aadd" 1 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "aand" 1 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "aor" 1 { target ia32 } } } */
-/* { dg-final { scan-assembler-times "axor" 1 { target ia32 } } } */
-volatile int x;
-volatile long long y;
-int *a;
-long long *b;
-
-void extern
-rao_int_test (void)
-{
- __atomic_add_fetch (a, x, __ATOMIC_RELAXED);
- __atomic_and_fetch (a, x, __ATOMIC_RELAXED);
- __atomic_or_fetch (a, x, __ATOMIC_RELAXED);
- __atomic_xor_fetch (a, x, __ATOMIC_RELAXED);
-#ifdef __x86_64__
- __atomic_add_fetch (b, y, __ATOMIC_RELAXED);
- __atomic_and_fetch (b, y, __ATOMIC_RELAXED);
- __atomic_or_fetch (b, y, __ATOMIC_RELAXED);
- __atomic_xor_fetch (b, y, __ATOMIC_RELAXED);
-#endif
-}
diff --git a/gcc/testsuite/gcc.target/i386/sse-22.c b/gcc/testsuite/gcc.target/i386/sse-22.c
index f5808e4..f600bb5 100644
--- a/gcc/testsuite/gcc.target/i386/sse-22.c
+++ b/gcc/testsuite/gcc.target/i386/sse-22.c
@@ -103,7 +103,7 @@
#ifndef DIFFERENT_PRAGMAS
-#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,rtm,rdseed,prfchw,adx,fxsr,xsaveopt,avx512f,avx512er,avx512cd,avx512pf,sha,prefetchwt1,avx512vl,avx512bw,avx512dq,avx512vbmi,avx512vbmi2,avx512ifma,avx5124fmaps,avx5124vnniw,avx512vpopcntdq,gfni,avx512bitalg,avx512bf16,avx512vp2intersect,serialize,tsxldtrk,amx-tile,amx-int8,amx-bf16,kl,widekl,avxvnni,avx512fp16,avxifma,avxvnniint8,avxneconvert,amx-fp16.raoint")
+#pragma GCC target ("sse4a,3dnow,avx,avx2,fma4,xop,aes,pclmul,popcnt,abm,lzcnt,bmi,bmi2,tbm,lwp,fsgsbase,rdrnd,f16c,rtm,rdseed,prfchw,adx,fxsr,xsaveopt,avx512f,avx512er,avx512cd,avx512pf,sha,prefetchwt1,avx512vl,avx512bw,avx512dq,avx512vbmi,avx512vbmi2,avx512ifma,avx5124fmaps,avx5124vnniw,avx512vpopcntdq,gfni,avx512bitalg,avx512bf16,avx512vp2intersect,serialize,tsxldtrk,amx-tile,amx-int8,amx-bf16,kl,widekl,avxvnni,avx512fp16,avxifma,avxvnniint8,avxneconvert,amx-fp16,raoint")
#endif
/* Following intrinsics require immediate arguments. They