diff options
author | Craig Topper <craig.topper@gmail.com> | 2017-02-09 04:27:34 +0000 |
---|---|---|
committer | Craig Topper <craig.topper@gmail.com> | 2017-02-09 04:27:34 +0000 |
commit | 50f3d1452c2adc16af219879fa1ff2ad8a514af0 (patch) | |
tree | 4736686faebf5a92663c51e4cd93a871c985a09a /llvm/lib/Target/X86/X86Subtarget.cpp | |
parent | b4a162be21cfc20cebe4de7a388cb6c3edac53da (diff) | |
download | bcm5719-llvm-50f3d1452c2adc16af219879fa1ff2ad8a514af0.tar.gz bcm5719-llvm-50f3d1452c2adc16af219879fa1ff2ad8a514af0.zip |
[X86] Clzero intrinsic and its addition under znver1
This patch does the following.
1. Adds an Intrinsic int_x86_clzero which works with __builtin_ia32_clzero
2. Identifies clzero feature using cpuid info. (Function:8000_0008, Checks if EBX[0]=1)
3. Adds the clzero feature under znver1 architecture.
4. The custom inserter is added in Lowering.
5. A testcase is added to check the intrinsic.
6. The clzero instruction is added to assembler test.
Patch by Ganesh Gopalasubramanian with a couple formatting tweaks, a disassembler test, and using update_llc_test.py from me.
Differential revision: https://reviews.llvm.org/D29385
llvm-svn: 294558
Diffstat (limited to 'llvm/lib/Target/X86/X86Subtarget.cpp')
-rw-r--r-- | llvm/lib/Target/X86/X86Subtarget.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/llvm/lib/Target/X86/X86Subtarget.cpp b/llvm/lib/Target/X86/X86Subtarget.cpp index 1646ad37599..e09e378b3f6 100644 --- a/llvm/lib/Target/X86/X86Subtarget.cpp +++ b/llvm/lib/Target/X86/X86Subtarget.cpp @@ -289,6 +289,7 @@ void X86Subtarget::initializeEnvironment() { HasRDSEED = false; HasLAHFSAHF = false; HasMWAITX = false; + HasCLZERO = false; HasMPX = false; IsBTMemSlow = false; IsPMULLDSlow = false; |