]> granicus.if.org Git - llvm/commitdiff
[X86] Add CLWB intrinsic. llvm part
authorCraig Topper <craig.topper@intel.com>
Thu, 12 Oct 2017 20:08:31 +0000 (20:08 +0000)
committerCraig Topper <craig.topper@intel.com>
Thu, 12 Oct 2017 20:08:31 +0000 (20:08 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315613 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/IR/IntrinsicsX86.td
lib/Target/X86/X86InstrInfo.td

index eae8564fdf952465266f8f37b5a2e9122828dfd3..e31db99cede7fbf30657526be22c9c2ebac846a3 100644 (file)
@@ -3473,10 +3473,13 @@ let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
 }
 
 //===----------------------------------------------------------------------===//
-// CLFLUSHOPT
+// CLFLUSHOPT and CLWB
 let TargetPrefix = "x86" in {  // All intrinsics start with "llvm.x86.".
   def int_x86_clflushopt : GCCBuiltin<"__builtin_ia32_clflushopt">,
               Intrinsic<[], [llvm_ptr_ty], []>;
+
+  def int_x86_clwb : GCCBuiltin<"__builtin_ia32_clwb">,
+              Intrinsic<[], [llvm_ptr_ty], []>;
 }
 
 //===----------------------------------------------------------------------===//
index 96eb5f4538fa39e3fcceb1bc5263f2af423da7d2..d5e2caa8f281d7b75f3ca22d70ad1cd4501f65d7 100644 (file)
@@ -2698,9 +2698,9 @@ let Predicates = [HasCLFLUSHOPT] in
 def CLFLUSHOPT : I<0xAE, MRM7m, (outs), (ins i8mem:$src),
                    "clflushopt\t$src", [(int_x86_clflushopt addr:$src)]>, PD;
 
-// TODO: Add an instrincis for this.
 let Predicates = [HasCLWB] in
-def CLWB       : I<0xAE, MRM6m, (outs), (ins i8mem:$src), "clwb\t$src", []>, PD;
+def CLWB       : I<0xAE, MRM6m, (outs), (ins i8mem:$src), "clwb\t$src",
+                   [(int_x86_clwb addr:$src)]>, PD;
 
 
 //===----------------------------------------------------------------------===//