aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJulia Koval <julia.koval@intel.com>2015-11-11 12:40:50 +0100
committerKirill Yukhin <kyukhin@gcc.gnu.org>2015-11-11 11:40:50 +0000
commit28746a50fcda453ed3f590140e017da0263172fc (patch)
tree45d111478dd1c4bf50a49c8c294533ae23678e14
parentc81897872d9e448830b0e2cc520fef538eeb347c (diff)
downloadgcc-28746a50fcda453ed3f590140e017da0263172fc.zip
gcc-28746a50fcda453ed3f590140e017da0263172fc.tar.gz
gcc-28746a50fcda453ed3f590140e017da0263172fc.tar.bz2
Fix target arch attribute for Skylake.
gcc/ * config/i386/i386.c: Handle "skylake" and "skylake-avx512". gcc/testsuite/ * g++.dg/ext/mv16.C: New functions. From-SVN: r230153
-rw-r--r--gcc/ChangeLog5
-rw-r--r--gcc/config/i386/i386.c6
-rw-r--r--gcc/testsuite/ChangeLog4
-rw-r--r--gcc/testsuite/g++.dg/ext/mv16.C18
4 files changed, 32 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 13ed0d8..c621b1c 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,8 @@
+2015-11-11 Julia Koval <julia.koval@intel.com>
+
+ * config/i386/i386.c: Handle "skylake" and
+ "skylake-avx512".
+
2015-11-11 Martin Liska <mliska@suse.cz>
* gimple-ssa-strength-reduction.c (create_phi_basis):
diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c
index 9205d49..2fab5ca 100644
--- a/gcc/config/i386/i386.c
+++ b/gcc/config/i386/i386.c
@@ -36108,7 +36108,11 @@ get_builtin_code_for_version (tree decl, tree *predicate_list)
priority = P_PROC_AVX;
break;
case PROCESSOR_HASWELL:
- if (new_target->x_ix86_isa_flags & OPTION_MASK_ISA_ADX)
+ if (new_target->x_ix86_isa_flags & OPTION_MASK_ISA_AVX512VL)
+ arg_str = "skylake-avx512";
+ else if (new_target->x_ix86_isa_flags & OPTION_MASK_ISA_XSAVES)
+ arg_str = "skylake";
+ else if (new_target->x_ix86_isa_flags & OPTION_MASK_ISA_ADX)
arg_str = "broadwell";
else
arg_str = "haswell";
diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog
index 59cae93..7862991 100644
--- a/gcc/testsuite/ChangeLog
+++ b/gcc/testsuite/ChangeLog
@@ -1,3 +1,7 @@
+2015-11-11 Julia Koval <julia.koval@intel.com>
+
+ * g++.dg/ext/mv16.C: New functions.
+
2015-11-11 Richard Biener <rguenth@gcc.gnu.org>
Jiong Wang <jiong.wang@arm.com>
diff --git a/gcc/testsuite/g++.dg/ext/mv16.C b/gcc/testsuite/g++.dg/ext/mv16.C
index 8992bfc..a3a0fe8 100644
--- a/gcc/testsuite/g++.dg/ext/mv16.C
+++ b/gcc/testsuite/g++.dg/ext/mv16.C
@@ -44,6 +44,18 @@ foo ()
return 12;
}
+int __attribute__ ((target("arch=broadwell"))) foo () {
+ return 13;
+}
+
+int __attribute__ ((target("arch=skylake"))) foo () {
+ return 14;
+}
+
+int __attribute__ ((target("arch=skylake-avx512"))) foo () {
+ return 15;
+}
+
int main ()
{
int val = foo ();
@@ -58,6 +70,12 @@ int main ()
assert (val == 9);
else if (__builtin_cpu_is ("haswell"))
assert (val == 12);
+ else if (__builtin_cpu_is ("broadwell"))
+ assert (val == 13);
+ else if (__builtin_cpu_is ("skylake"))
+ assert (val == 14);
+ else if (__builtin_cpu_is ("skylake-avx512"))
+ assert (val == 15);
else
assert (val == 0);