brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.8 KiB · 55de4e2 Raw
116 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mtriple=powerpc64le-unknown-linux-gnu < %s | FileCheck --check-prefix=CHECK-LNX %s3; RUN: llc -enable-ppc-gen-scalar-mass -O3 -mcpu=ppc -mtriple=powerpc-ibm-aix-xcoff < %s | FileCheck --check-prefix=CHECK-AIX %s4 5define void @cos_f64(ptr %arg) {6; CHECK-LNX-LABEL: cos_f64:7; CHECK-LNX:       # %bb.0: # %bb8; CHECK-LNX-NEXT:    mflr 09; CHECK-LNX-NEXT:    stdu 1, -32(1)10; CHECK-LNX-NEXT:    std 0, 48(1)11; CHECK-LNX-NEXT:    .cfi_def_cfa_offset 3212; CHECK-LNX-NEXT:    .cfi_offset lr, 1613; CHECK-LNX-NEXT:    addis 3, 2, .LCPI0_0@toc@ha14; CHECK-LNX-NEXT:    lfs 1, .LCPI0_0@toc@l(3)15; CHECK-LNX-NEXT:    bl __xl_cos_finite16; CHECK-LNX-NEXT:    nop17; CHECK-LNX-NEXT:    xssqrtdp 0, 018; CHECK-LNX-NEXT:    xsmuldp 0, 0, 119; CHECK-LNX-NEXT:    .p2align 420; CHECK-LNX-NEXT:  .LBB0_1: # %bb221; CHECK-LNX-NEXT:    #22; CHECK-LNX-NEXT:    stfd 0, 0(3)23; CHECK-LNX-NEXT:    b .LBB0_124;25; CHECK-AIX-LABEL: cos_f64:26; CHECK-AIX:       # %bb.0: # %bb27; CHECK-AIX-NEXT:    mflr 028; CHECK-AIX-NEXT:    stwu 1, -64(1)29; CHECK-AIX-NEXT:    stw 0, 72(1)30; CHECK-AIX-NEXT:    stfd 31, 56(1) # 8-byte Folded Spill31; CHECK-AIX-NEXT:    bl .sqrt[PR]32; CHECK-AIX-NEXT:    nop33; CHECK-AIX-NEXT:    lwz 3, L..C0(2) # %const.034; CHECK-AIX-NEXT:    fmr 31, 135; CHECK-AIX-NEXT:    lfs 0, 0(3)36; CHECK-AIX-NEXT:    fmr 1, 037; CHECK-AIX-NEXT:    bl .__xl_cos_finite[PR]38; CHECK-AIX-NEXT:    nop39; CHECK-AIX-NEXT:    fmul 0, 31, 140; CHECK-AIX-NEXT:  L..BB0_1: # %bb241; CHECK-AIX-NEXT:    #42; CHECK-AIX-NEXT:    stfd 0, 0(3)43; CHECK-AIX-NEXT:    b L..BB0_144bb:45  %i1 = getelementptr i8, ptr %arg, i64 undef46  br label %bb247 48bb2:49  %i3 = getelementptr inbounds i8, ptr %i1, i64 undef50  store double undef, ptr %i3, align 851  %i7 = tail call fast double @llvm.sqrt.f64(double undef)52  %i8 = fmul fast double undef, 0x401921FB54442D2853  %i9 = tail call fast double @llvm.cos.f64(double %i8) #254  %i10 = fmul fast double %i7, %i955  store double %i10, ptr %i1, align 856  br label %bb257}58 59define void @log_f64(ptr %arg) {60; CHECK-LNX-LABEL: log_f64:61; CHECK-LNX:       # %bb.0: # %bb62; CHECK-LNX-NEXT:    mflr 063; CHECK-LNX-NEXT:    stdu 1, -32(1)64; CHECK-LNX-NEXT:    std 0, 48(1)65; CHECK-LNX-NEXT:    .cfi_def_cfa_offset 3266; CHECK-LNX-NEXT:    .cfi_offset lr, 1667; CHECK-LNX-NEXT:    addis 3, 2, .LCPI1_0@toc@ha68; CHECK-LNX-NEXT:    lfs 1, .LCPI1_0@toc@l(3)69; CHECK-LNX-NEXT:    bl __xl_log_finite70; CHECK-LNX-NEXT:    nop71; CHECK-LNX-NEXT:    xssqrtdp 0, 072; CHECK-LNX-NEXT:    xsmuldp 0, 0, 173; CHECK-LNX-NEXT:    .p2align 474; CHECK-LNX-NEXT:  .LBB1_1: # %bb275; CHECK-LNX-NEXT:    #76; CHECK-LNX-NEXT:    stfd 0, 0(3)77; CHECK-LNX-NEXT:    b .LBB1_178;79; CHECK-AIX-LABEL: log_f64:80; CHECK-AIX:       # %bb.0: # %bb81; CHECK-AIX-NEXT:    mflr 082; CHECK-AIX-NEXT:    stwu 1, -64(1)83; CHECK-AIX-NEXT:    stw 0, 72(1)84; CHECK-AIX-NEXT:    stfd 31, 56(1) # 8-byte Folded Spill85; CHECK-AIX-NEXT:    bl .sqrt[PR]86; CHECK-AIX-NEXT:    nop87; CHECK-AIX-NEXT:    lwz 3, L..C1(2) # %const.088; CHECK-AIX-NEXT:    fmr 31, 189; CHECK-AIX-NEXT:    lfs 0, 0(3)90; CHECK-AIX-NEXT:    fmr 1, 091; CHECK-AIX-NEXT:    bl .__xl_log_finite[PR]92; CHECK-AIX-NEXT:    nop93; CHECK-AIX-NEXT:    fmul 0, 31, 194; CHECK-AIX-NEXT:  L..BB1_1: # %bb295; CHECK-AIX-NEXT:    #96; CHECK-AIX-NEXT:    stfd 0, 0(3)97; CHECK-AIX-NEXT:    b L..BB1_198bb:99  %i1 = getelementptr i8, ptr %arg, i64 undef100  br label %bb2101 102bb2:103  %i3 = getelementptr inbounds i8, ptr %i1, i64 undef104  store double undef, ptr %i3, align 8105  %i7 = tail call fast double @llvm.sqrt.f64(double undef)106  %i8 = fmul fast double undef, 0x401921FB54442D28107  %i9 = tail call fast double @llvm.log.f64(double %i8) #2108  %i10 = fmul fast double %i7, %i9109  store double %i10, ptr %i1, align 8110  br label %bb2111}112 113declare double @llvm.sqrt.f64(double)114declare double @llvm.cos.f64(double)115declare double @llvm.log.f64(double)116