Hello, This patch extends autogeneration of SI-2-SF conversions. Bootstrapped. AVX-512* tests on top of patch-set all pass under simulator.
Is it ok for trunk? gcc/ * config/i386/i386.c (ix86_expand_vector_convert_uns_vsivsf): Handle V16SI mode and TARGET_AVX512VL. -- Thanks, K diff --git a/gcc/config/i386/i386.c b/gcc/config/i386/i386.c index 7c34431..8a7853e 100644 --- a/gcc/config/i386/i386.c +++ b/gcc/config/i386/i386.c @@ -18811,6 +18811,19 @@ ix86_expand_vector_convert_uns_vsivsf (rtx target, rtx val) enum machine_mode fltmode = GET_MODE (target); rtx (*cvt) (rtx, rtx); + if (intmode == V16SImode) + { + emit_insn (gen_ufloatv16siv16sf2 (target, val)); + return; + } + if (TARGET_AVX512VL) + { + if (intmode == V4SImode) + emit_insn (gen_ufloatv4siv4sf2 (target, val)); + else + emit_insn (gen_ufloatv8siv8sf2 (target, val)); + return; + } if (intmode == V4SImode) cvt = gen_floatv4siv4sf2; else