[Mechanical Patch ARM/AArch64 1/2] Rename load/store scheduling types to encode data size
James Greenhalgh
james.greenhalgh@arm.com
Wed Jun 21 10:50:00 GMT 2017
On Mon, Jun 12, 2017 at 03:28:52PM +0100, Kyrill Tkachov wrote:
>
> On 12/06/17 14:53, James Greenhalgh wrote:
> >Hi,
> >
> >In the AArch64 backend and scheduling models there is some confusion as to
> >what the load1/load2 etc. scheduling types refer to. This leads to us using
> >load1/load2 in two contexts - for a variety of 32-bit, 64-bit and 128-bit
> >loads in AArch32 and 128-bit loads in AArch64. That leads to an undesirable
> >confusion in scheduling.
> >
> >Fixing it is easy, but mechanical and boring. Essentially,
> >
> > s/load1/load_4/
> > s/load2/load_8/
> > s/load3/load_12/
> > s/load4/load_16/
> > s/store1/store_4/
> > s/store2/store_8/
> > s/store3/store_12/
> > s/store4/store_16/
>
> So the number now is the number of bytes being loaded?
>
> >Across all sorts of pipeline models, and the two backends.
> >
> >I have intentionally not modified any of the patterns which now look obviously
> >incorrect. I'll be doing a second pass over the AArch64 back-end in patch
> >2/2 which will fix these bugs. The AArch32 back-end looked to me to get this
> >correct.
> >
> >Bootstrapped on AArch64 and ARM without issue - there's no functional
> >change here.
> >
> >OK?
>
> Ok from an arm perspective.
*Ping* for the AArch64 maintainers.
Thanks,
James
More information about the Gcc-patches
mailing list