)]}'
{
  "commit": "0bb90322f81ffb2e4ca84546b04ce7535fffe40f",
  "tree": "b5df3d19963e9d53f81504a271c733c4a3bba4ab",
  "parents": [
    "617d0c09a9f7d6e10e88cf7cc0940369a9ab6b9c"
  ],
  "author": {
    "name": "Kyrylo Tkachov",
    "email": "ktkachov@nvidia.com",
    "time": "Sun May 31 02:05:56 2026 -0700"
  },
  "committer": {
    "name": "Kyrylo Tkachov",
    "email": "ktkachov@nvidia.com",
    "time": "Mon Jun 01 20:06:27 2026 +0200"
  },
  "message": "aarch64: Adjust alignment tunings for Olympus\n\nAfter some more benchmarking and evaluation I\u0027d like to increase the alignments\nneeded for -mcpu\u003dolympus.  All three of loop_align, function_align and\njump_align are needed to get a good mix of improvements.  I\u0027ve added skip\namounts to keep the code size bloat down.  There is some, but the performance\nbenefit on -mcpu\u003dolympus binaries is worth it (cpython from SPEC2026 in\nparticular benefits consistently).\n\nAs an aside, I do think we\u0027ll want a more fine-grained description of alignment\nin our CPU tuning structs for -O3 binaries.  -O3 may be willing to pay the\nextra padding cost for speed-tuned functions and loops and may want to avoid\nthe skip amount if the CPU is good enough at skipping past them.\nBut the -O2 settings may still want to use skip amount to avoid excessive\ndistro binary bloat.\n\nBootstrapped and tested on aarch64-none-linux-gnu.\n\nSigned-off-by: Kyrylo Tkachov \u003cktkachov@nvidia.com\u003e\n\ngcc/ChangeLog\n\n\t* config/aarch64/tuning_models/olympus.h (olympus_tunings):\n\tAdjust loop_align, function_align, jump_align.\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c83e35adc2b945e8d7f9a741755dd2032f9541d3",
      "old_mode": 33188,
      "old_path": "gcc/config/aarch64/tuning_models/olympus.h",
      "new_id": "ca7f7b95f71e64aea01b6af055c94c313042c443",
      "new_mode": 33188,
      "new_path": "gcc/config/aarch64/tuning_models/olympus.h"
    }
  ]
}
