aboutsummaryrefslogtreecommitdiff
path: root/clang/lib/Basic/Module.cpp
diff options
context:
space:
mode:
authorSander de Smalen <sander.desmalen@arm.com>2018-07-30 15:42:46 +0000
committerSander de Smalen <sander.desmalen@arm.com>2018-07-30 15:42:46 +0000
commit9b33309c87a1a621c4f1a8cb065613f0194eef73 (patch)
treec77bd1b96f75b6d1047dc08bd538b4154d5655fd /clang/lib/Basic/Module.cpp
parent403826ee0f3050ca9d508599216455ce5af4b7ad (diff)
downloadllvm-9b33309c87a1a621c4f1a8cb065613f0194eef73.zip
llvm-9b33309c87a1a621c4f1a8cb065613f0194eef73.tar.gz
llvm-9b33309c87a1a621c4f1a8cb065613f0194eef73.tar.bz2
[AArch64][SVE] Asm: Add MOVPRFX instructions.
This patch adds predicated and unpredicated MOVPRFX instructions, which can be prepended to SVE instructions that are destructive on their first source operand, to make them a constructive operation, e.g. add z1.s, p0/m, z1.s, z2.s <=> z1 = z1 + z2 can be made constructive: movprfx z0, z1 add z0.s, p0/m, z0.s, z2.s <=> z0 = z1 + z2 The predicated MOVPRFX instruction can additionally be used to zero inactive elements, e.g. movprfx z0.s, p0/z, z1.s add z0.s, p0/m, z0.s, z2.s Not all instructions can be prefixed with the MOVPRFX instruction which is why this patch also adds a mechanism to validate prefixed instructions. The exact rules when a MOVPRFX applies is detailed in the SVE supplement of the Architectural Reference Manual. This is patch [1/2] in a series to add MOVPRFX instructions: - Patch [1/2]: https://reviews.llvm.org/D49592 - Patch [2/2]: https://reviews.llvm.org/D49593 Reviewers: rengolin, SjoerdMeijer, samparker, fhahn, javed.absar Reviewed By: SjoerdMeijer Differential Revision: https://reviews.llvm.org/D49592 llvm-svn: 338258
Diffstat (limited to 'clang/lib/Basic/Module.cpp')
0 files changed, 0 insertions, 0 deletions