Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,}. Ready push to trunk.
gcc/ChangeLog: PR target/118489 * config/i386/sse.md (VF1_AVX512BW): Fix typo. gcc/testsuite/ChangeLog: * gcc.target/i386/pr118489.c: New test. --- gcc/config/i386/sse.md | 2 +- gcc/testsuite/gcc.target/i386/pr118489.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 gcc/testsuite/gcc.target/i386/pr118489.c diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index f8f2ba324ac..14617786aaa 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -540,7 +540,7 @@ (define_mode_iterator VF1_AVX512VL [(V16SF "TARGET_EVEX512") (V8SF "TARGET_AVX512VL") (V4SF "TARGET_AVX512VL")]) (define_mode_iterator VF1_AVX512BW - [(V16SF "TARGET_EVEX512 && TARGET_EVEX512") (V8SF "TARGET_AVX2") V4SF]) + [(V16SF "TARGET_AVX512BW && TARGET_EVEX512") (V8SF "TARGET_AVX2") V4SF]) (define_mode_iterator VF1_AVX10_2 [(V16SF "TARGET_AVX10_2_512") V8SF V4SF]) diff --git a/gcc/testsuite/gcc.target/i386/pr118489.c b/gcc/testsuite/gcc.target/i386/pr118489.c new file mode 100644 index 00000000000..6d8503b1671 --- /dev/null +++ b/gcc/testsuite/gcc.target/i386/pr118489.c @@ -0,0 +1,9 @@ +/* { dg-do compile } */ +/* { dg-options "-mavx512f -O2 -ffinite-math-only " } */ + +typedef float v16sf __attribute__((vector_size(64))); +__attribute__((__vector_size__(16 * sizeof(__bf16)))) __bf16 foo3_mem_a; +v16sf foo3_mem() +{ + return __builtin_convertvector(foo3_mem_a, v16sf); +} -- 2.34.1