[PATCH] D32277: Replace slow LEA instructions in X86

Juneyoung Lee via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Apr 20 03:36:33 PDT 2017


aqjune added a comment.

We report our observation regarding this issue.
We observed 10% speed up for the Queens benchmark in Nightly Test by simply swapping r13 and r14.

Here are more details.

LLVM & Clang: 4.0 (official release)
Queens.c: SingleSource/Benchmarks/Stanford/Queens.c in Nightly Tests.
Queens.s: clang -O3 -S Queen.c
Queens.swap.s: obtained by simply swapping r13 and r14 in Queen.s

We compiled "Queen.s" and "Queens.swap.s" using clang 4.0 (and gcc 5.4.0 too) and observed that Queens.swap.s is 10% faster than Queens.s in the following machine.

CPU: Intel(R) Core(TM) i7 CPU  870  @ 2.93GHz
OS: Ubuntu 16.04
We tested the same on several other machines and observed consistent speed up between 3 ~ 10 % depending on machines.

Thanks.

F3237763: Queens.c <https://reviews.llvm.org/F3237763>

F3237764: Queens.s <https://reviews.llvm.org/F3237764>

F3237765: Queens.swap.s <https://reviews.llvm.org/F3237765>

F3237768: result.txt <https://reviews.llvm.org/F3237768>


https://reviews.llvm.org/D32277





More information about the llvm-commits mailing list