From 72476aca8f585a026a54cf71ccdf7bed26db1903 Mon Sep 17 00:00:00 2001 From: Claudio Bantaloukas Date: Fri, 7 Jun 2024 13:59:02 +0000 Subject: aarch64: add Branch Record Buffer extension instructions The FEAT_BRBE extension provides two aliases of sys: - brb iall (Invalidates all Branch records in the Branch Record Buffer) - brb inj (Injects the Branch Record held in BRBINFINJ_EL1, BRBSRCINJ_EL1, and BRBTGTINJ_EL1 into the Branch Record Buffer) This patch adds: - the feature option "brbe" that must be added for the aliases to be available - a new operand flag AARCH64_OPND_Rt_IN_SYS_ALIASES that warns in a comment when Rt is set to the non default value 0b11111 (it is constrained unpredictable whether the instruction is undefined or behaves as if the Rt field is set to 0b11111). - a new operand flag AARCH64_OPND_BRBOP that encodes and decodes Op2 values from bit 5 - support for the two brb aliases above See: - https://developer.arm.com/documentation/ddi0602/2024-03/Base-Instructions/BRB--Branch-Record-Buffer--an-alias-of-SYS-?lang=en - https://developer.arm.com/documentation/ddi0601/2024-03/AArch64-Instructions/BRB-INJ--Branch-Record-Injection-into-the-Branch-Record-Buffer?lang=en - https://developer.arm.com/documentation/ddi0601/2024-03/AArch64-Instructions/BRB-IALL--Invalidate-the-Branch-Record-Buffer?lang=en --- gas/doc/c-aarch64.texi | 2 ++ 1 file changed, 2 insertions(+) (limited to 'gas/doc') diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi index b622f30..b29da1f 100644 --- a/gas/doc/c-aarch64.texi +++ b/gas/doc/c-aarch64.texi @@ -165,6 +165,8 @@ automatically cause those extensions to be disabled. @tab Enable BFloat16 to BFloat16 arithmetic for SVE2 and SME2. @item @code{bf16} @tab @code{fp} @tab Enable BFloat16 extension. +@item @code{brbe} @tab + @tab Enable the Branch Record Buffer extension. @item @code{chk} @tab @tab Enable the Check Feature Status Extension. @item @code{compnum} @tab @code{simd} -- cgit v1.1