From 21ff6d066ef5e0d7a04faa2c8e0c94f119e38936 Mon Sep 17 00:00:00 2001 From: rguenth Date: Tue, 27 Mar 2018 13:26:04 +0000 Subject: [PATCH] 2018-03-27 Richard Biener PR testsuite/82847 * lib/target-supports.exp (check_ssse3_available): New function. (check_effective_target_vect_perm_short): Enable for x86 if check_ssse3_available. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@258882 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/testsuite/ChangeLog | 7 +++++++ gcc/testsuite/lib/target-supports.exp | 15 +++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 06d08aaa538..00f16535f22 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,5 +1,12 @@ 2018-03-27 Richard Biener + PR testsuite/82847 + * lib/target-supports.exp (check_ssse3_available): New function. + (check_effective_target_vect_perm_short): Enable for x86 if + check_ssse3_available. + +2018-03-27 Richard Biener + PR tree-optimization/85082 * gfortran.dg/pr85082.f90: New testcase. diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp index 55e726909d5..3bd2142f6e7 100644 --- a/gcc/testsuite/lib/target-supports.exp +++ b/gcc/testsuite/lib/target-supports.exp @@ -5828,6 +5828,8 @@ proc check_effective_target_vect_perm_short { } { && ![check_effective_target_vect_variable_length]) || [istarget powerpc*-*-*] || [istarget spu-*-*] + || (([istarget i?86-*-*] || [istarget x86_64-*-*] + && [check_ssse3_available])) || ([istarget mips*-*-*] && [et-is-effective-target mips_msa]) || ([istarget s390*-*-*] @@ -8017,6 +8019,19 @@ proc check_avx_available { } { return 0; } +# Return true if we are compiling for SSSE3 target. + +proc check_ssse3_available { } { + if { [check_no_compiler_messages sse3a_available assembly { + #ifndef __SSSE3__ + #error unsupported + #endif + } ""] } { + return 1; + } + return 0; +} + # Return true if 32- and 16-bytes vectors are available. proc check_effective_target_vect_sizes_32B_16B { } { -- 2.11.4.GIT