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/PowerPC/2006-12-07-SelectCrash.ll b/test/CodeGen/PowerPC/2006-12-07-SelectCrash.ll
new file mode 100644
index 0000000..6fa410e
--- /dev/null
+++ b/test/CodeGen/PowerPC/2006-12-07-SelectCrash.ll
@@ -0,0 +1,27 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc64
+; RUN: llvm-upgrade < %s | llvm-as | llc -march=ppc32
+; RUN: llvm-upgrade < %s | llvm-as | llc
+
+%qsz.b = external global bool		; <bool*> [#uses=1]
+
+implementation   ; Functions:
+
+fastcc void %qst() {
+entry:
+	br bool true, label %cond_next71, label %cond_true
+
+cond_true:		; preds = %entry
+	ret void
+
+cond_next71:		; preds = %entry
+	%tmp73.b = load bool* %qsz.b		; <bool> [#uses=1]
+	%ii.4.ph = select bool %tmp73.b, ulong 4, ulong 0		; <ulong> [#uses=1]
+	br label %bb139
+
+bb82:		; preds = %bb139
+	ret void
+
+bb139:		; preds = %bb139, %cond_next71
+	%exitcond89 = seteq ulong 0, %ii.4.ph		; <bool> [#uses=1]
+	br bool %exitcond89, label %bb82, label %bb139
+}