1 ; RUN: llc -mtriple=aarch64-linux-gnu -verify-machineinstrs -o - %s | FileCheck %s
3 define float @test_sincos_f32(float %f) {
4 ; CHECK-LABEL: test_sincos_f32:
5 %sin = call float @sinf(float %f) readnone
6 %cos = call float @cosf(float %f) readnone
8 %val = fadd float %sin, %cos
12 define 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)
18 %val = fadd float %sin, %cos
22 define double @test_sincos_f64(double %f) {
23 ; CHECK-LABEL: test_sincos_f64:
24 %sin = call double @sin(double %f) readnone
25 %cos = call double @cos(double %f) readnone
26 %val = fadd double %sin, %cos
31 define 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, %cos
41 define fp128 @test_sincos_f128(fp128 %f) {
42 ; CHECK-LABEL: test_sincos_f128:
43 %sin = call fp128 @sinl(fp128 %f) readnone
44 %cos = call fp128 @cosl(fp128 %f) readnone
45 %val = fadd fp128 %sin, %cos
50 define 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, %cos
60 declare float @sinf(float)
61 declare double @sin(double)
62 declare fp128 @sinl(fp128)
63 declare float @cosf(float)
64 declare double @cos(double)
65 declare fp128 @cosl(fp128)