https://gcc.gnu.org/bugzilla/show_bug.cgi?id=111370
--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by Tamar Christina <tnfch...@gcc.gnu.org>: https://gcc.gnu.org/g:33c2b70dbabc02788caabcbc66b7baeafeb95bcf commit r14-5673-g33c2b70dbabc02788caabcbc66b7baeafeb95bcf Author: Tamar Christina <tamar.christ...@arm.com> Date: Tue Nov 21 13:20:39 2023 +0000 AArch64: Add new generic-armv8-a CPU and make it the default. This patch adds a new generic scheduling model "generic-armv8-a" and makes it the default for all Armv8 architectures. -mcpu=generic and -mtune=generic is kept around for those that really want the previous cost model. This shows on SPECCPU 2017 the following: generic: SPECINT 1.0% improvement in geomean, SPECFP -0.6%. The SPECFP is due to fotonik3d_r where we vectorize an FP calculation that only ever needs one lane of the result. This I believe is a generic costing bug but at the moment we can't change costs of FP and INT independently. So will defer updating that cost to stage3 after Richard's other costing updates land. generic SVE: SPECINT 1.1% improvement in geomean, SPECFP 0.7% improvement. gcc/ChangeLog: PR target/111370 * config/aarch64/aarch64-arches.def (armv8-9, armv8-a, armv8.1-a, armv8.2-a, armv8.3-a, armv8.4-a, armv8.5-a, armv8.6-a, armv8.7-a, armv8.8-a): Update to generic_armv8_a. * config/aarch64/aarch64-cores.def (generic-armv8-a): New. * config/aarch64/aarch64-tune.md: Regenerate. * config/aarch64/aarch64.cc: Include generic_armv8_a.h * config/aarch64/aarch64.h (TARGET_CPU_DEFAULT): Change to TARGET_CPU_generic_armv8_a. * config/aarch64/tuning_models/generic_armv8_a.h: New file. gcc/testsuite/ChangeLog: PR target/111370 * gcc.target/aarch64/sve/cond_asrd_1.c: Updated. * gcc.target/aarch64/sve/cond_cnot_4.c: Likewise. * gcc.target/aarch64/sve/cond_unary_5.c: Likewise. * gcc.target/aarch64/sve/cond_uxt_5.c: Likewise. * gcc.target/aarch64/target_attr_13.c: Likewise. * gcc.target/aarch64/target_attr_15.c: Likewise.