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/fneg-fabs.ll b/test/CodeGen/Generic/fneg-fabs.ll
new file mode 100644
index 0000000..3dc4588
--- /dev/null
+++ b/test/CodeGen/Generic/fneg-fabs.ll
@@ -0,0 +1,26 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc
+
+double %fneg(double %X) {
+	%Y = sub double -0.0, %X
+	ret double %Y
+}
+
+float %fnegf(float %X) {
+	%Y = sub float -0.0, %X
+	ret float %Y
+}
+
+declare double %fabs(double)
+declare float %fabsf(float)
+
+
+double %fabstest(double %X) {
+	%Y = call double %fabs(double %X)
+	ret double %Y
+}
+
+float %fabsftest(float %X) {
+	%Y = call float %fabsf(float %X)
+	ret float %Y
+}
+