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.
This commit is contained in:
Rainer Orth
2026-01-12 09:15:16 +01:00
parent a2eb399ec1
commit 7dd62fcef1

View File

@@ -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