brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 9a67cf8 Raw
51 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc < %s -mtriple=x86_64-unknown-unknown | FileCheck %s3; RUN: llc < %s -mtriple=i386-pc-win32 | FileCheck %s -check-prefix=CHECK-WIN4 5define float @call_ldexpf(float %a, i32 %b) nounwind {6; CHECK-LABEL: call_ldexpf:7; CHECK:       # %bb.0:8; CHECK-NEXT:    pushq %rax9; CHECK-NEXT:    callq ldexpf@PLT10; CHECK-NEXT:    popq %rax11; CHECK-NEXT:    retq12;13; CHECK-WIN-LABEL: call_ldexpf:14; CHECK-WIN:       # %bb.0:15; CHECK-WIN-NEXT:    subl $8, %esp16; CHECK-WIN-NEXT:    flds {{[0-9]+}}(%esp)17; CHECK-WIN-NEXT:    movl {{[0-9]+}}(%esp), %eax18; CHECK-WIN-NEXT:    movl %eax, {{[0-9]+}}(%esp)19; CHECK-WIN-NEXT:    fstps (%esp)20; CHECK-WIN-NEXT:    calll _ldexpf21; CHECK-WIN-NEXT:    addl $8, %esp22; CHECK-WIN-NEXT:    retl23  %result = call float @ldexpf(float %a, i32 %b)24  ret float %result25}26 27define double @call_ldexp(double %a, i32 %b) nounwind {28; CHECK-LABEL: call_ldexp:29; CHECK:       # %bb.0:30; CHECK-NEXT:    pushq %rax31; CHECK-NEXT:    callq ldexp@PLT32; CHECK-NEXT:    popq %rax33; CHECK-NEXT:    retq34;35; CHECK-WIN-LABEL: call_ldexp:36; CHECK-WIN:       # %bb.0:37; CHECK-WIN-NEXT:    subl $12, %esp38; CHECK-WIN-NEXT:    fldl {{[0-9]+}}(%esp)39; CHECK-WIN-NEXT:    movl {{[0-9]+}}(%esp), %eax40; CHECK-WIN-NEXT:    movl %eax, {{[0-9]+}}(%esp)41; CHECK-WIN-NEXT:    fstpl (%esp)42; CHECK-WIN-NEXT:    calll _ldexp43; CHECK-WIN-NEXT:    addl $12, %esp44; CHECK-WIN-NEXT:    retl45  %result = call double @ldexp(double %a, i32 %b)46  ret double %result47}48 49declare float @ldexpf(float %a, i32 %b)50declare double @ldexp(double %a, i32 %b)51