[PATCH] PowerPC address support clean, patch 1 of 4

Michael Meissner meissner@linux.ibm.com
Thu May 10 22:00:00 GMT 2018


On Wed, May 09, 2018 at 05:54:53PM -0500, Segher Boessenkool wrote:
> Hi Mike,
> 
> On Thu, May 03, 2018 at 01:17:03PM -0400, Michael Meissner wrote:
> > 2018-05-03  Michael Meissner  <meissner@linux.vnet.ibm.com>
> > 
> > 	* config/rs6000/rs6000.c (mode_supports_dq_form): Rename
> > 	mode_supports_vsx_dform_quad to mode_supports_dq_form.
> > 	(mode_supports_vsx_dform_quad): Likewise.
> > 	(quad_address_p): Likewise.
> > 	(reg_offset_addressing_ok_p): Likewise.
> > 	(offsettable_ok_by_alignment): Likewise.
> > 	(rs6000_legitimate_offset_address_p): Likewise.
> > 	(legitimate_lo_sum_address_p): Likewise.
> > 	(rs6000_legitimize_address): Likewise.
> > 	(rs6000_legitimize_reload_address): Likewise.
> > 	(rs6000_secondary_reload_inner): Likewise.
> > 	(rs6000_preferred_reload_class): Likewise.
> > 	(rs6000_output_move_128bit): Likewise.
> 
> 	* config/rs6000/rs6000.c (mode_supports_vsx_dform_quad): Rename to ...
> 	(mode_supports_dq_form): ... this.  Update all callers.
> 
> 
> > --- gcc/config/rs6000/rs6000.c	(revision 259864)
> > +++ gcc/config/rs6000/rs6000.c	(working copy)
> > @@ -649,7 +649,7 @@ mode_supports_vmx_dform (machine_mode mo
> >     is more limited than normal d-form addressing in that the offset must be
> >     aligned on a 16-byte boundary.  */
> >  static inline bool
> > -mode_supports_vsx_dform_quad (machine_mode mode)
> > +mode_supports_dq_form (machine_mode mode)
> >  {
> >    return ((reg_addr[mode].addr_mask[RELOAD_REG_ANY] & RELOAD_REG_QUAD_OFFSET)
> >  	  != 0);
> 
> Will this eventually handle all DQ-form, not just vector?  Is it supposed
> to?

Other than LQ (and LTPTR which GCC doesn't generate), all dq-form instructions
load/store VSX registers.  The problem is GCC will not generate LQ on little
endian systems because the registers are loaded in a big endian fashion.

It was more given we now have mode_supports_d_form and mode_supports_ds_form, I
was just making the name similar.

-- 
Michael Meissner, IBM
IBM, M/S 2506R, 550 King Street, Littleton, MA 01460-6245, USA
email: meissner@linux.ibm.com, phone: +1 (978) 899-4797



More information about the Gcc-patches mailing list