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 | 416941d50fec5ebdc4ae3b113a0db1320c3b2a87 (patch) | |
| tree | ad8c26d8748cdb5d688f3e4f490a1a0e3c4000aa /test/CodeGen/ARM/prefetch.ll | |
| parent | c07bd40a649991d46c95cf6afe2c4ada4ac49f13 (diff) | |
Fix @llvm.prefetch isel. Selecting between pld / pldw using the first immediate rw. There is currently no intrinsic that matches to pli.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@118237 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'test/CodeGen/ARM/prefetch.ll')
| -rw-r--r-- | test/CodeGen/ARM/prefetch.ll | 29 |
1 files changed, 13 insertions, 16 deletions
diff --git a/test/CodeGen/ARM/prefetch.ll b/test/CodeGen/ARM/prefetch.ll index 1e4ff30af7..895b27b749 100644 --- a/test/CodeGen/ARM/prefetch.ll +++ b/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] |
