[PATCH][PING] Expand lrint inline for x86_64/i?86 SSE math

Richard Guenther rguenther@suse.de
Wed Oct 25 13:30:00 GMT 2006


On Tue, 24 Oct 2006, Roger Sayle wrote:

> 
> Hi Richard,
> 
> On Tue, 24 Oct 2006, Richard Guenther wrote:
> > 2006-08-23  Richard Guenther  <rguenther@suse.de>
> >
> > 	* optabs.h (enum optab_index): Remove OTI_lrint.
> > 	(enum convert_optab_index): Add COI_lrint.
> > 	(lrint_optab): Adjust.
> > 	(expand_sfix_optab): Declare.
> > 	* optabs.c (expand_sfix_optab): New function.
> > 	(init_optabs): Init lrint_optab as conversion optab.
> > 	* genopinit.c (lrint_optab): Change to a conversion optab.
> > 	* builtins.c (expand_builtin_int_roundingfn_2): Adjust to
> > 	expansion via conversion optab.
> > 	* config/i386/i386.md (*fistdi2_1): Remove
> > 	flag_unsafe_math_optimizations guard.
> > 	(fistdi2, fistdi2_with_temp, *fist<mode>2_1, fist<mode>2,
> > 	fist<mode>2_with_temp): Likewise.
> > 	(lrint<mode>2): Split into...
> > 	(lrintxf<mode>2): ... x87 part
> > 	(lrint<mode>di2, lrint<mode>si2): ... and SSE parts.
> > 	* config/i386/sse.md (sse_cvtss2si_2, sse_cvtss2_siq_2,
> > 	sse2_cvtsd2si_2, sse2_cvtsd2siq_2): New insns for
> > 	UNSPEC_FIX_NOTRUNC matching non-vector float modes.
> > 	* doc/md.texi (lrintMN2): Document.
> >
> > 	* gcc.target/i386/math-torture/math-torture.exp: Torture
> > 	for interesting ia32 math options.
> > 	* gcc.target.i386/math-torture/lrint.c: New testcase.
> 
> Many thanks for taking the time to refresh and repost this patch
> series, now that we're back in stage1.  This one is OK for mainline.
> 
> The new math-torture.exp looks reasonable, but not I'm not a
> testsuite expert, so I'll provisionally approve the new directory
> but be prepared to make any changes/improvements requested by
> Janis.  If you're not confident with the new .exp file, feel
> free to hold off commiting the new tests until you get a more
> authorative opinion.

I'm holding off the testsuite bits as I figured out I also need to
fiddle with the i386.exp file.  I will resend the testsuite bits
separately.

Richard.



More information about the Gcc-patches mailing list