[x32] Fix FrameIndex check in SelectLEA64_32Addr
[oota-llvm.git] / test / CodeGen / X86 / prefetch.ll
index ebe11a5e8e4a4d3477e3533ec21c5b2a0bfd1040..d6571acbbb7e0864d7ba111d3afacd62da23ae46 100644 (file)
@@ -1,4 +1,11 @@
 ; RUN: llc < %s -march=x86 -mattr=+sse | FileCheck %s
+; RUN: llc < %s -march=x86 -mattr=+avx | FileCheck %s
+; RUN: llc < %s -march=x86 -mattr=+sse -mattr=+prfchw | FileCheck %s -check-prefix=PRFCHW
+; RUN: llc < %s -march=x86 -mcpu=slm | FileCheck %s -check-prefix=SLM
+; RUN: llc < %s -march=x86 -mcpu=btver2 | FileCheck %s -check-prefix=PRFCHW
+; RUN: llc < %s -march=x86 -mcpu=btver2 -mattr=-prfchw | FileCheck %s -check-prefix=NOPRFCHW
+
+; rdar://10538297
 
 define void @t(i8* %ptr) nounwind  {
 entry:
@@ -6,10 +13,14 @@ entry:
 ; CHECK: prefetcht1
 ; CHECK: prefetcht0
 ; CHECK: prefetchnta
+; PRFCHW: prefetchw
+; NOPRFCHW-NOT: prefetchw
+; SLM: prefetchw
        tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 1, i32 1 )
        tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 2, i32 1 )
        tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 3, i32 1 )
        tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 0, i32 1 )
+       tail call void @llvm.prefetch( i8* %ptr, i32 1, i32 3, i32 1 )
        ret void
 }