xref: /minix3/external/bsd/llvm/dist/llvm/test/CodeGen/X86/prefetch.ll (revision f4a2713ac843a11c696ec80c0a5e3e5d80b4d338)
1*f4a2713aSLionel Sambuc; RUN: llc < %s -march=x86 -mattr=+sse | FileCheck %s
2*f4a2713aSLionel Sambuc; RUN: llc < %s -march=x86 -mattr=+avx | FileCheck %s
3*f4a2713aSLionel Sambuc; RUN: llc < %s -march=x86 -mattr=+sse -mattr=+prfchw | FileCheck %s -check-prefix=PRFCHW
4*f4a2713aSLionel Sambuc; RUN: llc < %s -march=x86 -mcpu=slm | FileCheck %s -check-prefix=SLM
5*f4a2713aSLionel Sambuc; RUN: llc < %s -march=x86 -mcpu=btver2 | FileCheck %s -check-prefix=PRFCHW
6*f4a2713aSLionel Sambuc; RUN: llc < %s -march=x86 -mcpu=btver2 -mattr=-prfchw | FileCheck %s -check-prefix=NOPRFCHW
7*f4a2713aSLionel Sambuc
8*f4a2713aSLionel Sambuc; rdar://10538297
9*f4a2713aSLionel Sambuc
10*f4a2713aSLionel Sambucdefine void @t(i8* %ptr) nounwind  {
11*f4a2713aSLionel Sambucentry:
12*f4a2713aSLionel Sambuc; CHECK: prefetcht2
13*f4a2713aSLionel Sambuc; CHECK: prefetcht1
14*f4a2713aSLionel Sambuc; CHECK: prefetcht0
15*f4a2713aSLionel Sambuc; CHECK: prefetchnta
16*f4a2713aSLionel Sambuc; PRFCHW: prefetchw
17*f4a2713aSLionel Sambuc; NOPRFCHW-NOT: prefetchw
18*f4a2713aSLionel Sambuc; SLM: prefetchw
19*f4a2713aSLionel Sambuc	tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 1, i32 1 )
20*f4a2713aSLionel Sambuc	tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 2, i32 1 )
21*f4a2713aSLionel Sambuc	tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 3, i32 1 )
22*f4a2713aSLionel Sambuc	tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 0, i32 1 )
23*f4a2713aSLionel Sambuc	tail call void @llvm.prefetch( i8* %ptr, i32 1, i32 3, i32 1 )
24*f4a2713aSLionel Sambuc	ret void
25*f4a2713aSLionel Sambuc}
26*f4a2713aSLionel Sambuc
27*f4a2713aSLionel Sambucdeclare void @llvm.prefetch(i8*, i32, i32, i32) nounwind
28