https://gcc.gnu.org/g:3872daa5767622d1f8b086050996c85604db7514
commit r15-6940-g3872daa5767622d1f8b086050996c85604db7514 Author: liuhongt <hongtao....@intel.com> Date: Wed Jan 15 19:09:24 2025 -0800 Fix typo to avoid ICE. gcc/ChangeLog: PR target/118489 * config/i386/sse.md (VF1_AVX512BW): Fix typo. gcc/testsuite/ChangeLog: * gcc.target/i386/pr118489.c: New test. Diff: --- gcc/config/i386/sse.md | 2 +- gcc/testsuite/gcc.target/i386/pr118489.c | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index f8f2ba324ac9..14617786aaa5 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -540,7 +540,7 @@ [(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 000000000000..6d8503b16711 --- /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); +}