https://gcc.gnu.org/bugzilla/show_bug.cgi?id=96551
--- Comment #1 from Hongtao.liu <crazylht at gmail dot com> --- For `vec_unpacku_float_hi_v16si` `vec_unpacku_float_lo_v16si` --- diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index cf083ca28aa..2e60f596bc1 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -6973,7 +6973,7 @@ emit_insn (gen_vec_extract_hi_v16si (tmp[3], operands[1])); emit_insn (gen_floatv8siv8df2 (tmp[2], tmp[3])); - emit_insn (gen_rtx_SET (k, gen_rtx_LT (QImode, tmp[2], tmp[0]))); + ix86_expand_mask_vec_cmp (k, LT, tmp[2], tmp[0]); emit_insn (gen_addv8df3_mask (tmp[2], tmp[2], tmp[1], tmp[2], k)); emit_move_insn (operands[0], tmp[2]); DONE; @@ -7020,7 +7020,7 @@ k = gen_reg_rtx (QImode); emit_insn (gen_avx512f_cvtdq2pd512_2 (tmp[2], operands[1])); - emit_insn (gen_rtx_SET (k, gen_rtx_LT (QImode, tmp[2], tmp[0]))); + ix86_expand_mask_vec_cmp (k, LT, tmp[2], tmp[0]); emit_insn (gen_addv8df3_mask (tmp[2], tmp[2], tmp[1], tmp[2], k)); emit_move_insn (operands[0], tmp[2]); DONE; ---