gcc/gcc ChangeLog config/rs6000/rs6000.h confi ...
aldyh@gcc.gnu.org
aldyh@gcc.gnu.org
Fri Jan 14 21:22:00 GMT 2005
CVSROOT: /cvs/gcc
Module name: gcc
Changes by: aldyh@gcc.gnu.org 2005-01-14 21:22:15
Modified files:
gcc : ChangeLog
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.diff?cvsroot=gcc&r1=2.7127&r2=2.7128
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.h.diff?cvsroot=gcc&r1=1.350&r2=1.351
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.c.diff?cvsroot=gcc&r1=1.777&r2=1.778
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/rs6000.md.diff?cvsroot=gcc&r1=1.340&r2=1.341
http://gcc.gnu.org/cgi-bin/cvsweb.cgi/gcc/gcc/config/rs6000/spe.md.diff?cvsroot=gcc&r1=1.29&r2=1.30
More information about the Gcc-cvs
mailing list