diff options
| author | Craig Topper <craig.topper@intel.com> | 2017-10-12 20:08:31 +0000 |
|---|---|---|
| committer | Craig Topper <craig.topper@intel.com> | 2017-10-12 20:08:31 +0000 |
| commit | 060cb437215c1fbcfa3cd0c8d3643ec041336bce (patch) | |
| tree | 60fce5a3701843c59168cac2b790306a761ff849 /llvm | |
| parent | 3e8cc2bda689c0d94524e7a7dbc41b09cbf18acb (diff) | |
| download | bcm5719-llvm-060cb437215c1fbcfa3cd0c8d3643ec041336bce.tar.gz bcm5719-llvm-060cb437215c1fbcfa3cd0c8d3643ec041336bce.zip | |
[X86] Add CLWB intrinsic. llvm part
llvm-svn: 315613
Diffstat (limited to 'llvm')
| -rw-r--r-- | llvm/include/llvm/IR/IntrinsicsX86.td | 5 | ||||
| -rw-r--r-- | llvm/lib/Target/X86/X86InstrInfo.td | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/llvm/include/llvm/IR/IntrinsicsX86.td b/llvm/include/llvm/IR/IntrinsicsX86.td index eae8564fdf9..e31db99cede 100644 --- a/llvm/include/llvm/IR/IntrinsicsX86.td +++ b/llvm/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/llvm/lib/Target/X86/X86InstrInfo.td b/llvm/lib/Target/X86/X86InstrInfo.td index 96eb5f4538f..d5e2caa8f28 100644 --- a/llvm/lib/Target/X86/X86InstrInfo.td +++ b/llvm/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; //===----------------------------------------------------------------------===// |

