[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