optimize_insn_for_speed () in assemble output is not aligned with splitter condition, and it cause an ICE when building SPEC2017 blender_r.
Not sure if ctrl is supposed to be reliable in assemble output, the patch just remove that as a walkaround. Bootstrapped and regtested on x86_64-pc-linux-gnu{-m32,} Ready to push to trunk. libpng/pngread.c: In function ‘png_read_image’: libpng/pngread.c:786:1: internal compiler error: in final_scan_insn_1, at final.cc:2813 786 | } | ^ 0x73ac3d final_scan_insn_1 ../../gcc/final.cc:2813 0xb3420b final_scan_insn(rtx_insn*, _IO_FILE*, int, int, int*) ../../gcc/final.cc:2887 0xb344c4 final_1 ../../gcc/final.cc:1979 0xb34f64 rest_of_handle_final ../../gcc/final.cc:4240 0xb34f64 execute ../../gcc/final.cc:4318 gcc/ChangeLog: PR target/110438 * config/i386/sse.md (<mask_codefor>one_cmpl<mode>2<mask_name>): Remove # from assemble output. --- gcc/config/i386/sse.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/gcc/config/i386/sse.md b/gcc/config/i386/sse.md index 6bf9c99a2c1..e1158c5717a 100644 --- a/gcc/config/i386/sse.md +++ b/gcc/config/i386/sse.md @@ -17220,10 +17220,6 @@ (define_insn_and_split "<mask_codefor>one_cmpl<mode>2<mask_name>" || <ssescalarmode>mode == SImode || <ssescalarmode>mode == DImode)" { - if (!<mask_applied> && which_alternative - && optimize_insn_for_speed_p ()) - return "#"; - if (TARGET_AVX512VL) return "vpternlog<ternlogsuffix>\t{$0x55, %1, %0, %0<mask_operand3>|%0<mask_operand3>, %0, %1, 0x55}"; else -- 2.39.1.388.g2fc9e9ca3c