The following typo was corrected, updated patch file below:

/* Fuse CMP and CSET. */
- if (aarch64_fusion_enabled_p (AARCH64_FUSE_CMP_CSEL)
+ if (aarch64_fusion_enabled_p (AARCH64_FUSE_CMP_CSET)

Attachment: 0001-aarch64-Fuse-CMP-CSEL-and-CMP-CSET-for-mcpu-neoverse.patch
Description: Binary data


> On 23 Jul 2024, at 12:16, Jennifer Schmitz <jschm...@nvidia.com> wrote:
> 
> According to the Neoverse V2 Software Optimization Guide (section 4.14), the
> instruction pairs CMP+CSEL and CMP+CSET can be fused, which had not been
> implemented so far. This patch implements and tests the two fusion pairs.
> 
> The patch was bootstrapped and regtested on aarch64-linux-gnu, no regression.
> There was also no non-noise impact on SPEC CPU2017 benchmark.
> OK for mainline?
> 
> Signed-off-by: Jennifer Schmitz <jschm...@nvidia.com>
> 
> gcc/
> 
> * config/aarch64/aarch64.cc (aarch_macro_fusion_pair_p): Implement
> fusion logic.
> * config/aarch64/aarch64-fusion-pairs.def (cmp+csel): New entry.
> (cmp+cset): Likewise.
> * config/aarch64/tuning_models/neoversev2.h: Enable logic in
> field fusible_ops.
> 
> gcc/testsuite/
> 
> * gcc.target/aarch64/fuse_cmp_csel.c: New test.
> * gcc.target/aarch64/fuse_cmp_cset.c: Likewise.
> <0001-aarch64-Fuse-CMP-CSEL-and-CMP-CSET-for-mcpu-neoverse.patch>

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Reply via email to