// 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",
;
; 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:
;
; 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