summaryrefslogtreecommitdiffstats
path: root/llvm/lib
diff options
context:
space:
mode:
authorAhmed Bougacha <ahmed@bougacha.org>2019-06-25 18:38:20 -0700
committerAhmed Bougacha <ahmed@bougacha.org>2019-11-13 10:38:11 -0800
commit643ac6c0420b70571ef0fc0f65ab66e736eea225 (patch)
treee371c40ab30fbbe82bf5337c6dcd6140dbc8f6ac /llvm/lib
parent142cbe73e9fe834e6abaf2d709b4a429ca3a9c44 (diff)
downloadbcm5719-llvm-643ac6c0420b70571ef0fc0f65ab66e736eea225.tar.gz
bcm5719-llvm-643ac6c0420b70571ef0fc0f65ab66e736eea225.zip
[AArch64][v8.3a] Add LDRA '[xN]!' alias.
The instruction definition has been retroactively expanded to allow for an alias for '[xN, 0]!' as '[xN]!'. That wouldn't make sense on LDR, but does for LDRA.
Diffstat (limited to 'llvm/lib')
-rw-r--r--llvm/lib/Target/AArch64/AArch64InstrFormats.td3
1 files changed, 3 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstrFormats.td b/llvm/lib/Target/AArch64/AArch64InstrFormats.td
index 10b5a21a922..7317b15990d 100644
--- a/llvm/lib/Target/AArch64/AArch64InstrFormats.td
+++ b/llvm/lib/Target/AArch64/AArch64InstrFormats.td
@@ -1463,6 +1463,9 @@ multiclass AuthLoad<bit M, string asm, Operand opr> {
def : InstAlias<asm # "\t$Rt, [$Rn]",
(!cast<Instruction>(NAME # "indexed") GPR64:$Rt, GPR64sp:$Rn, 0)>;
+
+ def : InstAlias<asm # "\t$Rt, [$wback]!",
+ (!cast<Instruction>(NAME # "writeback") GPR64sp:$wback, GPR64:$Rt, 0)>;
}
//---
OpenPOWER on IntegriCloud