https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95256
Uroš Bizjak <ubizjak at gmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- Depends on| |95125 CC| |crazylht at gmail dot com --- Comment #3 from Uroš Bizjak <ubizjak at gmail dot com> --- This PR and PR95211 will be fixed by the for PR95125. Here, the offending pattern should be renamed to something like avx512dq_fix<fixunssuffix>_truncv2sfv2di2<mask_name> and an expander should be added: (define_expand "fix<fixunssuffix>_truncv2sfv2di2" [(set (match_operand:V2DI 0 "register_operand") (any_fix:V2DI (match_operand:V2SF 1 "nonimmediate_operand")))] "TARGET_AVX512DQ && TARGET_AVX512VL" { if (!MEM_P (operands[1])) { operands[1] = simplify_gen_subreg (V4SFmode, operands[1], V2SFmode, 0); emit_insn (gen_avx512dq_fix<fixunssuffix>_truncv2sfv2di2 (operands[0], operands[1])); DONE; } }) Referenced Bugs: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95125 [Bug 95125] Unoptimal code for vectorized conversions