]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
Adjust generic loop alignment from 16:11:8 to 16 for Intel processors
authorHaochen Jiang <haochen.jiang@intel.com>
Wed, 29 May 2024 03:13:55 +0000 (11:13 +0800)
committerHaochen Jiang <haochen.jiang@intel.com>
Wed, 29 May 2024 03:13:55 +0000 (11:13 +0800)
Previously, we use 16:11:8 in generic tune for Intel processors, which
lead to cross cache line issue and result in some random performance
penalty in benchmarks with small loops commit to commit.

After changing to always aligning to 16 bytes, it will somehow solve
the issue.

gcc/ChangeLog:

* config/i386/x86-tune-costs.h (generic_cost): Change from
16:11:8 to 16.

gcc/config/i386/x86-tune-costs.h

index 65d7d1f7e4296965888e7ac7bdb55e7500589ec3..d3aaaa4b5cc257ea9d828030b0ebfe6ab47687f1 100644 (file)
@@ -3758,7 +3758,7 @@ struct processor_costs generic_cost = {
   generic_memset,
   COSTS_N_INSNS (4),                   /* cond_taken_branch_cost.  */
   COSTS_N_INSNS (2),                   /* cond_not_taken_branch_cost.  */
-  "16:11:8",                           /* Loop alignment.  */
+  "16",                                        /* Loop alignment.  */
   "16:11:8",                           /* Jump alignment.  */
   "0:0:8",                             /* Label alignment.  */
   "16",                                        /* Func alignment.  */