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 <hjl.tools@gmail.com>
4 files changed