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