diff options
author | Evan Cheng <evan.cheng@apple.com> | 2010-11-04 05:19:35 +0000 |
---|---|---|
committer | Evan Cheng <evan.cheng@apple.com> | 2010-11-04 05:19:35 +0000 |
commit | 21acf9fb38d2fcf60ab3b935c83e8f08eb177432 (patch) | |
tree | 1682d3e45eb70157c7c1c95a58003fabb2d69bb3 /llvm/test/CodeGen/ARM/prefetch.ll | |
parent | 2683fd6f8c930e30d51ddfd5fa6c91658e6202db (diff) | |
download | bcm5719-llvm-21acf9fb38d2fcf60ab3b935c83e8f08eb177432.tar.gz bcm5719-llvm-21acf9fb38d2fcf60ab3b935c83e8f08eb177432.zip |
Fix @llvm.prefetch isel. Selecting between pld / pldw using the first immediate rw. There is currently no intrinsic that matches to pli.
llvm-svn: 118237
Diffstat (limited to 'llvm/test/CodeGen/ARM/prefetch.ll')
-rw-r--r-- | llvm/test/CodeGen/ARM/prefetch.ll | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/llvm/test/CodeGen/ARM/prefetch.ll b/llvm/test/CodeGen/ARM/prefetch.ll index 1e4ff30af78..895b27b749d 100644 --- a/llvm/test/CodeGen/ARM/prefetch.ll +++ b/llvm/test/CodeGen/ARM/prefetch.ll @@ -1,29 +1,26 @@ ; RUN: llc < %s -march=thumb -mattr=-thumb2 | not grep pld -; RUN: llc < %s -march=thumb -mattr=+v7a,+mp | FileCheck %s -check-prefix=THUMB2 -; RUN: llc < %s -march=arm -mattr=+v7a,+mp | FileCheck %s -check-prefix=ARM +; RUN: llc < %s -march=thumb -mattr=+v7a | FileCheck %s -check-prefix=THUMB2 +; RUN: llc < %s -march=arm -mattr=+v7a,+mp | FileCheck %s -check-prefix=ARM-MP ; rdar://8601536 define void @t1(i8* %ptr) nounwind { entry: -; ARM: t1: -; ARM: pli [r0] -; ARM: pldw [r0] -; ARM: pld [r0] +; ARM-MP: t1: +; ARM-MP: pldw [r0] +; ARM-MP: pld [r0] ; THUMB2: t1: -; THUMB2: pli [r0] -; THUMB2: pldw [r0] +; THUMB2-NOT: pldw [r0] ; THUMB2: pld [r0] - tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 1 ) - tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 2 ) + tail call void @llvm.prefetch( i8* %ptr, i32 1, i32 3 ) tail call void @llvm.prefetch( i8* %ptr, i32 0, i32 3 ) ret void } define void @t2(i8* %ptr) nounwind { entry: -; ARM: t2: -; ARM: pld [r0, #1023] +; ARM-MP: t2: +; ARM-MP: pld [r0, #1023] ; THUMB2: t2: ; THUMB2: pld [r0, #1023] @@ -34,8 +31,8 @@ entry: define void @t3(i32 %base, i32 %offset) nounwind { entry: -; ARM: t3: -; ARM: pld [r0, r1, lsr #2] +; ARM-MP: t3: +; ARM-MP: pld [r0, r1, lsr #2] ; THUMB2: t3: ; THUMB2: lsrs r1, r1, #2 @@ -49,8 +46,8 @@ entry: define void @t4(i32 %base, i32 %offset) nounwind { entry: -; ARM: t4: -; ARM: pld [r0, r1, lsl #2] +; ARM-MP: t4: +; ARM-MP: pld [r0, r1, lsl #2] ; THUMB2: t4: ; THUMB2: pld [r0, r1, lsl #2] |