]> git.ipfire.org Git - thirdparty/gcc.git/commit
i386: Fix up builtins used in avx512bf16vlintrin.h [PR108881]
authorJakub Jelinek <jakub@redhat.com>
Fri, 24 Feb 2023 09:12:44 +0000 (10:12 +0100)
committerJakub Jelinek <jakub@redhat.com>
Fri, 24 Feb 2023 09:12:44 +0000 (10:12 +0100)
commit0ccfa3884f638816af0f5a3f0ee2695e0771ef6d
treed5503a5a684a839c05b2c4a618a1a70f91c1c020
parentcab2636174feaec4f12fb8a2d09b1f8dd3bcdf3c
i386: Fix up builtins used in avx512bf16vlintrin.h [PR108881]

The builtins used in avx512bf16vlintrin.h implementation need both
avx512bf16 and avx512vl ISAs, which the header ensures for them, but
the builtins weren't actually requiring avx512vl, so when used by hand
with just -mavx512bf16 -mno-avx512vl it resulted in ICEs.

Fixed by adding OPTION_MASK_ISA_AVX512VL to their BDESC.

2023-02-24  Jakub Jelinek  <jakub@redhat.com>

PR target/108881
* config/i386/i386-builtin.def (__builtin_ia32_cvtne2ps2bf16_v16bf,
__builtin_ia32_cvtne2ps2bf16_v16bf_mask,
__builtin_ia32_cvtne2ps2bf16_v16bf_maskz,
__builtin_ia32_cvtne2ps2bf16_v8bf,
__builtin_ia32_cvtne2ps2bf16_v8bf_mask,
__builtin_ia32_cvtne2ps2bf16_v8bf_maskz,
__builtin_ia32_cvtneps2bf16_v8sf_mask,
__builtin_ia32_cvtneps2bf16_v8sf_maskz,
__builtin_ia32_cvtneps2bf16_v4sf_mask,
__builtin_ia32_cvtneps2bf16_v4sf_maskz,
__builtin_ia32_dpbf16ps_v8sf, __builtin_ia32_dpbf16ps_v8sf_mask,
__builtin_ia32_dpbf16ps_v8sf_maskz, __builtin_ia32_dpbf16ps_v4sf,
__builtin_ia32_dpbf16ps_v4sf_mask,
__builtin_ia32_dpbf16ps_v4sf_maskz): Require also
OPTION_MASK_ISA_AVX512VL.

* gcc.target/i386/avx512bf16-pr108881.c: New test.
gcc/config/i386/i386-builtin.def
gcc/testsuite/gcc.target/i386/avx512bf16-pr108881.c [new file with mode: 0644]