diff options
author | Yingwei Zheng <dtcxzyw2333@gmail.com> | 2024-01-31 17:06:43 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-01-31 17:06:43 +0800 |
commit | 89f87c387627150d342722b79c78cea2311cddf7 (patch) | |
tree | 43492b50b875ecb72a7f80e880197e216b8721b1 /llvm/lib/Target/RISCV/RISCVFeatures.td | |
parent | dd736661826e215ac70ff3a4a4ccd75bda0c5ccd (diff) | |
download | llvm-89f87c387627150d342722b79c78cea2311cddf7.zip llvm-89f87c387627150d342722b79c78cea2311cddf7.tar.gz llvm-89f87c387627150d342722b79c78cea2311cddf7.tar.bz2 |
[RISCV][MC] Add MC layer support for the experimental zabha extension (#80005)
This patch implements the zabha (Byte and Halfword Atomic Memory
Operations) v1.0-rc1 extension.
See also https://github.com/riscv/riscv-zabha/blob/v1.0-rc1/zabha.adoc.
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 58bf5e8..6b7bf48 100644 --- a/llvm/lib/Target/RISCV/RISCVFeatures.td +++ b/llvm/lib/Target/RISCV/RISCVFeatures.td @@ -177,6 +177,13 @@ def HasStdExtAOrZaamo "'A' (Atomic Instructions) or " "'Zaamo' (Atomic Memory Operations)">; +def FeatureStdExtZabha + : SubtargetFeature<"experimental-zabha", "HasStdExtZabha", "true", + "'Zabha' (Byte and Halfword Atomic Memory Operations)">; +def HasStdExtZabha : Predicate<"Subtarget->hasStdExtZabha()">, + AssemblerPredicate<(all_of FeatureStdExtZabha), + "'Zabha' (Byte and Halfword Atomic Memory Operations)">; + def FeatureStdExtZacas : SubtargetFeature<"experimental-zacas", "HasStdExtZacas", "true", "'Zacas' (Atomic Compare-And-Swap Instructions)">; |