[Bug optimization/12630] [3.4 regression] Various unrecognizable insns and ICEs at -O3

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Sat Nov 8 20:36:00 GMT 2003


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2003-11-08 20:36 -------
Subject: Bug 12630

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	danglin@gcc.gnu.org	2003-11-08 20:36:30

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

Log message:
	PR optimization/12630
	* pa.c (compute_movstrsi_length): Rename to compute_movstr_length.
	Handle length computation 64-bit moves.
	(compute_clrstr_length, output_block_clear): Implement block clear.
	(output_block_move): Handle 64-bit moves.
	(pa_adjust_insn_length): Use compute_movstr_length and
	compute_clrstr_length.
	* pa.md (movstrsi): Revise operand order and comments.  Don't use
	match_scratch.
	(movstrsi_internal): Delete.
	(movstrsi_prereload, movstrsi_postreload): New insns.  Define splitter
	and peephole2 patterns to transform prereload to postreload form.
	(movstrdi, movstrdi_prereload, movstrdi_postreload, clrstrsi,
	clrstrsi_prereload, clrstrsi_postreload, clrstrdi, clrstrdi_prereload,
	clrstrdi_postreload): New patterns for 64-bit block move, and block
	clear.
	* pa-protos.h (output_block_clear): New prototype.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.1704&r2=2.1705
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/pa/pa.c.diff?cvsroot=gcc&r1=1.231&r2=1.232
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/pa/pa.md.diff?cvsroot=gcc&r1=1.133&r2=1.134
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/pa/pa-protos.h.diff?cvsroot=gcc&r1=1.27&r2=1.28



-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12630



More information about the Gcc-bugs mailing list