https://gcc.gnu.org/bugzilla/show_bug.cgi?id=127432
--- Comment #4 from Robin Dapp <rdapp at gcc dot gnu.org> ---
On my machine (no Neoverse N1, but I built with -mcpu=neoverse-n1) the binaries
have the same size but differ. I'm not seeing a regression in performance. If
at all, then the patched version is faster:
Performance counter stats for '../exe/aarch64-before/exe -i
hyperviscoplastic':
110,165.01 msec task-clock:u # 1.000 CPUs
utilized
0 context-switches:u # 0.000 /sec
0 cpu-migrations:u # 0.000 /sec
40,834 page-faults:u # 370.662 /sec
369,087,761,380 cycles:u # 3.350 GHz
1,753,160,313,006 instructions:u # 4.75 insn per
cycle
93,350,078,511 branches:u # 847.366 M/sec
2,517,676,939 branch-misses:u # 2.70% of all
branches
110.184292641 seconds time elapsed
110.091616000 seconds user
0.071986000 seconds sys
Performance counter stats for '../exe/aarch64-after/exe -i hyperviscoplastic':
108,981.58 msec task-clock:u # 1.000 CPUs
utilized
0 context-switches:u # 0.000 /sec
0 cpu-migrations:u # 0.000 /sec
40,835 page-faults:u # 374.696 /sec
365,235,438,266 cycles:u # 3.351 GHz
1,753,158,774,647 instructions:u # 4.80 insn per
cycle
93,349,975,945 branches:u # 856.567 M/sec
2,468,623,800 branch-misses:u # 2.64% of all
branches
108.997195623 seconds time elapsed
108.948121000 seconds user
0.031995000 seconds sys
Could this be very specific to the N1 or maybe a code-alignment issue?