brintos

brintos / llvm-project-archived public Read only

0
0
Text · 4.1 KiB · 21df3f1 Raw
133 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 52; RUN: llc < %s -mtriple=x86_64-linux-gnu | FileCheck %s --check-prefixes=X64,DAG-X643; RUN: llc < %s -mtriple=x86_64-linux-gnu -fast-isel | FileCheck %s --check-prefixes=X64,FASTISEL-X644; RUN: llc < %s -mtriple=i686-linux-gnu | FileCheck %s --check-prefixes=X865; RUN: llc < %s -mtriple=i686-linux-gnu -fast-isel | FileCheck %s --check-prefixes=X866; RUN: llc < %s -mtriple=x86_64-linux-gnu -global-isel -global-isel-abort=1 | FileCheck %s --check-prefixes=GISEL-X647; RUN: llc < %s -mtriple=i686-linux-gnu -global-isel -global-isel-abort=1 | FileCheck %s --check-prefixes=GISEL-X868 9define float @ceil_f32(float %a) nounwind readnone {10; DAG-X64-LABEL: ceil_f32:11; DAG-X64:       # %bb.0:12; DAG-X64-NEXT:    jmp ceilf@PLT # TAILCALL13;14; FASTISEL-X64-LABEL: ceil_f32:15; FASTISEL-X64:       # %bb.0:16; FASTISEL-X64-NEXT:    pushq %rax17; FASTISEL-X64-NEXT:    callq ceilf@PLT18; FASTISEL-X64-NEXT:    popq %rax19; FASTISEL-X64-NEXT:    retq20;21; X86-LABEL: ceil_f32:22; X86:       # %bb.0:23; X86-NEXT:    subl $12, %esp24; X86-NEXT:    flds {{[0-9]+}}(%esp)25; X86-NEXT:    fstps (%esp)26; X86-NEXT:    calll ceilf27; X86-NEXT:    addl $12, %esp28; X86-NEXT:    retl29;30; GISEL-X64-LABEL: ceil_f32:31; GISEL-X64:       # %bb.0:32; GISEL-X64-NEXT:    pushq %rax33; GISEL-X64-NEXT:    callq ceilf34; GISEL-X64-NEXT:    popq %rax35; GISEL-X64-NEXT:    retq36;37; GISEL-X86-LABEL: ceil_f32:38; GISEL-X86:       # %bb.0:39; GISEL-X86-NEXT:    subl $12, %esp40; GISEL-X86-NEXT:    movl {{[0-9]+}}(%esp), %eax41; GISEL-X86-NEXT:    movl %eax, (%esp)42; GISEL-X86-NEXT:    calll ceilf43; GISEL-X86-NEXT:    addl $12, %esp44; GISEL-X86-NEXT:    retl45  %c = call float @llvm.ceil.f32(float %a)46  ret float %c47}48 49define double @ceil_f64(double %a) nounwind readnone {50; DAG-X64-LABEL: ceil_f64:51; DAG-X64:       # %bb.0:52; DAG-X64-NEXT:    jmp ceil@PLT # TAILCALL53;54; FASTISEL-X64-LABEL: ceil_f64:55; FASTISEL-X64:       # %bb.0:56; FASTISEL-X64-NEXT:    pushq %rax57; FASTISEL-X64-NEXT:    callq ceil@PLT58; FASTISEL-X64-NEXT:    popq %rax59; FASTISEL-X64-NEXT:    retq60;61; X86-LABEL: ceil_f64:62; X86:       # %bb.0:63; X86-NEXT:    subl $12, %esp64; X86-NEXT:    fldl {{[0-9]+}}(%esp)65; X86-NEXT:    fstpl (%esp)66; X86-NEXT:    calll ceil67; X86-NEXT:    addl $12, %esp68; X86-NEXT:    retl69;70; GISEL-X64-LABEL: ceil_f64:71; GISEL-X64:       # %bb.0:72; GISEL-X64-NEXT:    pushq %rax73; GISEL-X64-NEXT:    callq ceil74; GISEL-X64-NEXT:    popq %rax75; GISEL-X64-NEXT:    retq76;77; GISEL-X86-LABEL: ceil_f64:78; GISEL-X86:       # %bb.0:79; GISEL-X86-NEXT:    subl $12, %esp80; GISEL-X86-NEXT:    leal {{[0-9]+}}(%esp), %eax81; GISEL-X86-NEXT:    movl {{[0-9]+}}(%esp), %ecx82; GISEL-X86-NEXT:    movl 4(%eax), %eax83; GISEL-X86-NEXT:    xorl %edx, %edx84; GISEL-X86-NEXT:    addl %esp, %edx85; GISEL-X86-NEXT:    movl %ecx, (%esp)86; GISEL-X86-NEXT:    movl %eax, 4(%edx)87; GISEL-X86-NEXT:    calll ceil88; GISEL-X86-NEXT:    addl $12, %esp89; GISEL-X86-NEXT:    retl90  %c = call double @llvm.ceil.f64(double %a)91  ret double %c92}93 94define x86_fp80 @ceil_f80(x86_fp80 %a) nounwind readnone {95; X64-LABEL: ceil_f80:96; X64:       # %bb.0:97; X64-NEXT:    subq $24, %rsp98; X64-NEXT:    fldt {{[0-9]+}}(%rsp)99; X64-NEXT:    fstpt (%rsp)100; X64-NEXT:    callq ceill@PLT101; X64-NEXT:    addq $24, %rsp102; X64-NEXT:    retq103;104; X86-LABEL: ceil_f80:105; X86:       # %bb.0:106; X86-NEXT:    subl $12, %esp107; X86-NEXT:    fldt {{[0-9]+}}(%esp)108; X86-NEXT:    fstpt (%esp)109; X86-NEXT:    calll ceill110; X86-NEXT:    addl $12, %esp111; X86-NEXT:    retl112;113; GISEL-X64-LABEL: ceil_f80:114; GISEL-X64:       # %bb.0:115; GISEL-X64-NEXT:    subq $24, %rsp116; GISEL-X64-NEXT:    fldt {{[0-9]+}}(%rsp)117; GISEL-X64-NEXT:    fstpt (%rsp)118; GISEL-X64-NEXT:    callq ceill119; GISEL-X64-NEXT:    addq $24, %rsp120; GISEL-X64-NEXT:    retq121;122; GISEL-X86-LABEL: ceil_f80:123; GISEL-X86:       # %bb.0:124; GISEL-X86-NEXT:    subl $12, %esp125; GISEL-X86-NEXT:    fldt {{[0-9]+}}(%esp)126; GISEL-X86-NEXT:    fstpt (%esp)127; GISEL-X86-NEXT:    calll ceill128; GISEL-X86-NEXT:    addl $12, %esp129; GISEL-X86-NEXT:    retl130  %c = call x86_fp80 @llvm.ceil.f80(x86_fp80 %a)131  ret x86_fp80 %c132}133