egcs/gcc ChangeLog config/i386/i386.c config/i ...

hubicka@gcc.gnu.org hubicka@gcc.gnu.org
Tue Jan 18 07:25:00 GMT 2000


CVSROOT:	/cvs/gcc
Module name:	egcs
Changes by:	hubicka@sourceware.cygnus.com	00/01/18 07:25:05

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

Log message:
	* i386.md (memstr): Do not use rep stosb for counts divisible by 4
	when optimize_size.
	(clrstrsi): Rewrite.
	(strsethi, strsetqi): New expanders.
	(strsethi_1, strsetqi_1, rep_stossi, rep_stosqi): New insn patterns.
	(cmpstrsi): Emit compare insn before cmpstrsi_1
	(cmpstrsi_nz): use flags, set type to str, prefix_length to 1.
	(strlensi_1): Likewise.
	(cmpstrsi_1): Likewise; do not output compare.
	(strlen expander): Do not unroll when optimizing for size.
	(*subsi3_carry): Rename to subsi3_carry
	(addqi3_cc): New pattern.
	* i386.h (processor_costs): Add move_ratio field.
	(MOVE_RATIO): Use move_ratio field, set to 3 for OPTIMIZE_SIZE
	* i386.c (*_cost): Set move_ratio.
	(x86_unroll_strlen): Enable for Athlon, PPro and K6 too.
	(x86_expand_strlensi_1): Rewrite the main loop.



More information about the Gcc-cvs mailing list