https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127045

--- Comment #8 from GCC Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by H.J. Lu <[email protected]>:

https://gcc.gnu.org/g:72cedd48e12af8cd500622b487de4354d61aeb24

commit r17-3621-g72cedd48e12af8cd500622b487de4354d61aeb24
Author: H.J. Lu <[email protected]>
Date:   Tue Aug 25 06:12:25 2026 +0800

    x86: Remove *fix_trunc<mode>si_sse_[2_]zext

    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.

    Signed-off-by: H.J. Lu <[email protected]>

Reply via email to