[Bug target/19518] [alpha] unrecognizable insn (set (reg:V4HI) (const_vector:V4HI)) with builtins

cvs-commit at gcc dot gnu dot org gcc-bugzilla@gcc.gnu.org
Thu Jan 20 03:59:00 GMT 2005


------- Additional Comments From cvs-commit at gcc dot gnu dot org  2005-01-20 03:59 -------
Subject: Bug 19518

CVSROOT:	/cvs/gcc
Module name:	gcc
Changes by:	rth@gcc.gnu.org	2005-01-20 03:59:01

Modified files:
	gcc            : ChangeLog 
	gcc/config/alpha: alpha-protos.h alpha.c alpha.h alpha.md 
	                  predicates.md 
Added files:
	gcc/testsuite/gcc.target/alpha: alpha.exp pr19518.c 

Log message:
	PR target/19518
	* config/alpha/alpha.c (alpha_rtx_costs): Handle HIGH.
	(alpha_preferred_reload_class): Handle CONST_VECTOR.
	(alpha_emit_set_const_1): Add no_output parameter; don't emit
	rtl if true.
	(alpha_emit_set_const): Likewise.  Make static.
	(alpha_emit_set_long_const): Make static.
	(alpha_extract_integer): Split out from alpha_expand_mov.
	(alpha_split_const_mov): Likewise.
	(alpha_expand_mov): Use them.  Handle CONST_VECTOR.
	(alpha_legitimate_constant_p): New.
	* config/alpha/alpha-protos.h: Update.
	* config/alpha/alpha.h (REGISTER_MOVE_COST): Correct fp<->gp cost.
	(LEGITIMATE_CONSTANT_P): Re-implement with a function.
	* config/alpha/alpha.md (movsi): Add n alternative.
	(movsi_nt_vms, movdi_er_nofix, movdi_er_fix, movdi_fix): Likewise.
	(mov<VEC>_fix, mov<VEC>_nofix): Add i alternative.
	(splitters for all of the above): Use alpha_split_const_mov.
	* config/alpha/predicates.md (non_add_const_operand): New.
	(non_zero_const_operand): New.
	(input_operand): Use alpha_legitimate_constant_p after reload.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.diff?cvsroot=gcc&r1=2.7192&r2=2.7193
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha-protos.h.diff?cvsroot=gcc&r1=1.59&r2=1.60
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.c.diff?cvsroot=gcc&r1=1.407&r2=1.408
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.h.diff?cvsroot=gcc&r1=1.236&r2=1.237
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/alpha.md.diff?cvsroot=gcc&r1=1.231&r2=1.232
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/alpha/predicates.md.diff?cvsroot=gcc&r1=1.2&r2=1.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/alpha/alpha.exp.diff?cvsroot=gcc&r1=NONE&r2=1.1
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/testsuite/gcc.target/alpha/pr19518.c.diff?cvsroot=gcc&r1=NONE&r2=1.1



-- 


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



More information about the Gcc-bugs mailing list