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/CFrontend/block-copy.c b/test/CFrontend/block-copy.c
new file mode 100644
index 0000000..a53732e
--- /dev/null
+++ b/test/CFrontend/block-copy.c
@@ -0,0 +1,20 @@
+/* RUN: %llvmgcc %s -S -o - -emit-llvm -O3 | grep {call.*memcpy}
+
+ This should compile into a memcpy from a global, not 128 stores. */
+
+
+
+void foo();
+
+float bar() {
+	float lookupTable[] = {-1,-1,-1,0, -1,-1,0,-1, -1,-1,0,1, -1,-1,1,0,
+						   -1,0,-1,-1, -1,0,-1,1, -1,0,1,-1, -1,0,1,1,
+						   -1,1,-1,0, -1,1,0,-1, -1,1,0,1, -1,1,1,0,
+						   0,-1,-1,-1, 0,-1,-1,1, 0,-1,1,-1, 0,-1,1,1,
+						   1,-1,-1,0, 1,-1,0,-1, 1,-1,0,1, 1,-1,1,0,
+						   1,0,-1,-1, 1,0,-1,1, 1,0,1,-1, 1,0,1,1,
+						   1,1,-1,0, 1,1,0,-1, 1,1,0,1, 1,1,1,0,
+						   0,1,-1,-1, 0,1,-1,1, 0,1,1,-1, 0,1,1,1};
+   foo(lookupTable);
+}
+