Re-land [openmp] Fix warnings when building on Windows with latest MSVC or Clang...
[llvm-project.git] / llvm / test / CodeGen / X86 / powi-windows.ll
blobbc5a8719ae392729379af3e289bb5cc6b5ec05c0
1 ; RUN: llc -mtriple x86_64-windows < %s | FileCheck %s
3 declare double @llvm.powi.f64.i32(double, i32)
4 declare float @llvm.powi.f32.i32(float, i32)
6 define double @d(double %d, i32 %i) {
7 entry:
8   %0 = tail call double @llvm.powi.f64.i32(double %d, i32 %i)
9   ret double %0
12 ; CHECK-LABEL: d:
13 ; CHECK: cvtsi2sd %edx, %xmm1
14 ; CHECK-NEXT: jmp pow
16 define float @f(float %f, i32 %i) {
17 entry:
18   %0 = tail call float @llvm.powi.f32.i32(float %f, i32 %i)
19   ret float %0
22 ; CHECK-LABEL: f:
23 ; CHECK: cvtsi2ss %edx, %xmm1
24 ; CHECK-NEXT: jmp powf
26 define float @g(double %d, i32 %i) {
27 entry:
28   %0 = tail call double @llvm.powi.f64.i32(double %d, i32 %i)
29   %conv = fptrunc double %0 to float
30   ret float %conv
33 ; CHECK-LABEL: g:
34 ; CHECK: cvtsi2sd %edx, %xmm1
35 ; CHECK-NEXT: callq pow
37 define double @h(float %f, i32 %i) {
38 entry:
39   %0 = tail call float @llvm.powi.f32.i32(float %f, i32 %i)
40   %conv = fpext float %0 to double
41   ret double %conv
44 ; CHECK-LABEL: h:
45 ; CHECK: cvtsi2ss %edx, %xmm1
46 ; CHECK-NEXT: callq powf