Rainer Orth <[email protected]> writes:
> Hi Andi,
>
>> On Wed, Dec 17, 2025 at 02:04:43PM +0100, Rainer Orth wrote:
>>> Here's the adjusted patch:
>>>
>>> Rather than skipping the gcc.target/i386/shift-gf2p8affine-2.c test on
>>> Solaris with as, it should require the necessary ISA extensions instead.
>>>
>>> Tested on i386-pc-solaris2.11 (as and gas), x86_64-apple-darwin17.7.0,
>>> and x86_64-pc-linux-gnu.
>>>
>>> Ok for trunk?
>>>
>>> I won't assume this is obvious any longer ;-)
>>
>> It would under test because effective-target is for runtime, so
>> if the assembler supports it and the CPU doesn't it would wrongly
>> reject.
>
> you don't seem to have read what I wrote:
>
> * The runtime part is dealt with by test itself using
>
> if (!__builtin_cpu_supports ("gfni"))
> return 0;
>
> * I have no idea where you get the idea that effective-target keywords
> are for runtime. As I mentioned, the implementation in
> target-supports.exp is
>
> # Return 1 if gfni instructions can be compiled.
> proc check_effective_target_gfni { } {
> return [check_no_compiler_messages gfni object {
> typedef char __v16qi __attribute__ ((__vector_size__ (16)));
>
> __v16qi
> _mm_gf2p8affineinv_epi64_epi8 (__v16qi __A, __v16qi __B, const int __C)
> {
> return (__v16qi) __builtin_ia32_vgf2p8affineinvqb_v16qi ((__v16qi)
> __A,
> (__v16qi)
> __B,
> 0);
> }
> } "-mgfni" ]
> }
>
> This is a test if the code above can be *assembled* (see the object
> part above), no runtime check involved.
>
>> We don't really have a effective-assembler-target, but it would be the
>> right thing to have here.
>
> You're certainly wrong here. Please check the facts first.
given that Andi's concerns are unfounded, I've now committed the patch.
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University