[PATCH] D158329: [X86] Support arch=x86-64{,-v2,-v3,-v4} for target/target_clones attributes
Fangrui Song via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Fri Aug 18 20:56:34 PDT 2023
MaskRay created this revision.
MaskRay added reviewers: craig.topper, FreddyYe, pengfei, RKSimon, skan.
Herald added subscribers: Enna1, hiraditya.
Herald added a project: All.
MaskRay requested review of this revision.
Herald added projects: clang, Sanitizers, LLVM.
Herald added subscribers: llvm-commits, Sanitizers, cfe-commits.
GCC 12 (https://gcc.gnu.org/PR101696) allows `arch=x86-64`
`arch=x86-64-v2` `arch=x86-64-v3` `arch=x86-64-v4` in target and
target_clones function attributes. This patch ports the feature.
- Set KeyFeature to `x86-64{,-v2,-v3,-v4}` in `Processors[]`, to be used by X86TargetInfo::multiVersionSortPriority
- builtins: change `__cpu_features2` to an array like libgcc. Define `FEATURE_X86_64_{BASELINE,V2,V3,V4}` and depended ISA feature bits.
- CGBuiltin.cpp: update EmitX86CpuSupports to handle `arch=x86-64*`.
Close https://github.com/llvm/llvm-project/issues/55830
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D158329
Files:
clang/lib/CodeGen/CGBuiltin.cpp
clang/lib/CodeGen/CodeGenFunction.cpp
clang/lib/CodeGen/CodeGenFunction.h
clang/test/CodeGen/attr-target-clones.c
clang/test/CodeGen/builtin-cpu-supports.c
clang/test/Sema/attr-target-clones.c
compiler-rt/lib/builtins/cpu_model.c
llvm/lib/TargetParser/X86TargetParser.cpp
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158329.551700.patch
Type: text/x-patch
Size: 13704 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20230819/a4dd8842/attachment-0001.bin>
More information about the cfe-commits
mailing list