Details
Diff Detail
- Repository
- rL LLVM
Event Timeline
lib/Target/AArch64/SVEInstrFormats.td | ||
---|---|---|
1153 ↗ | (On Diff #146095) | Please add Sched<[WriteVLDx]> in all such cases. |
lib/Target/AArch64/SVEInstrFormats.td | ||
---|---|---|
1153 ↗ | (On Diff #146095) | I think so far we excluded scheduling info for SVE instructions, as there is no information available publicly on how resources/units will be structured on actual HW (i.e. if they are shared with the NEON vector units). If we want to add resources at this stage, it might be safer to add SVE specific resources, which each model could tie to the respective units in the implementation. But I suppose we will have to refine the scheduling info in any case once real HW becomes available. What do you think? |
Hi Florian.
I would then suggest adding the following to AArch64Schedule.td and then simply assigning the appropriate Scheds.
Much less work and neater doing it now when the instruction implementation is being done.
// Vector load and stores
def WriteSVE_VLD : SchedWrite;
def WriteSVE_VLD1 : SchedWrite;
def WriteSVE_VLD2 : SchedWrite;
def WriteSVE_VLD3 : SchedWrite;
def WriteSVE_VLD4 : SchedWrite;
def WriteSVE_VST : SchedWrite;
def WriteSVE_VST1 : SchedWrite;
def WriteSVE_VST2 : SchedWrite;
def WriteSVE_VST3 : SchedWrite;
def WriteSVE_VST4 : SchedWrite;
def ReadSVE_VLD : SchedRead;
Having discussed with Sander and Florian in detail I now agree it is better to add properly grouped Scheds later.