diff options
Diffstat (limited to 'llvm/test/CodeGen')
| -rw-r--r-- | llvm/test/CodeGen/WebAssembly/fp32.ll | 40 | ||||
| -rw-r--r-- | llvm/test/CodeGen/WebAssembly/fp64.ll | 40 |
2 files changed, 80 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/WebAssembly/fp32.ll b/llvm/test/CodeGen/WebAssembly/fp32.ll index 74cf2de9fe1..279aaba44b9 100644 --- a/llvm/test/CodeGen/WebAssembly/fp32.ll +++ b/llvm/test/CodeGen/WebAssembly/fp32.ll @@ -8,6 +8,11 @@ target triple = "wasm32-unknown-unknown" declare float @llvm.fabs.f32(float) declare float @llvm.copysign.f32(float, float) declare float @llvm.sqrt.f32(float) +declare float @llvm.ceil.f32(float) +declare float @llvm.floor.f32(float) +declare float @llvm.trunc.f32(float) +declare float @llvm.nearbyint.f32(float) +declare float @llvm.rint.f32(float) ; CHECK-LABEL: fadd32: ; CHECK-NEXT: (setlocal @0 (argument 1)) @@ -67,3 +72,38 @@ define float @sqrt32(float %x) { %a = call float @llvm.sqrt.f32(float %x) ret float %a } + +; CHECK-LABEL: ceil32: +; CHECK: (setlocal @1 (ceil @0)) +define float @ceil32(float %x) { + %a = call float @llvm.ceil.f32(float %x) + ret float %a +} + +; CHECK-LABEL: floor32: +; CHECK: (setlocal @1 (floor @0)) +define float @floor32(float %x) { + %a = call float @llvm.floor.f32(float %x) + ret float %a +} + +; CHECK-LABEL: trunc32: +; CHECK: (setlocal @1 (trunc @0)) +define float @trunc32(float %x) { + %a = call float @llvm.trunc.f32(float %x) + ret float %a +} + +; CHECK-LABEL: nearestint32: +; CHECK: (setlocal @1 (nearestint @0)) +define float @nearestint32(float %x) { + %a = call float @llvm.nearbyint.f32(float %x) + ret float %a +} + +; CHECK-LABEL: nearestint32_via_rint: +; CHECK: (setlocal @1 (nearestint @0)) +define float @nearestint32_via_rint(float %x) { + %a = call float @llvm.rint.f32(float %x) + ret float %a +} diff --git a/llvm/test/CodeGen/WebAssembly/fp64.ll b/llvm/test/CodeGen/WebAssembly/fp64.ll index 7aa666e5948..948d48470d6 100644 --- a/llvm/test/CodeGen/WebAssembly/fp64.ll +++ b/llvm/test/CodeGen/WebAssembly/fp64.ll @@ -8,6 +8,11 @@ target triple = "wasm32-unknown-unknown" declare double @llvm.fabs.f64(double) declare double @llvm.copysign.f64(double, double) declare double @llvm.sqrt.f64(double) +declare double @llvm.ceil.f64(double) +declare double @llvm.floor.f64(double) +declare double @llvm.trunc.f64(double) +declare double @llvm.nearbyint.f64(double) +declare double @llvm.rint.f64(double) ; CHECK-LABEL: fadd64: ; CHECK-NEXT: (setlocal @0 (argument 1)) @@ -67,3 +72,38 @@ define double @sqrt64(double %x) { %a = call double @llvm.sqrt.f64(double %x) ret double %a } + +; CHECK-LABEL: ceil64: +; CHECK: (setlocal @1 (ceil @0)) +define double @ceil64(double %x) { + %a = call double @llvm.ceil.f64(double %x) + ret double %a +} + +; CHECK-LABEL: floor64: +; CHECK: (setlocal @1 (floor @0)) +define double @floor64(double %x) { + %a = call double @llvm.floor.f64(double %x) + ret double %a +} + +; CHECK-LABEL: trunc64: +; CHECK: (setlocal @1 (trunc @0)) +define double @trunc64(double %x) { + %a = call double @llvm.trunc.f64(double %x) + ret double %a +} + +; CHECK-LABEL: nearestint64: +; CHECK: (setlocal @1 (nearestint @0)) +define double @nearestint64(double %x) { + %a = call double @llvm.nearbyint.f64(double %x) + ret double %a +} + +; CHECK-LABEL: nearestint64_via_rint: +; CHECK: (setlocal @1 (nearestint @0)) +define double @nearestint64_via_rint(double %x) { + %a = call double @llvm.rint.f64(double %x) + ret double %a +} |

