aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndrea Corallo <andrea.corallo@arm.com>2023-09-06 15:52:45 +0100
committerAndrea Corallo <andrea.corallo@arm.com>2023-12-19 15:35:49 +0100
commit88b5a8ae138f3ace20f63635dbaea437fb17ae78 (patch)
tree3b5021342210dbe1c5e028560ca6960977a02e5c /include
parent25bb95ea6ddc3cef73da3823efe4acfce4e56d2c (diff)
downloadfsf-binutils-gdb-88b5a8ae138f3ace20f63635dbaea437fb17ae78.zip
fsf-binutils-gdb-88b5a8ae138f3ace20f63635dbaea437fb17ae78.tar.gz
fsf-binutils-gdb-88b5a8ae138f3ace20f63635dbaea437fb17ae78.tar.bz2
aarch64: Add FEAT_SPECRES2 support
This patch add supports for FEAT_SPECRES2 "Enhanced speculation restriction instructions" adding the "cosp" instruction. This is mandatory v8.9-a/v9.4-a and optional v8.0-a+/v9.0-a+. It is enabled by the +predres2 march flag.
Diffstat (limited to 'include')
-rw-r--r--include/opcode/aarch64.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 6323383..7b3ddf3 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -197,6 +197,8 @@ enum aarch64_feature_bit {
AARCH64_FEATURE_S2POE,
/* Extension to Translation Control Registers. */
AARCH64_FEATURE_TCR2,
+ /* Speculation Prediction Restriction instructions. */
+ AARCH64_FEATURE_PREDRES2,
AARCH64_NUM_FEATURES
};
@@ -276,7 +278,8 @@ enum aarch64_feature_bit {
#define AARCH64_ARCH_V9_1A_FEATURES(X) AARCH64_ARCH_V8_6A_FEATURES (X)
#define AARCH64_ARCH_V9_2A_FEATURES(X) AARCH64_ARCH_V8_7A_FEATURES (X)
#define AARCH64_ARCH_V9_3A_FEATURES(X) AARCH64_ARCH_V8_8A_FEATURES (X)
-#define AARCH64_ARCH_V9_4A_FEATURES(X) AARCH64_ARCH_V8_9A_FEATURES (X)
+#define AARCH64_ARCH_V9_4A_FEATURES(X) (AARCH64_ARCH_V8_9A_FEATURES (X) \
+ | AARCH64_FEATBIT (X, PREDRES2))
/* Architectures are the sum of the base and extensions. */
#define AARCH64_ARCH_V8A(X) (AARCH64_FEATBIT (X, V8) \