gcc/gcc ChangeLog.e500 config/rs6000/rs6000.h ...

aldyh@gcc.gnu.org aldyh@gcc.gnu.org
Fri Jan 14 21:27:00 GMT 2005


CVSROOT:	/cvs/gcc
Module name:	gcc
Branch: 	gcc-3_4-e500-branch
Changes by:	aldyh@gcc.gnu.org	2005-01-14 21:27:30

Modified files:
	gcc            : ChangeLog.e500 
	gcc/config/rs6000: rs6000.h rs6000.c rs6000.md spe.md 

Log message:
	* config/rs6000/rs6000.h (CLASS_MAX_NREGS): DF goes in 1 register
	on e500v2.
	(CANNOT_CHANGE_MODE_CLASS): Restrict DI mode changes on e500v2.
	(PREDICATE_CODES): Add rs6k_nonimmediate_operand.
	
	* config/rs6000/rs6000.c (invalid_e500_subreg): New.
	(rs6k_nonimmediate_operand): New.
	(rs6000_legitimate_offset_address_p): Handle DI modes on e500v2
	correctly.
	(legitimate_lo_sum_address_p): Same.
	(rs6000_legitimize_address): Same.
	(rs6000_legitimize_reload_address): Same.
	(rs6000_legitimate_address): Same.
	(spe_build_register_parallel): Pass DF and DC modes in a DI
	register.
	
	* config/rs6000/rs6000.md ("*movsi_internal1"): Change predicate
	to rs6k_nonimmediate_operand.
	
	* config/rs6000/spe.md ("*frob_df_di"): New.
	("*frob_di_df"): New.
	("*frob_di_df_2"): New.
	("*mov_sidf_e500_subreg0"): New.
	("*mov_sidf_e500_subreg4"): New.
	("*movdf_e500_double"): Change predicate to
	rs6k_nonimmediate_operand.

Patches:
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/ChangeLog.e500.diff?cvsroot=gcc&only_with_tag=gcc-3_4-e500-branch&r1=1.1.4.18&r2=1.1.4.19
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.h.diff?cvsroot=gcc&only_with_tag=gcc-3_4-e500-branch&r1=1.306.4.12.4.3&r2=1.306.4.12.4.4
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&only_with_tag=gcc-3_4-e500-branch&r1=1.576.2.32.4.6&r2=1.576.2.32.4.7
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-e500-branch&r1=1.284.4.13.4.2&r2=1.284.4.13.4.3
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/spe.md.diff?cvsroot=gcc&only_with_tag=gcc-3_4-e500-branch&r1=1.16.10.9.4.3&r2=1.16.10.9.4.4



More information about the Gcc-cvs mailing list