projects
/
oota-llvm.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Guard fabs to bfc convert with V6T2 flag
[oota-llvm.git]
/
test
/
CodeGen
/
ARM
/
wrong-t2stmia-size-opt.ll
diff --git
a/test/CodeGen/ARM/wrong-t2stmia-size-opt.ll
b/test/CodeGen/ARM/wrong-t2stmia-size-opt.ll
index 96c5fb8961ef7eea93ee13ca5976f201081b01c9..fe335df7a1adacb03d63367112aed84146330aa8 100644
(file)
--- a/
test/CodeGen/ARM/wrong-t2stmia-size-opt.ll
+++ b/
test/CodeGen/ARM/wrong-t2stmia-size-opt.ll
@@
-5,16
+5,20
@@
target triple = "thumbv7--linux-gnueabi"
declare i8* @llvm.returnaddress(i32)
declare i8* @llvm.returnaddress(i32)
-define i32* @wrong-t2stmia-size-reduction(i32* %addr, i32 %val0) minsize {
+define i32* @wrong-t2stmia-size-reduction(i32* %addr, i32 %val0
, i32 %val1
) minsize {
store i32 %val0, i32* %addr
%addr1 = getelementptr i32, i32* %addr, i32 1
store i32 %val0, i32* %addr
%addr1 = getelementptr i32, i32* %addr, i32 1
+ %addr2 = getelementptr i32, i32* %addr, i32 2
%lr = call i8* @llvm.returnaddress(i32 0)
%lr32 = ptrtoint i8* %lr to i32
%lr = call i8* @llvm.returnaddress(i32 0)
%lr32 = ptrtoint i8* %lr to i32
- store i32 %lr32, i32* %addr1
- %addr2 = getelementptr i32, i32* %addr1, i32 1
- ret i32* %addr2
+ store i32 %val1, i32* %addr1
+ store i32 %lr32, i32* %addr2
+
+ %addr3 = getelementptr i32, i32* %addr, i32 3
+ ret i32* %addr3
}
}
-; Check that stm writes t
wo
registers. The bug caused one of registers (LR,
+; Check that stm writes t
hree
registers. The bug caused one of registers (LR,
; which invalid for Thumb1 form of STMIA instruction) to be dropped.
; which invalid for Thumb1 form of STMIA instruction) to be dropped.
-; CHECK: stm{{[^,]*}}, {{{.*,.*}}}
+; CHECK-LABEL: wrong-t2stmia-size-reduction:
+; CHECK: stm{{[^,]*}}, {{{.*,.*,.*}}}