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