diff options
author | Alex Bradbury <asb@lowrisc.org> | 2017-11-09 15:00:03 +0000 |
---|---|---|
committer | Alex Bradbury <asb@lowrisc.org> | 2017-11-09 15:00:03 +0000 |
commit | 8c345c5aa903b67bdf43394f05205a09c50f6dce (patch) | |
tree | 43678bf3965f191557dade2b8254ea1a286198d9 /llvm/lib/Target/RISCV/RISCV.td | |
parent | 89d31658e5601c8a9a7737db64e239c1efcc5d6b (diff) | |
download | bcm5719-llvm-8c345c5aa903b67bdf43394f05205a09c50f6dce.tar.gz bcm5719-llvm-8c345c5aa903b67bdf43394f05205a09c50f6dce.zip |
[RISCV] MC layer support for the standard RV32A instruction set extension
llvm-svn: 317791
Diffstat (limited to 'llvm/lib/Target/RISCV/RISCV.td')
-rw-r--r-- | llvm/lib/Target/RISCV/RISCV.td | 17 |
1 files changed, 12 insertions, 5 deletions
diff --git a/llvm/lib/Target/RISCV/RISCV.td b/llvm/lib/Target/RISCV/RISCV.td index d8581f8d03c..63d2b827014 100644 --- a/llvm/lib/Target/RISCV/RISCV.td +++ b/llvm/lib/Target/RISCV/RISCV.td @@ -13,13 +13,20 @@ include "llvm/Target/Target.td" // RISC-V subtarget features and instruction predicates. //===----------------------------------------------------------------------===// -def FeatureStdExtM : SubtargetFeature<"m", "HasStdExtM", "true", - "'M' (Integer Multiplication and Division)">; -def HasStdExtM : Predicate<"Subtarget->hasStdExtM()">, +def FeatureStdExtM + : SubtargetFeature<"m", "HasStdExtM", "true", + "'M' (Integer Multiplication and Division)">; +def HasStdExtM : Predicate<"Subtarget->hasStdExtM()">, AssemblerPredicate<"FeatureStdExtM">; -def Feature64Bit : SubtargetFeature<"64bit", "HasRV64", "true", - "Implements RV64">; +def FeatureStdExtA + : SubtargetFeature<"a", "HasStdExtA", "true", + "'A' (Atomic Instructions)">; +def HasStdExtA : Predicate<"Subtarget->hasStdExtA()">, + AssemblerPredicate<"FeatureStdExtA">; + +def Feature64Bit + : SubtargetFeature<"64bit", "HasRV64", "true", "Implements RV64">; def RV64 : HwMode<"+64bit">; def RV32 : HwMode<"-64bit">; |