[PATCH v7 00/20] ILP32 for ARM64
From: Maxim Kuvyrkov <hidden>
Date: 2017-02-16 13:23:28
Also in:
lkml
On Feb 12, 2017, at 4:07 PM, Andrew Pinski [off-list ref] wrote: On Mon, Jan 9, 2017 at 3:29 AM, Yury Norov [off-list ref] wrote:quoted
This series enables aarch64 with ilp32 mode.
...
For folks concerned about performance, here is what we get for SPEC CPU 2006 on ThunderX 2 CN99xx. Positive means ILP32 is faster than LP64. This core does not have AARCH32 so I can't compare that. Also my LP64 scores don't change with and without the patches. Options: -Ofast -flto=32 -mcpu=native -fno-aggressive-loop-optimizations -funroll-loops -fprefetch-loop-arrays GCC 7.0.1 r245361 with ilp32 multi-arch patch applied. 4.10rc2 Plus ILP32 patches SPEC CPU 2006 INT ILP32/LP64 400.perlbench 5.23% 401.bzip2 7.83% 403.gcc 6.22% 429.mcf 14.25% 445.gobmk -1.33% 456.hmmer -0.61% 458.sjeng 0.00% 462.libquantum -7.38% 464.h264ref 10.86% 471.omnetpp 13.53% 473.astar 1.38% 483.xalancbmk 3.73% Score 4.29% Rate (32): 400.perlbench 6.10% 401.bzip2 7.10% 403.gcc 6.71% 429.mcf 57.29% 445.gobmk -0.87% 456.hmmer -0.19% 458.sjeng 0.22% 462.libquantum 0.00% 464.h264ref 11.19% 471.omnetpp 11.80% 473.astar -0.29% 483.xalancbmk 8.87% Score 8.12%
These are good numbers and show that ILP32 has performance advantage over LP64. SPEC CPU2006 is a user-land benchmark and spends almost no time in the kernel (by design). Similar results for a kernel-focused benchmark would be highly interesting too, and kernel reviewers have asked for these a couple of times. Do you plan to run kernel benchmarks on the hardware you have? Thanks, -- Maxim Kuvyrkov www.linaro.org