r274874 - in /branches/ibm/pcrel-trunk/gcc: Cha...

meissner@gcc.gnu.org meissner@gcc.gnu.org
Fri Aug 23 20:15:00 GMT 2019


Author: meissner
Date: Fri Aug 23 20:15:01 2019
New Revision: 274874

URL: https://gcc.gnu.org/viewcvs?rev=274874&root=gcc&view=rev
Log:
Add prefixed/pcrel support for all types.

2019-08-23  Michael Meissner  <meissner@linux.ibm.com>

	* config/rs6000/predicates.md (add_operand): Add support for the
	PADDI instruction.
	(non_add_cint_operand): Add support for the PADDI instruction.
	(lwa_operand): Add support for the PLWA instruction.
	(non_prefixed_mem_operand): New predicate.
	* config/rs6000/rs6000-protos.h (make_memory_non_prefixed): New
	declaration.
	* config/rs6000/rs6000.c (num_insns_constant_gpr): Add support for
	the PADDI instruction.
	(rs6000_adjust_vec_address): Add support for optimizing prefixed
	and pc-relative extracts with constant extraction elements.  Add a
	failure when we use pc-relative addressing and non-constant
	extraction elements.  Use SIGNED_16BIT_OFFSET_P.
	(quad_address_p): Add support for prefixed memory instructions.
	(mem_operand_gpr): Add support for prefixed memory instructions.
	Use SIGNED_16BIT_OFFSET_EXTRA_P.
	(mem_operand_ds_form): Add support for prefixed memory
	instructions.  Use SIGNED_16BIT_OFFSET_EXTRA_P.
	(rs6000_legitimate_offset_address_p): Add support for prefixed
	memory instructions.
	(rs6000_legitimate_address_p): Add support for prefixed memory
	instructions.
	(rs6000_mode_dependent_address): Add support for prefixed memory
	instructions.
	(make_memory_non_prefixed): New function.
	(prefixed_paddi_p): Fix thinkos in last patch.
	(rs6000_rtx_costs): Add support for the PADDI instruction.
	(rs6000_num_insns): Don't treat prefixed instructions as being
	slower because they have a larger length.
	(rs6000_insn_cost): Call rs6000_num_insns.
	* config/rs6000/rs6000.md (add<mode>3): Add support for the PADDI
	instruction.
	(movsi_low): Add support for the PADDI instruction.
	(movsi const int splitter): Add support for the PADDI
	instruction.
	(mov<mode>_64bit_dm): Add support for prefixed memory
	instructions. Split alternatives that had merged loading a
	constant with register moves.
	(movtd_64bit_nodm): Add support for prefixed memory instructions.
	(movdi_internal64): Add support for prefixed memory instructions.
	(movdi const int splitter): Add comment.
	(mov<mode>_ppc64): Add support for prefixed memory instructions.
	(stack_protect_setdi): Do not allow prefixed instructions.
	(stack_protect_testdi): Do not allow prefixed instructions.
	* config/rs6000/vsx.md (vsx_mov<mode>_64bit): Add support for
	prefixed memory instructions.


Modified:
    branches/ibm/pcrel-trunk/gcc/ChangeLog.meissner
    branches/ibm/pcrel-trunk/gcc/config/rs6000/predicates.md
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000-protos.h
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.c
    branches/ibm/pcrel-trunk/gcc/config/rs6000/rs6000.md
    branches/ibm/pcrel-trunk/gcc/config/rs6000/vsx.md



More information about the Gcc-cvs mailing list