[PATCH] D46270: [AArch64][SVE] Asm: Support for LDR/STR fill and spill instructions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Tue May 1 05:52:56 PDT 2018


sdesmalen added a comment.

In https://reviews.llvm.org/D46270#1083792, @samparker wrote:

> The new instruction classes have a lot of overlap, I think it would be nicer to refactor them and pass more than asm string as an argument.


Hi Sam, there are two reasons I didn't merge these into the same instruction classes for this patch...
One is that we chose to structure the file by the encoding groups from the SVE specification and merge instruction classes only when they are in the same group (e.g.  {z_fill, p_fill} are in a different group from {z_spill, p_spill}). This is a bit of a trade-off where we choose to keep the instruction classes simpler and easier to look up from the spec, as opposed to minimising the lines of code. The other reason is that merging e.g. z_fill and p_fill - both in the same encoding group - is not very convenient because they have different encodings for their operands (e.g. 5-bits Zt vs 4-bits Pt) and also different operands (ZPRAny vs PPRAny). I think it doesn't make it easier to read if we are to template these cases.
Does that make sense?


https://reviews.llvm.org/D46270





More information about the llvm-commits mailing list