> On 7 May 2025, at 12:27, Karl Meakin <karl.mea...@arm.com> wrote:
> 
> 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.

Looks ok to me.
Not a blocker here, but does this need any FMV handling? I guess this is one of 
those transparent codegen features and maybe doesn’t need FMV clones…
Thanks,
Kyrill


> ---
> gcc/config/aarch64/aarch64-option-extensions.def | 2 ++
> gcc/config/aarch64/aarch64.h                     | 3 +++
> gcc/doc/invoke.texi                              | 3 +++
> 3 files changed, 8 insertions(+)
> 
> diff --git a/gcc/config/aarch64/aarch64-option-extensions.def 
> b/gcc/config/aarch64/aarch64-option-extensions.def
> index dbbb021f05a..1c3e69799f5 100644
> --- a/gcc/config/aarch64/aarch64-option-extensions.def
> +++ b/gcc/config/aarch64/aarch64-option-extensions.def
> @@ -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")
> diff --git a/gcc/config/aarch64/aarch64.h b/gcc/config/aarch64/aarch64.h
> index e8bd8c73c12..d5c4a42e96d 100644
> --- a/gcc/config/aarch64/aarch64.h
> +++ b/gcc/config/aarch64/aarch64.h
> @@ -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
> diff --git a/gcc/doc/invoke.texi b/gcc/doc/invoke.texi
> index 32bc45725de..3f05e5e0e34 100644
> --- a/gcc/doc/invoke.texi
> +++ b/gcc/doc/invoke.texi
> @@ -22252,6 +22252,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.
> -- 
> 2.45.2
> 

Reply via email to