brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.7 KiB · 41ee403 Raw
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