brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · 84d18d5 Raw
40 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 22; RUN: llc -mtriple=x86_64-unknown-unknown < %s | FileCheck -check-prefixes=X64 %s3; FIXME: Expansion without libcall4; XUN: llc -mtriple=i386-pc-win32 < %s | FileCheck -check-prefix=WIN32 %s5 6define x86_fp80 @ldexp_f80(x86_fp80 %arg0, i32 %arg1) nounwind {7; X64-LABEL: ldexp_f80:8; X64:       # %bb.0:9; X64-NEXT:    subq $24, %rsp10; X64-NEXT:    fldt {{[0-9]+}}(%rsp)11; X64-NEXT:    fstpt (%rsp)12; X64-NEXT:    callq ldexpl@PLT13; X64-NEXT:    addq $24, %rsp14; X64-NEXT:    retq15  %ldexp = call x86_fp80 @llvm.ldexp.f80.i32(x86_fp80 %arg0, i32 %arg1)16  ret x86_fp80 %ldexp17}18 19define x86_fp80 @test_strict_ldexp_f80_i32(ptr addrspace(1) %out, x86_fp80 %a, i32 %b) nounwind #2 {20; X64-LABEL: test_strict_ldexp_f80_i32:21; X64:       # %bb.0:22; X64-NEXT:    subq $24, %rsp23; X64-NEXT:    movl %esi, %edi24; X64-NEXT:    fldt {{[0-9]+}}(%rsp)25; X64-NEXT:    fstpt (%rsp)26; X64-NEXT:    wait27; X64-NEXT:    callq ldexpl@PLT28; X64-NEXT:    addq $24, %rsp29; X64-NEXT:    retq30  %result = call x86_fp80 @llvm.experimental.constrained.ldexp.f80.i32(x86_fp80 %a, i32 %b, metadata !"round.dynamic", metadata !"fpexcept.strict")31  ret x86_fp80 %result32}33 34declare x86_fp80 @llvm.ldexp.f80.i32(x86_fp80, i32)35declare x86_fp80 @llvm.experimental.constrained.ldexp.f80.i32(x86_fp80, i32, metadata, metadata) #136 37attributes #0 = { nocallback nofree nosync nounwind speculatable willreturn memory(none) }38attributes #1 = { nocallback nofree nosync nounwind willreturn memory(inaccessiblemem: readwrite) }39attributes #2 = { strictfp }40