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/intrinsics.ll b/test/CodeGen/Generic/intrinsics.ll
new file mode 100644
index 0000000..eb3148a
--- /dev/null
+++ b/test/CodeGen/Generic/intrinsics.ll
@@ -0,0 +1,31 @@
+; RUN: llvm-upgrade < %s | llvm-as | llc
+
+;; SQRT
+declare float %llvm.sqrt.f32(float)
+declare double %llvm.sqrt.f64(double)
+double %test_sqrt(float %F) {
+ %G = call float %llvm.sqrt.f32(float %F)
+ %H = cast float %G to double
+ %I = call double %llvm.sqrt.f64(double %H)
+ ret double %I
+}
+
+; SIN
+declare float %sinf(float)
+declare double %sin(double)
+double %test_sin(float %F) {
+ %G = call float %sinf(float %F)
+ %H = cast float %G to double
+ %I = call double %sin(double %H)
+ ret double %I
+}
+
+; COS
+declare float %cosf(float)
+declare double %cos(double)
+double %test_cos(float %F) {
+ %G = call float %cosf(float %F)
+ %H = cast float %G to double
+ %I = call double %cos(double %H)
+ ret double %I
+}