summaryrefslogtreecommitdiffstats
path: root/llvm/lib/Target/X86/X86Subtarget.cpp
diff options
context:
space:
mode:
authorCraig Topper <craig.topper@gmail.com>2017-02-09 04:27:34 +0000
committerCraig Topper <craig.topper@gmail.com>2017-02-09 04:27:34 +0000
commit50f3d1452c2adc16af219879fa1ff2ad8a514af0 (patch)
tree4736686faebf5a92663c51e4cd93a871c985a09a /llvm/lib/Target/X86/X86Subtarget.cpp
parentb4a162be21cfc20cebe4de7a388cb6c3edac53da (diff)
downloadbcm5719-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.cpp1
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;
OpenPOWER on IntegriCloud