diff options
author | Julia Koval <julia.koval@intel.com> | 2015-11-11 12:40:50 +0100 |
---|---|---|
committer | Kirill Yukhin <kyukhin@gcc.gnu.org> | 2015-11-11 11:40:50 +0000 |
commit | 28746a50fcda453ed3f590140e017da0263172fc (patch) | |
tree | 45d111478dd1c4bf50a49c8c294533ae23678e14 /gcc | |
parent | c81897872d9e448830b0e2cc520fef538eeb347c (diff) | |
download | gcc-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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/config/i386/i386.c | 6 | ||||
-rw-r--r-- | gcc/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gcc/testsuite/g++.dg/ext/mv16.C | 18 |
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); |