[llvm] r319253 - [X86] Tag CLFLUSHOPT with same scheduling behaviour as CLFLUSH

Simon Pilgrim via llvm-commits llvm-commits at lists.llvm.org
Tue Nov 28 15:25:42 PST 2017


Author: rksimon
Date: Tue Nov 28 15:25:42 2017
New Revision: 319253

URL: http://llvm.org/viewvc/llvm-project?rev=319253&view=rev
Log:
[X86] Tag CLFLUSHOPT with same scheduling behaviour as CLFLUSH

Modified:
    llvm/trunk/lib/Target/X86/X86InstrInfo.td
    llvm/trunk/test/CodeGen/X86/clflushopt-schedule.ll

Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=319253&r1=319252&r2=319253&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Tue Nov 28 15:25:42 2017
@@ -2708,9 +2708,10 @@ let Predicates = [HasTBM] in {
 // Memory Instructions
 //
 
-let Predicates = [HasCLFLUSHOPT] in
+let Predicates = [HasCLFLUSHOPT], SchedRW = [WriteLoad] in
 def CLFLUSHOPT : I<0xAE, MRM7m, (outs), (ins i8mem:$src),
-                   "clflushopt\t$src", [(int_x86_clflushopt addr:$src)]>, PD;
+                   "clflushopt\t$src", [(int_x86_clflushopt addr:$src)],
+                   IIC_SSE_PREFETCH>, PD;
 
 let Predicates = [HasCLWB] in
 def CLWB       : I<0xAE, MRM6m, (outs), (ins i8mem:$src), "clwb\t$src",

Modified: llvm/trunk/test/CodeGen/X86/clflushopt-schedule.ll
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/CodeGen/X86/clflushopt-schedule.ll?rev=319253&r1=319252&r2=319253&view=diff
==============================================================================
--- llvm/trunk/test/CodeGen/X86/clflushopt-schedule.ll (original)
+++ llvm/trunk/test/CodeGen/X86/clflushopt-schedule.ll Tue Nov 28 15:25:42 2017
@@ -13,7 +13,7 @@ define void @clflushopt(i8* %p) nounwind
 ;
 ; GLM-LABEL: clflushopt:
 ; GLM:       # BB#0:
-; GLM-NEXT:    clflushopt (%rdi)
+; GLM-NEXT:    clflushopt (%rdi) # sched: [3:1.00]
 ; GLM-NEXT:    retq # sched: [4:1.00]
 ;
 ; SKYLAKE-LABEL: clflushopt:
@@ -28,7 +28,7 @@ define void @clflushopt(i8* %p) nounwind
 ;
 ; ZNVER1-LABEL: clflushopt:
 ; ZNVER1:       # BB#0:
-; ZNVER1-NEXT:    clflushopt (%rdi)
+; ZNVER1-NEXT:    clflushopt (%rdi) # sched: [8:0.50]
 ; ZNVER1-NEXT:    retq # sched: [1:0.50]
   tail call void @llvm.x86.clflushopt(i8* %p)
   ret void




More information about the llvm-commits mailing list