66 lines · plain
1; RUN: llc -mtriple=aarch64-linux-gnu -verify-machineinstrs -o - %s | FileCheck %s2 3define float @test_sincos_f32(float %f) {4; CHECK-LABEL: test_sincos_f32:5 %sin = call float @sinf(float %f) readnone6 %cos = call float @cosf(float %f) readnone7; CHECK: bl sincosf8 %val = fadd float %sin, %cos9 ret float %val10}11 12define float @test_sincos_f32_errno(float %f) {13; CHECK-LABEL: test_sincos_f32_errno:14 %sin = call float @sinf(float %f)15 %cos = call float @cosf(float %f)16; CHECK: bl sinf17; CHECK: bl cosf18 %val = fadd float %sin, %cos19 ret float %val20}21 22define double @test_sincos_f64(double %f) {23; CHECK-LABEL: test_sincos_f64:24 %sin = call double @sin(double %f) readnone25 %cos = call double @cos(double %f) readnone26 %val = fadd double %sin, %cos27; CHECK: bl sincos28 ret double %val29}30 31define double @test_sincos_f64_errno(double %f) {32; CHECK-LABEL: test_sincos_f64_errno:33 %sin = call double @sin(double %f)34 %cos = call double @cos(double %f)35 %val = fadd double %sin, %cos36; CHECK: bl sin37; CHECK: bl cos38 ret double %val39}40 41define fp128 @test_sincos_f128(fp128 %f) {42; CHECK-LABEL: test_sincos_f128:43 %sin = call fp128 @sinl(fp128 %f) readnone44 %cos = call fp128 @cosl(fp128 %f) readnone45 %val = fadd fp128 %sin, %cos46; CHECK: bl sincosl47 ret fp128 %val48}49 50define fp128 @test_sincos_f128_errno(fp128 %f) {51; CHECK-LABEL: test_sincos_f128_errno:52 %sin = call fp128 @sinl(fp128 %f)53 %cos = call fp128 @cosl(fp128 %f)54 %val = fadd fp128 %sin, %cos55; CHECK: bl sinl56; CHECK: bl cosl57 ret fp128 %val58}59 60declare float @sinf(float)61declare double @sin(double)62declare fp128 @sinl(fp128)63declare float @cosf(float)64declare double @cos(double)65declare fp128 @cosl(fp128)66