It's not necessary to do rounding for alloca operations when the requested
alignment is equal to the stack alignment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@40004 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/test/CodeGen/ARM/branch.ll b/test/CodeGen/ARM/branch.ll
new file mode 100644
index 0000000..df28f42
--- /dev/null
+++ b/test/CodeGen/ARM/branch.ll
@@ -0,0 +1,57 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=arm > %t
+; RUN: grep bne %t
+; RUN: grep bge %t
+; RUN: grep bhs %t
+; RUN: grep blo %t
+
+void %f1(int %a, int %b, int* %v) {
+entry:
+ %tmp = seteq int %a, %b ; <bool> [#uses=1]
+ br bool %tmp, label %cond_true, label %return
+
+cond_true: ; preds = %entry
+ store int 0, int* %v
+ ret void
+
+return: ; preds = %entry
+ ret void
+}
+
+void %f2(int %a, int %b, int* %v) {
+entry:
+ %tmp = setlt int %a, %b ; <bool> [#uses=1]
+ br bool %tmp, label %cond_true, label %return
+
+cond_true: ; preds = %entry
+ store int 0, int* %v
+ ret void
+
+return: ; preds = %entry
+ ret void
+}
+
+void %f3(uint %a, uint %b, int* %v) {
+entry:
+ %tmp = setlt uint %a, %b ; <bool> [#uses=1]
+ br bool %tmp, label %cond_true, label %return
+
+cond_true: ; preds = %entry
+ store int 0, int* %v
+ ret void
+
+return: ; preds = %entry
+ ret void
+}
+
+void %f4(uint %a, uint %b, int* %v) {
+entry:
+ %tmp = setlt uint %a, %b ; <bool> [#uses=1]
+ br bool %tmp, label %return, label %cond_true
+
+cond_true: ; preds = %entry
+ store int 0, int* %v
+ ret void
+
+return: ; preds = %entry
+ ret void
+}