[gcc r16-6703] testsuite: i386: Disable AVX512BW/DQ tests with Solaris/x86 as [PR123415]
Rainer Orth
ro@gcc.gnu.org
Mon Jan 12 08:15:40 GMT 2026
https://gcc.gnu.org/g:7dd62fcef1b49d65e9ed34c02564fba7291d4de6
commit r16-6703-g7dd62fcef1b49d65e9ed34c02564fba7291d4de6
Author: Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
Date: Mon Jan 12 09:15:16 2026 +0100
testsuite: i386: Disable AVX512BW/DQ tests with Solaris/x86 as [PR123415]
Several AVX512BW and AVX512DQ tests FAIL on Solaris/x86 with the native
assembler. As detailed in the PR, this is for two reasons:
* Due to a misunderstanding, %k0 isn't accepted as source or destination
register of some insns.
* {sae} is considered implicit for some insns, so specifying it
explicitly was deemed unnecessary.
It's unclear if and when this will be fixed, so avx512bw and avx512dq
tests are disabled for now.
Tested on i386-pc-solaris2.11 and x86_64-pc-linux-gnu.
2025-12-23 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
gcc/testsuite:
PR target/123415
* lib/target-supports.exp (check_effective_target_avx512dq):
Disable with Solaris/x86 as.
(check_effective_target_avx512bw): Likewise.
Diff:
---
gcc/testsuite/lib/target-supports.exp | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gcc/testsuite/lib/target-supports.exp b/gcc/testsuite/lib/target-supports.exp
index 46c9b624254f..2b450669c3d3 100644
--- a/gcc/testsuite/lib/target-supports.exp
+++ b/gcc/testsuite/lib/target-supports.exp
@@ -11688,6 +11688,11 @@ proc check_effective_target_sha { } {
# Return 1 if avx512dq instructions can be compiled.
proc check_effective_target_avx512dq { } {
+ # PR target/123415: In addition to the %k0 issue also affecting avx512bw,
+ # Solaris/x86 as doesn't accept {sae} syntax.
+ if { [istarget *-*-solaris2*] && ![check_effective_target_gas] } {
+ return 0;
+ }
return [check_no_compiler_messages avx512dq object {
typedef long long __v8di __attribute__ ((__vector_size__ (64)));
__v8di
@@ -11703,6 +11708,11 @@ proc check_effective_target_avx512dq { } {
# Return 1 if avx512bw instructions can be compiled.
proc check_effective_target_avx512bw { } {
+ # PR target/123415: Solaris/x86 doesn't accept %k0 as source/destination
+ # in some cases.
+ if { [istarget *-*-solaris2*] && ![check_effective_target_gas] } {
+ return 0;
+ }
return [check_no_compiler_messages avx512bw object {
typedef short __v32hi __attribute__ ((__vector_size__ (64)));
__v32hi
More information about the Gcc-cvs
mailing list