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 10define void @t(i8* %ptr) nounwind { 11entry: 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 27declare void @llvm.prefetch(i8*, i32, i32, i32) nounwind 28