diff options
Diffstat (limited to 'llvm/lib/Target/RISCV/RISCVFeatures.td')
-rw-r--r-- | llvm/lib/Target/RISCV/RISCVFeatures.td | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/llvm/lib/Target/RISCV/RISCVFeatures.td b/llvm/lib/Target/RISCV/RISCVFeatures.td index 6b7bf48..6f87eae 100644 --- a/llvm/lib/Target/RISCV/RISCVFeatures.td +++ b/llvm/lib/Target/RISCV/RISCVFeatures.td @@ -192,6 +192,13 @@ def HasStdExtZacas : Predicate<"Subtarget->hasStdExtZacas()">, "'Zacas' (Atomic Compare-And-Swap Instructions)">; def NoStdExtZacas : Predicate<"!Subtarget->hasStdExtZacas()">; +def FeatureStdExtZalasr + : SubtargetFeature<"experimental-zalasr", "HasStdExtZalasr", "true", + "'Zalasr' (Load-Acquire and Store-Release Instructions)">; +def HasStdExtZalasr : Predicate<"Subtarget->hasStdExtZalasr()">, + AssemblerPredicate<(all_of FeatureStdExtZalasr), + "'Zalasr' (Load-Acquire and Store-Release Instructions)">; + def FeatureStdExtZalrsc : SubtargetFeature<"experimental-zalrsc", "HasStdExtZalrsc", "true", "'Zalrsc' (Load-Reserved/Store-Conditional)">; |