testsuite: i386: Disable AVX512BW/DQ tests with Solaris/x86 as [PR123415]
Commit Message
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.
Ok for trunk?
Rainer
Comments
On Tue, Jan 6, 2026 at 5:04 PM Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>
> 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.
>
> Ok for trunk?
The patch LGTM.
However, AVX512 processors all support AVX512DQ/AVX512BW. This patch
is fine as a temporary solution, but in the long term it may cause
Solaris/x86 to lose many meaningful unit tests.
>
> Rainer
>
> --
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
>
>
> 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.
>
Hi Hongtao,
> On Tue, Jan 6, 2026 at 5:04 PM Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>>
>> 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.
>>
>> Ok for trunk?
>
> The patch LGTM.
thanks, committed with a slight change in comment wording.
> However, AVX512 processors all support AVX512DQ/AVX512BW. This patch
> is fine as a temporary solution, but in the long term it may cause
> Solaris/x86 to lose many meaningful unit tests.
Not really: I usually run Solaris/x86 tests with both as and gas. When
using the latter on an AVX512 CPU, the tests PASS just fine. Unless
it's reasonable to work around the as issues, that's the best we can do.
Rainer
On Mon, Jan 12, 2026 at 5:19 PM Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
>
> Hi Hongtao,
>
> > On Tue, Jan 6, 2026 at 5:04 PM Rainer Orth <ro@cebitec.uni-bielefeld.de> wrote:
> >>
> >> 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.
> >>
> >> Ok for trunk?
> >
> > The patch LGTM.
>
> thanks, committed with a slight change in comment wording.
>
> > However, AVX512 processors all support AVX512DQ/AVX512BW. This patch
> > is fine as a temporary solution, but in the long term it may cause
> > Solaris/x86 to lose many meaningful unit tests.
>
> Not really: I usually run Solaris/x86 tests with both as and gas. When
That's great!
> using the latter on an AVX512 CPU, the tests PASS just fine. Unless
> it's reasonable to work around the as issues, that's the best we can do.
>
> Rainer
>
> --
> -----------------------------------------------------------------------------
> Rainer Orth, Center for Biotechnology, Bielefeld University
# HG changeset patch
# Parent fdede8676ad94ee36d59d4223de6dbb9d239a9a0
testsuite: i386: Disable AVX512BW/DQ tests with Solaris as
@@ -11688,6 +11688,10 @@ proc check_effective_target_sha { } {
# Return 1 if avx512dq instructions can be compiled.
proc check_effective_target_avx512dq { } {
+ # PR target/123415: Solaris/x86 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 +11707,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