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/Transforms/ConstProp/remtest.ll b/test/Transforms/ConstProp/remtest.ll
new file mode 100644
index 0000000..905f4b7
--- /dev/null
+++ b/test/Transforms/ConstProp/remtest.ll
@@ -0,0 +1,23 @@
+; Ensure constant propagation of remainder instructions is working correctly.
+
+; RUN: llvm-upgrade < %s | llvm-as | opt -constprop -die | llvm-dis | not grep rem
+
+int %test1() {
+	%R = rem int 4, 3
+	ret int %R
+}
+
+int %test2() {
+	%R = rem int 123, -23
+	ret int %R
+}
+
+float %test3() {
+	%R = rem float 12.45, 123.213
+	ret float %R
+}
+
+double %test4() {
+	%R = rem double 312.20213123, 12.3333412
+	ret double %R
+}