On Tue, Aug 25, 2026 at 4:25 AM H.J. Lu <[email protected]> wrote: > > Remove *fix_trunc<mode>si_sse_zext and *fix_trunc<mode>si_sse_2_zext > since they do not zero-extend SImode to DImode, as CVTTSD2SI does > > IF 64-Bit Mode and OperandSize = 64 > THEN > DEST[63:0] := > Convert_Double_Precision_Floating_Point_To_Integer_Truncate(SRC[63:0]); > ELSE > DEST[31:0] := > Convert_Double_Precision_Floating_Point_To_Integer_Truncate(SRC[63:0]); > FI; > > and CVTTSS2SI does > > IF 64-Bit Mode and OperandSize = 64 > THEN > DEST[63:0] := > Convert_Single_Precision_Floating_Point_To_Integer_Truncate(SRC[31:0]); > ELSE > DEST[31:0] := > Convert_Single_Precision_Floating_Point_To_Integer_Truncate(SRC[31:0]); > FI; > > gcc/ > > PR target/127045 > * config/i386/i386.md (*fix_trunc<mode>si_sse_zext): Removed. > (*fix_trunc<mode>si_sse_2_zext): Likewise. > > gcc/testsuite/ > > PR target/127045 > * gcc.target/i386/pr127045.c: New test. > * gcc.target/i386/zext-sse-1.c (func1): Adjust expected codegen. > (func2): Likewise. > * gcc.target/i386/zext-sse-2.c (func1): Likewise. > (func2): Likewise.
OK. Thanks, Uros.
