[PATCH] D49592: [AArch64][SVE] Asm: Add MOVPRFX instructions.

Sander de Smalen via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 27 02:08:54 PDT 2018


sdesmalen added a comment.

Hi Sjoerd, thanks for your feedback! We actually use the TSFlags in our downstream assembler, but had a few reasons to re-implement it with a GenericTable instead:

- The TSFlags are used for all instructions, taking up global bits for only a relatively small selection of instructions, where these bits make little sense to non-movprfxable instructions.  To better utilize the (potentially) cheap move/zeroing capabilities of MOVPRFX, we'll need more fields/bits to describe the kind of operation e.g. whether it is unary, binary, commutative, whether it has a reversed operation (e.g. sub and subr), which in our downstream compiler takes a total of 9 bits. With this in mind, I thought it made more sense to describe this in a separate table instead.
- The table is not queried that often (only when encountered together with a MOVPRFX), so there is little runtime overhead.

What was the part that you think is heavyweight about creating a table in AArch64SystemOperands?


https://reviews.llvm.org/D49592





More information about the llvm-commits mailing list