llvm-project/clang/lib/Driver/ToolChains
Nico Weber 75ae75cd17 [clang-cl] Add support for /arch:AVX512F and /arch:AVX512
For /arch:AVX512F:
clang-cl and cl.exe both defines __AVX512F__ __AVX512CD__.
clang-cl also defines __AVX512ER__ __AVX512PF__.
64-bit cl.exe also defines (according to /Bz) _NO_PREFETCHW.

For /arch:AVX512:
clang-cl and cl.exe both define
__AVX512F__ __AVX512CD__ __AVX512BW__ __AVX512DQ__ __AVX512VL__.
64-bit cl.exe also defines _NO_PREFETCHW.

So not 100% identical, but pretty close.

Also refactor the existing AVX / AVX2 code to not repeat itself in both the
32-bit and 64-bit cases.

https://reviews.llvm.org/D42538

llvm-svn: 323433
2018-01-25 15:24:43 +00:00
..
Arch [clang-cl] Add support for /arch:AVX512F and /arch:AVX512 2018-01-25 15:24:43 +00:00
AMDGPU.cpp AMDGPU/NFC: Move getAMDGPUTargetFeatures to AMDGPU toolchain 2017-11-10 19:09:57 +00:00
AMDGPU.h AMDGPU/NFC: Move getAMDGPUTargetFeatures to AMDGPU toolchain 2017-11-10 19:09:57 +00:00
AVR.cpp
AVR.h
Ananas.cpp ananas: Add shared library support 2018-01-09 09:18:14 +00:00
Ananas.h Add support for Ananas platform 2017-06-25 08:29:09 +00:00
BareMetal.cpp Fix ARM bare metal driver to support atomics 2017-09-06 17:09:25 +00:00
BareMetal.h Driver: remove `SupportsObjCGC` (NFC) 2017-11-19 00:45:33 +00:00
Clang.cpp [CUDA] Disable PGO and coverage instrumentation in NVPTX. 2018-01-24 17:41:02 +00:00
Clang.h [RISCV] Add the RISCV target and compiler driver 2018-01-11 13:36:56 +00:00
CloudABI.cpp Introduce -nostdlib++ flag to disable linking the C++ standard library. 2017-07-25 18:02:57 +00:00
CloudABI.h
CommonArgs.cpp FreeBSD needs also execinfo (in sanitizers) 2018-01-24 23:08:49 +00:00
CommonArgs.h [OpenMP] OpenMP device offloading code generation produces a cubin file which is then integrated in the host binary using the host linker. 2017-08-08 14:33:05 +00:00
Contiki.cpp
Contiki.h
CrossWindows.cpp Driver: remove support for libstdc++ from CrossWindows 2017-09-22 04:01:12 +00:00
CrossWindows.h [Driver][Darwin] Pass -munwind-table when !UseSjLjExceptions. 2017-08-03 23:55:42 +00:00
Cuda.cpp Fix function call to fix build 2017-11-29 15:18:02 +00:00
Cuda.h [OpenMP] Consistently use cubin extension for nvlink 2017-11-21 14:44:45 +00:00
Darwin.cpp [driver][darwin] Take the OS version from -m<os>-version-min argument when 2017-12-29 17:42:40 +00:00
Darwin.h [driver][darwin] Refactor the target selection code, NFC 2017-12-09 02:27:11 +00:00
DragonFly.cpp Introduce -nostdlib++ flag to disable linking the C++ standard library. 2017-07-25 18:02:57 +00:00
DragonFly.h
FreeBSD.cpp Clang counterpart change for fuzzer FreeBSD support 2018-01-15 05:56:44 +00:00
FreeBSD.h Toolchain: Normalize dwarf, sjlj and seh eh 2017-11-29 07:25:12 +00:00
Fuchsia.cpp [Fuchsia] Enable Fuzzer as a supported sanitizer on Fuchsia 2018-01-19 01:58:26 +00:00
Fuchsia.h [Driver] Make the use of relax relocations a per target option 2017-11-22 01:38:31 +00:00
Gnu.cpp [Solaris] Make RHEL devtoolsets handling Linux-specific 2018-01-23 12:24:01 +00:00
Gnu.h [Solaris] gcc toolchain handling revamp 2018-01-23 12:23:52 +00:00
Haiku.cpp Driver/ToolChains: Remove extra semicolons. NFC 2017-03-09 00:14:57 +00:00
Haiku.h
Hexagon.cpp [Hexagon] Accept lowercase b in -hvx-length=64b and -hvx-length=128b 2018-01-24 18:42:19 +00:00
Hexagon.h [Hexagon] Handling of new HVX flags and target-features 2017-10-18 18:10:13 +00:00
Lanai.h
Linux.cpp [Driver] Add support for mips32 and scudo 2018-01-25 10:09:33 +00:00
Linux.h Revert 320391: Certain targets are failing, pulling back to diagnose. 2017-12-11 18:14:51 +00:00
MSVC.cpp Revert "[ADT] Make Twine's copy constructor private." 2017-10-11 23:54:34 +00:00
MSVC.h [Driver] Recognize DevDiv internal builds of MSVC, with a different directory structure. 2017-08-21 22:19:33 +00:00
MSVCSetupApi.h Update clang-cl driver for MSVC 2017. 2017-03-15 16:07:35 +00:00
MinGW.cpp Toolchain: Normalize dwarf, sjlj and seh eh 2017-11-29 07:25:12 +00:00
MinGW.h Toolchain: Normalize dwarf, sjlj and seh eh 2017-11-29 07:25:12 +00:00
Minix.cpp Introduce -nostdlib++ flag to disable linking the C++ standard library. 2017-07-25 18:02:57 +00:00
Minix.h
MipsLinux.cpp fix trivial typos; NFC 2017-07-01 08:46:43 +00:00
MipsLinux.h Driver/ToolChains: Mips -> MipsLinux 2017-03-08 22:36:04 +00:00
Myriad.cpp [Myriad] Remove invalidated -elf flag for MoviAsm 2018-01-08 20:36:08 +00:00
Myriad.h
NaCl.cpp Introduce -nostdlib++ flag to disable linking the C++ standard library. 2017-07-25 18:02:57 +00:00
NaCl.h
NetBSD.cpp Toolchain: Normalize dwarf, sjlj and seh eh 2017-11-29 07:25:12 +00:00
NetBSD.h Toolchain: Normalize dwarf, sjlj and seh eh 2017-11-29 07:25:12 +00:00
OpenBSD.cpp Also pass -pie back to the linker when linking on OpenBSD. 2017-07-30 21:13:59 +00:00
OpenBSD.h
PS4CPU.cpp Introduce -nostdlib++ flag to disable linking the C++ standard library. 2017-07-25 18:02:57 +00:00
PS4CPU.h
Solaris.cpp [Solaris] gcc toolchain handling revamp 2018-01-23 12:23:52 +00:00
Solaris.h [Solaris] gcc toolchain handling revamp 2018-01-23 12:23:52 +00:00
TCE.cpp Driver/ToolChains: Remove extra semicolons. NFC 2017-03-09 00:14:57 +00:00
TCE.h
WebAssembly.cpp [WebAssembly] Support -stdlib=libc++ switch 2018-01-12 17:54:49 +00:00
WebAssembly.h [WebAssembly] Support -stdlib=libc++ switch 2018-01-12 17:54:49 +00:00
XCore.cpp [OpenMP] Extend CLANG target options with device offloading kind. 2017-07-06 16:22:21 +00:00
XCore.h [OpenMP] Extend CLANG target options with device offloading kind. 2017-07-06 16:22:21 +00:00