gcc/gcc ChangeLog config/i386/i386-protos.h co ...

uros@gcc.gnu.org uros@gcc.gnu.org
Wed Dec 8 06:50:00 GMT 2004


CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	uros@gcc.gnu.org	2004-12-08 06:50:58

Modified files:
	gcc            : ChangeLog 
	gcc/config/i386: i386-protos.h i386.c i386.md predicates.md 

Log message:
	* config/i386/i386-protos.h (ix86_split_fp_branch): New rtx
	argument.
	
	* config/i386/i386.c (output_fp_compare): Fix is_sse condition.
	Use EFLAGS_P only when fcomi insn should be used. Fix handling
	of eflags_p variable. Change alt table accordingly. For non-fcomi
	compare insn always use trailing fnstsw insn. Fix intmode
	calculation for ficom insn.
	(ix86_split_fp_branch): Add "rtx pushed" as new parameter. Call
	ix86_free_from_memory when "pushed" is specified.
	(ix86_expand_branch): Change call to ix86_split_fp_branch.
	
	* config/i386/i386.md (*cmpfp_0_sf, *cmpfp_0_df, *cmpfp_0_xf):
	Change eflags_p parameter in call to output_fp_compare.
	(*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf): Remove.
	(*cmpfp_2_sf_1, *cmpfp_2_df_1, *cmpfp_2_xf_1): Rename to
	*cmpfp_2_sf, *cmpfp_2_df, *cmpfp_2_xf.  Change eflags_p
	parameter in call to output_fp_compare.
	(*cmpfp_2_u): Remove.
	(*cmpfp_2_u_1): Rename to *cmpfp_2_u. Change eflags_p parameter
	in call to output_fp_compare.
	(*ficom_1): Remove insn definition and corresponding define_split.
	(*cmpfp_si): New insn definition.
	(*fp_jcc_8): New insn definition. Add new splitters for
	"memory_operand" and "register_operand".
	(define_split): Add new parameter in call to ix86_split_fp_branch.
	
	config/i386/predicates.md (float_operator): New predicate.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.6744&r2=2.6745
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386-protos.h.diff?cvsroot=gcc&r1=1.120&r2=1.121
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.c.diff?cvsroot=gcc&r1=1.748&r2=1.749
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/i386.md.diff?cvsroot=gcc&r1=1.566&r2=1.567
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/i386/predicates.md.diff?cvsroot=gcc&r1=1.5&r2=1.6



More information about the Gcc-cvs mailing list