Home | History | Annotate | Download | only in AArch64
      1 ; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < %s | FileCheck %s
      2 
      3 define float @test_sincos_f32(float %f) {
      4   %sin = call float @sinf(float %f) readnone
      5   %cos = call float @cosf(float %f) readnone
      6 ; CHECK: bl cosf
      7 ; CHECK: bl sinf
      8   %val = fadd float %sin, %cos
      9   ret float %val
     10 }
     11 
     12 define double @test_sincos_f64(double %f) {
     13   %sin = call double @sin(double %f) readnone
     14   %cos = call double @cos(double %f) readnone
     15   %val = fadd double %sin, %cos
     16 ; CHECK: bl cos
     17 ; CHECK: bl sin
     18   ret double %val
     19 }
     20 
     21 define fp128 @test_sincos_f128(fp128 %f) {
     22   %sin = call fp128 @sinl(fp128 %f) readnone
     23   %cos = call fp128 @cosl(fp128 %f) readnone
     24   %val = fadd fp128 %sin, %cos
     25 ; CHECK: bl cosl
     26 ; CHECK: bl sinl
     27   ret fp128 %val
     28 }
     29 
     30 declare float  @sinf(float) readonly
     31 declare double @sin(double) readonly
     32 declare fp128 @sinl(fp128) readonly
     33 declare float @cosf(float) readonly
     34 declare double @cos(double) readonly
     35 declare fp128 @cosl(fp128) readonly