diff options
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); |