aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorThomas Schwinge <thomas@codesourcery.com>2021-08-02 17:38:05 +0200
committerThomas Schwinge <thomas@codesourcery.com>2021-08-23 17:45:40 +0200
commitbb75b22aba254e8ff144db27b1c8b4804bad73bb (patch)
treef58d680f5df77ff9a0ab550f90aa6d1d0ccdbab0 /gcc
parent1a129376bbc26d3c30af3c1ae6036e2e1446db40 (diff)
downloadgcc-bb75b22aba254e8ff144db27b1c8b4804bad73bb.zip
gcc-bb75b22aba254e8ff144db27b1c8b4804bad73bb.tar.gz
gcc-bb75b22aba254e8ff144db27b1c8b4804bad73bb.tar.bz2
Allow matching Intel MIC in OpenMP 'declare variant'
..., and use that to improve XFAILing for Intel MIC offloading execution instead of compilation in 'libgomp.c-c++-common/target-45.c', 'libgomp.fortran/target10.f90'. gcc/ * config/i386/i386-options.c (ix86_omp_device_kind_arch_isa) <omp_device_arch> [ACCEL_COMPILER]: Match "intel_mic". * config/i386/t-omp-device (omp-device-properties-i386) <arch>: Add "intel_mic". libgomp/ * testsuite/lib/libgomp.exp (check_effective_target_offload_target_intelmic): Remove 'proc'. (check_effective_target_offload_device_intel_mic): New 'proc'. * testsuite/libgomp.c-c++-common/on_device_arch.h (device_arch_intel_mic, on_device_arch_intel_mic): New. * testsuite/libgomp.c-c++-common/target-45.c: Use that for 'dg-xfail-run-if'. * testsuite/libgomp.fortran/target10.f90: Likewise.
Diffstat (limited to 'gcc')
-rw-r--r--gcc/config/i386/i386-options.c4
-rw-r--r--gcc/config/i386/t-omp-device2
2 files changed, 5 insertions, 1 deletions
diff --git a/gcc/config/i386/i386-options.c b/gcc/config/i386/i386-options.c
index 6b78998..fee5a48 100644
--- a/gcc/config/i386/i386-options.c
+++ b/gcc/config/i386/i386-options.c
@@ -304,6 +304,10 @@ ix86_omp_device_kind_arch_isa (enum omp_device_kind_arch_isa trait,
case omp_device_kind:
return strcmp (name, "cpu") == 0;
case omp_device_arch:
+#ifdef ACCEL_COMPILER
+ if (strcmp (name, "intel_mic") == 0)
+ return 1;
+#endif
if (strcmp (name, "x86") == 0)
return 1;
if (TARGET_64BIT)
diff --git a/gcc/config/i386/t-omp-device b/gcc/config/i386/t-omp-device
index 037ae5e1..29350a1 100644
--- a/gcc/config/i386/t-omp-device
+++ b/gcc/config/i386/t-omp-device
@@ -1,6 +1,6 @@
omp-device-properties-i386: $(srcdir)/config/i386/i386-options.c
echo kind: cpu > $@
- echo arch: x86 x86_64 i386 i486 i586 i686 ia32 >> $@
+ echo arch: intel_mic x86 x86_64 i386 i486 i586 i686 ia32 >> $@
echo isa: sse4 `sed -n '/^static struct ix86_target_opts isa2\?_opts\[\] =/,/^};/p' \
$(srcdir)/config/i386/i386-options.c | \
sed -n 's/",.*$$//;s/^ { "-m//p'` >> $@