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/Generic/ConstantExprLowering.llx b/test/CodeGen/Generic/ConstantExprLowering.llx
new file mode 100644
index 0000000..afb6530
--- /dev/null
+++ b/test/CodeGen/Generic/ConstantExprLowering.llx
@@ -0,0 +1,26 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc
+
+%.str_1 = internal constant [16 x sbyte] c"%d %d %d %d %d\0A\00"
+
+%XA = external global int
+%XB = external global int
+
+implementation ; Functions:
+
+declare int %printf(sbyte*, ...)
+
+void %test(int %A, int %B, int %C, int %D) {
+entry:
+ %t1 = setlt int %A, 0
+ br bool %t1, label %less, label %not_less
+less:
+ br label %not_less
+not_less:
+ %t2 = phi int [ sub ( int cast (int* %XA to int),
+ int cast (int* %XB to int) ), %less],
+ [ sub ( int cast (int* %XA to int),
+ int cast (int* %XB to int) ), %entry]
+ %tmp.39 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([16 x sbyte]* %.str_1, long 0, long 0), int %t2 )
+ ret void
+}
+