[clang] [clang] Enable --print-supported-extensions for all targets (PR #66586)
Balint Cristian via cfe-commits
cfe-commits at lists.llvm.org
Sun Sep 17 04:09:32 PDT 2023
cbalint13 wrote:
@DavidSpickett ,
> * We can limit to list flags only for a desired e.g. -mcpu=XYZ, so the user can query like:
> Let me know if it would be another interesting command-line feature, I'll be happy doing it in a subsecvent PR.
Implemented the -mcpu filter option too.
```
$ ./bin/clang --target=x86_64-unknown-linux-gnu -mcpu=sandybridge --print-supported-extensions
clang version 18.0.0 (https://github.com/cbalint13/llvm-project 4a1fe09b189f100e2fb53105bbcd7b15b8adf4f8)
Target: x86_64-unknown-linux-gnu
Thread model: posix
InstalledDir: /home/cbalint/work/GITHUB/llvm-project/build/./bin
All available -march extensions for x86-64 and -mcpu sandybridge
64bit Support 64-bit instructions
64bit-mode 64-bit mode (x86_64)
avx Enable AVX instructions
cmov Enable conditional move instructions
crc32 Enable SSE 4.2 CRC32 instruction (used when SSE4.2 is ...
cx16 64-bit with cmpxchg16b (this is true for most x86-64 chips ...
cx8 Support CMPXCHG8B instructions
false-deps-popcnt POPCNT has a false dependency on dest register
fast-15bytenop Target can quickly decode up to 15 byte NOPs
fast-scalar-fsqrt Scalar SQRT is fast (disable Newton-Raphson)
fast-shld-rotate SHLD can be used as a faster rotate
fxsr Support fxsave/fxrestore instructions
idivq-to-divl Use 32-bit divide for positive values less than 2^32
macrofusion Various instructions can be fused with conditional branches
mmx Enable MMX instructions
no-bypass-delay-mov Has no bypass delay when using the 'wrong' mov type
nopl Enable NOPL instruction (generally pentium pro+)
pclmul Enable packed carry-less multiplication instructions
popcnt Support POPCNT instruction
sahf Support LAHF and SAHF instructions in 64-bit mode
slow-3ops-lea LEA instruction with 3 ops or certain registers is slow
slow-unaligned-mem-32 Slow unaligned 32-byte memory access
sse Enable SSE instructions
sse2 Enable SSE2 instructions
sse3 Enable SSE3 instructions
sse4.1 Enable SSE 4.1 instructions
sse4.2 Enable SSE 4.2 instructions
ssse3 Enable SSSE3 instructions
vzeroupper Should insert vzeroupper instructions
x87 Enable X87 float instructions
xsave Support xsave instructions
xsaveopt Support xsaveopt instructions
```
https://github.com/llvm/llvm-project/pull/66586
More information about the cfe-commits
mailing list