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/2003-07-07-BadLongConst.ll b/test/CodeGen/Generic/2003-07-07-BadLongConst.ll
new file mode 100644
index 0000000..376ef19
--- /dev/null
+++ b/test/CodeGen/Generic/2003-07-07-BadLongConst.ll
@@ -0,0 +1,22 @@
+; RUN: llvm-upgrade %s | llvm-as | llc
+
+
+%.str_1 = internal constant [42 x sbyte] c"   ui = %u (0x%x)\09\09UL-ui = %lld (0x%llx)\0A\00"
+
+implementation   ; Functions:
+
+declare int %printf(sbyte*, ...)
+
+internal ulong %getL() {
+entry:          ; No predecessors!
+        ret ulong 12659530247033960611
+}
+
+int %main(int %argc.1, sbyte** %argv.1) {
+entry:          ; No predecessors!
+        %tmp.11 = call ulong %getL( )
+        %tmp.5 = cast ulong %tmp.11 to uint
+        %tmp.23 = and ulong %tmp.11, 18446744069414584320
+        %tmp.16 = call int (sbyte*, ...)* %printf( sbyte* getelementptr ([42 x sbyte]* %.str_1, long 0, long 0), uint %tmp.5, uint %tmp.5, ulong %tmp.23, ulong %tmp.23 )
+        ret int 0
+}