This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [patch] new portlet: cirrus-maverick


Hi Aldy,

> 2002-08-13  Aldy Hernandez  <aldyh@redhat.com>
> 
> 	* config/arm/arm.h (TARGET_CPU_armmaverick): New.
> 	Check TARGET_CPU_DEFAULT for maverick.
> 	(CPP_CPU_ARCH_SPEC): Add support for maverick.
> 	(MAVERICK_FIX_INVALID_INSNS): New macro.
> 	(TARGET_ANY_HARD_FLOAT): Same.
> 	(TARGET_MAVERICK): Same.
> 	(TARGET_MAVERICK_FIX_INVALID_INSNS): Same.
> 	(TARGET_SWITCHES): Add maverick-fix-invalid-insns,
> 	no-maverick-fix-invalid-insns.
> 	(floating_point_type): Add FP_MAVERICK.
> 	(FLOAT_WORDS_BIG_ENDIAN): Adjust for maverick.
> 	(CONDITIONAL_REGISTER_USAGE): Same.
> 	(FIRST_MAVERICK_FP_REGNUM): New.
> 	(LAST_MAVERICK_FP_REGNUM): New.
> 	(IS_MAVERICK_REGNUM): New.
> 	(FIRST_PSEUDO_REGISTER): Change to 43.
> 	(reg_class): Add MAVERICK_REGS.
> 	(REG_CLASS_NAMES): Same.
> 	(REG_CLASS_CONTENTS): Same.
> 	(REG_CLASS_FROM_LETTER): Add 'v'.
> 	(EXTRA_CONSTRAINT_ARM): Add 'T'.
> 	(SECONDARY_INPUT_RELOAD_CLASS): Disallow constants in Maverick
> 	registers.
> 	(ARM_LEGITIMIZE_RELOAD_ADDRESS): Adjust for maverick.
> 	(CLASS_MAX_NREGS): Same.
> 	(REGISTER_MOVE_COST): Same.
> 	(LIBCALL_VALUE): Same.
> 	(FUNCTION_VALUE_REGNO_P): Same.
> 	(ARM_GO_IF_LEGITIMATE_INDEX): Same.
> 	(CLASS_CANNOT_CHANGE_MODE): New.
> 	(CLASS_CANNOT_CHANGE_MODE_P): New.
> 	(PREDICATE_CODES): Add maverick_fp_register, maverick_shift_const,
> 	maverick_register_operand.
> 
> 	* config/arm/arm.c (FL_MAVERICK): New.
> 	New global arm_is_maverick.
> 	(all_cores): Change arm9e to armmaverick.
> 	(all_architectures): Add armmaverick.
> 	(arm_override_options): Adjust for maverick.
> 	(arm_select_cc_mode): Same.
> 	(maverick_memory_offset): New.
> 	(maverick_register_operand): New.
> 	(maverick_fp_register): New.
> 	(maverick_shift_const): New.
> 	(is_load_address): New.
> 	(is_maverick_insn): New.
> 	(maverick_reorg): New.
> 	(arm_reorg): Reorg maverick insns.
> 	(arm_print_operand): Add 's'.
> 
> 	* config/arm/arm.md: New function units maverick_fpa.
> 	New attribute maverick.
> 	(adddi3): Adjust for maverick.
> 
> 	Disallow all DI patterns for maverick.
> 
> 	Change float SF patterns to expanders.  Rename patterns to
> 	*arm_blah.  Add a corresponding maverick pattern.
> 	
> 	New patterns: maverick_adddi3, *maverick_addsi3, *maverick_addsf3,
> 	*maverick_adddf3, maverick_subdi3, *maverick_subsi3_insn,
> 	*maverick_subsf3, *maverick_subdf3, *maverick_mulsi3, muldi3,
> 	*maverick_mulsi3addsi, *maverick_mulsi3subsi, *maverick_mulsf3,
> 	*maverick_muldf3, *maverick_ashl_const, *maverick_ashiftrt_const,
> 	*maverick_ashlsi3, *maverick_ashldi3, *maverick_ashldi_const,
> 	*maverick_ashiftrtdi_const, *maverick_ashldi3, *maverick_ashldi_const,
> 	*maverick_ashiftrtdi_const, *maverick_negdi2, *maverick_negsi2,
> 	"*maverick_negsf2, *arm_negdf2, *maverick_negdf2, *maverick_abssi2,
> 	*maverick_abssf2, *maverick_absdf2, *maverick_floatsisf2,
> 	*maverick_floatsidf2, floatdisf2, floatdidf2, *maverick_truncdfsi2,
> 	*maverick_truncdfsf2, *maverick_extendsfdf2, *maverick_arm_movdi,
> 	*maverick_arm_movsi_insn, *maverick_movsf_hard_insn,
> 	*maverick_movdf_hard_insn, *maverick_cmpsf, *maverick_cmpdf, cmpdi,
> 	*maverick_cmpdi, *maverick_cmpsi_1.
> 
> 	Add v constraint to call_value_reg, call_value_mem,
> 	call_value_symbol, *sibcall_value_insn.
> 
> 	* config/arm/arm-protos.h: Add prototypes for maverick_fp_register,
> 	maverick_general_operand, maverick_register_operand,
> 	maverick_shift_const, maverick_memory_offset.
> 
> 	* gcc/doc/invoke.texi (ARM Options): Document
> 	maverick-fix-invalid-insns and no-maverick-fix-invalid-insns.
> 
> 	* config/arm/aout.h (ADDITIONAL_REGISTER_NAMES): Add maverick
> 	registers.
> 	(REGISTER_NAMES): Same.
> 
> 	* config/arm/t-maverick-elf: New.
> 
> 	* config.gcc: Add support for armmaverick.

Approved by me as well - please apply.

Cheers
        Nick


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]