]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
AArch64: recognize `+cmpbr` option
authorKarl Meakin <karl.meakin@arm.com>
Thu, 3 Jul 2025 11:48:31 +0000 (12:48 +0100)
committerRichard Sandiford <richard.sandiford@arm.com>
Thu, 3 Jul 2025 11:48:31 +0000 (12:48 +0100)
Add the `+cmpbr` option to enable the FEAT_CMPBR architectural
extension.

gcc/ChangeLog:

* config/aarch64/aarch64-option-extensions.def (cmpbr): New
option.
* config/aarch64/aarch64.h (TARGET_CMPBR): New macro.
* doc/invoke.texi (cmpbr): New option.

gcc/config/aarch64/aarch64-option-extensions.def
gcc/config/aarch64/aarch64.h
gcc/doc/invoke.texi

index dbbb021f05ac8a603bdb64cddf8d8d08a3c0ab01..1c3e69799f5a9146e0db267e57d7c5801cb4838a 100644 (file)
@@ -249,6 +249,8 @@ AARCH64_OPT_EXTENSION("mops", MOPS, (), (), (), "mops")
 
 AARCH64_OPT_EXTENSION("cssc", CSSC, (), (), (), "cssc")
 
+AARCH64_OPT_EXTENSION("cmpbr", CMPBR, (), (), (), "cmpbr")
+
 AARCH64_OPT_EXTENSION("lse128", LSE128, (LSE), (), (), "lse128")
 
 AARCH64_OPT_EXTENSION("d128", D128, (LSE128), (), (), "d128")
index e8bd8c73c1296f6ad0d8ab16177eab120afa6f9b..d5c4a42e96d95f7439952f753e1849767505c449 100644 (file)
@@ -410,6 +410,9 @@ constexpr auto AARCH64_FL_DEFAULT_ISA_MODE ATTRIBUTE_UNUSED
 /* CSSC instructions are enabled through +cssc.  */
 #define TARGET_CSSC AARCH64_HAVE_ISA (CSSC)
 
+/* CB<cc> instructions are enabled through +cmpbr.  */
+#define TARGET_CMPBR AARCH64_HAVE_ISA (CMPBR)
+
 /* Make sure this is always defined so we don't have to check for ifdefs
    but rather use normal ifs.  */
 #ifndef TARGET_FIX_ERR_A53_835769_DEFAULT
index ad11874c447e0877871481b708dd16b08c23ee1d..7640e7d88671ed823ac6771d116e8d248ff6b249 100644 (file)
@@ -22466,6 +22466,9 @@ Enable the FlagM2 flag conversion instructions.
 Enable the Pointer Authentication Extension.
 @item cssc
 Enable the Common Short Sequence Compression instructions.
+@item cmpbr
+Enable the shorter compare and branch instructions, @code{cbb}, @code{cbh} and
+@code{cb}.
 @item sme
 Enable the Scalable Matrix Extension.  This is only supported when SVE2 is also
 enabled.