[llvm-exegesis][x86] Add option to prevent use of xmm8-xmm15 upper SSE registers
authorSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 7 Dec 2022 17:50:28 +0000 (17:50 +0000)
committerSimon Pilgrim <llvm-dev@redking.me.uk>
Wed, 7 Dec 2022 17:54:09 +0000 (17:54 +0000)
commitb723d5a625c0135a8c6a72572ba91ddf566e8723
tree267973a69b52175bf3c433e6505347a988246717
parent80e8f2beeb954f8c241897099bb01b24da400e8a
[llvm-exegesis][x86] Add option to prevent use of xmm8-xmm15 upper SSE registers

Noticed while trying to use llvm-exegesis to get some accurate capture numbers on some old Atom/Silverment hardware as part of the work with D103695.

These targets' frontends are particularly poor and the use of the xmm8-xmm15 SSE registers results in longer instruction encodings which were affecting the latency/throughput estimates.

Thanks to @lebedev.ri for the --skip-measurements command line argument which made testing much easier!

Differential Revision: https://reviews.llvm.org/D138832
llvm/docs/CommandGuide/llvm-exegesis.rst
llvm/test/tools/llvm-exegesis/X86/inverse_throughput/inverse_throughput-disable-upper-sse-registers.s [new file with mode: 0644]
llvm/tools/llvm-exegesis/lib/X86/Target.cpp