mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-26 05:32:25 +00:00
b4dc0233c9
This was done with the following sed invocation to catch label lines demarking function boundaries: sed -i '' "s/^;\( *\)\([A-Z0-9_]*\):\( *\)test\([A-Za-z0-9_-]*\):\( *\)$/;\1\2-LABEL:\3test\4:\5/g" test/CodeGen/*/*.ll which was written conservatively to avoid false positives rather than false negatives. I scanned through all the changes and everything looks correct. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@186258 91177308-0d34-0410-b5e6-96231b3b80d8
36 lines
961 B
LLVM
36 lines
961 B
LLVM
; RUN: llc -mtriple=aarch64-none-linux-gnu -verify-machineinstrs < %s | FileCheck %s
|
|
|
|
define float @test_sincos_f32(float %f) {
|
|
%sin = call float @sinf(float %f) readnone
|
|
%cos = call float @cosf(float %f) readnone
|
|
; CHECK: bl sinf
|
|
; CHECK: bl cosf
|
|
%val = fadd float %sin, %cos
|
|
ret float %val
|
|
}
|
|
|
|
define double @test_sincos_f64(double %f) {
|
|
%sin = call double @sin(double %f) readnone
|
|
%cos = call double @cos(double %f) readnone
|
|
%val = fadd double %sin, %cos
|
|
; CHECK: bl sin
|
|
; CHECK: bl cos
|
|
ret double %val
|
|
}
|
|
|
|
define fp128 @test_sincos_f128(fp128 %f) {
|
|
%sin = call fp128 @sinl(fp128 %f) readnone
|
|
%cos = call fp128 @cosl(fp128 %f) readnone
|
|
%val = fadd fp128 %sin, %cos
|
|
; CHECK: bl sinl
|
|
; CHECK: bl cosl
|
|
ret fp128 %val
|
|
}
|
|
|
|
declare float @sinf(float) readonly
|
|
declare double @sin(double) readonly
|
|
declare fp128 @sinl(fp128) readonly
|
|
declare float @cosf(float) readonly
|
|
declare double @cos(double) readonly
|
|
declare fp128 @cosl(fp128) readonly
|