aboutsummaryrefslogtreecommitdiff
path: root/llvm/lib/Target/RISCV/RISCVFeatures.td
diff options
context:
space:
mode:
authorYingwei Zheng <dtcxzyw2333@gmail.com>2024-01-31 17:06:43 +0800
committerGitHub <noreply@github.com>2024-01-31 17:06:43 +0800
commit89f87c387627150d342722b79c78cea2311cddf7 (patch)
tree43492b50b875ecb72a7f80e880197e216b8721b1 /llvm/lib/Target/RISCV/RISCVFeatures.td
parentdd736661826e215ac70ff3a4a4ccd75bda0c5ccd (diff)
downloadllvm-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.td7
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)">;