gcc/gcc ChangeLog config/i386/i386.c config/i3 ...

sayle@gcc.gnu.org sayle@gcc.gnu.org
Sun Feb 16 01:35:00 GMT 2003


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	sayle@gcc.gnu.org	2003-02-16 01:35:38

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: i386.c i386-protos.h i386.md 
	gcc/testsuite  : ChangeLog 
Added files:
	gcc/testsuite/gcc.dg: i386-387-3.c 

Log message:
	2003-02-15  Roger Sayle  <roger@eyesopen.com>
	
	* config/i386/i386.c (x86_ext_80387_constants): Use 80387 insns
	to load mathematical constants on K6, Athlon, Pentium 4 and PPro.
	(ext_80387_constants_table): Global table of 80387 special constants
	guarded by ext_80387_constants_init flag when not initialized.
	(init_ext_80387_constants): New function to initialize this table.
	(standard_80387_constant_p): Extend to recognize extra 80387
	constants, in XFmode, on processors where this is a win.
	(standard_80387_constant_opcode): New function to return the
	opcode associated with standard_80387_constant_p.
	(standard_80387_constant_rtx): New function to return the XFmode
	CONST_DOUBLE associated with standard_80387_constant_p.
	(ix86_rtx_costs): Give the new constants the same cost as 1.0.
	
	* config/i386/i386-protos.h (standard_80387_constant_opcode):
	Prototype here.
	(standard_80387_constant_rtx): Likewise.
	
	* config/i386/i386.md (*movsf1, *movsf1_nointerunit, *movdf_nointeger,
	*movdf_integer, *movxf_nointeger, *movtf_nointeger, *movxf_integer,
	*movtf_integer): Simplify using new standard_80387_constant_opcode.
	
	* gcc.dg/i386-387-3.c: New test case.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=1.16749&r2=1.16750
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.536&r2=1.537
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&r1=1.93&r2=1.94
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.434&r2=1.435
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/ChangeLog.diff?cvsroot=gcc&r1=1.2412&r2=1.2413
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.dg/i386-387-3.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



More information about the Gcc-cvs mailing list