[PATCH] D118534: [X86] Update generic process model to x86-64-v3 to match with GCC

Phoebe Wang via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Sat Jan 29 17:22:41 PST 2022


pengfei added a comment.

In D118534#3281820 <https://reviews.llvm.org/D118534#3281820>, @spatel wrote:

> In D118534#3281811 <https://reviews.llvm.org/D118534#3281811>, @lebedev.ri wrote:
>
>> In D118534#3281771 <https://reviews.llvm.org/D118534#3281771>, @spatel wrote:
>>
>>> The default tuning came up in the context of bsf vs. tzcnt here:
>>> D117912 <https://reviews.llvm.org/D117912>
>>> So I wasn't expecting a bump in default tuning yet, but I think it's great.

I must have missed the comments there, but seems we made the consensus independently.

>>> But I agree that this change may cause a lot of surprises, so users need to be given notice (add a line to the clang release notes?) and wait for the 14.0 branch to be created.
>>>
>>> Should we have a test file that intentionally shows codegen changes as this setting gets updated?
>>
>> Please note that there is a *very* important difference between `-march=` and `-mtune=`:
>>
>> - `-march=` means: no, please, i really only intend to run this code on this specific CPU, so feel free to use all of the ISA available, and schedule for this cCPU too.
>> - while `-mtune=` means: i want to be able to run the code on earlier processors, but do schedule for this CPU though.
>>
>> So this change really shouldn't affect available instruction sets.

Yes. Thanks @lebedev.ri

> Ah, thanks for explanation. I confused the settings. So it's still a small bit of progress, just not as much as I thought.

As I read the comments in D117912 <https://reviews.llvm.org/D117912>, the changes in default tuning should solve the problem. Do I miss something else?
I saw some attempts on using `x86-64-v2`, e.g., RHEL 9 <https://developers.redhat.com/blog/2021/01/05/building-red-hat-enterprise-linux-9-for-the-x86-64-v2-microarchitecture-level>. But I think it's still aggressive to use it as default target in compiler, not to mention `x86-64-v3`.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D118534/new/

https://reviews.llvm.org/D118534



More information about the llvm-commits mailing list