From: Craig Topper Date: Thu, 12 Oct 2017 20:08:31 +0000 (+0000) Subject: [X86] Add CLWB intrinsic. llvm part X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=0aacd96bb744ae619e9d4e8763802d2db59e677a;p=llvm [X86] Add CLWB intrinsic. llvm part git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@315613 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/include/llvm/IR/IntrinsicsX86.td b/include/llvm/IR/IntrinsicsX86.td index eae8564fdf9..e31db99cede 100644 --- a/include/llvm/IR/IntrinsicsX86.td +++ b/include/llvm/IR/IntrinsicsX86.td @@ -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], []>; } //===----------------------------------------------------------------------===// diff --git a/lib/Target/X86/X86InstrInfo.td b/lib/Target/X86/X86InstrInfo.td index 96eb5f4538f..d5e2caa8f28 100644 --- a/lib/Target/X86/X86InstrInfo.td +++ b/lib/Target/X86/X86InstrInfo.td @@ -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; //===----------------------------------------------------------------------===//