mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-12-28 19:31:58 +00:00
b83c66eb5e
don't exist in libc. This is really not the right way to solve this problem; but it's not clear to me at this time exactly what is the right way. If we create stubs here, they will cause link errors because these functions do not exist in libc. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@189727 91177308-0d34-0410-b5e6-96231b3b80d8
27 lines
1.2 KiB
LLVM
27 lines
1.2 KiB
LLVM
; RUN: llc -mtriple=mipsel-linux-gnu -march=mipsel -mcpu=mips16 -mips16-hard-float -soft-float -relocation-model=static < %s | FileCheck %s
|
|
|
|
declare float @llvm.powi.f32(float %Val, i32 %power)
|
|
declare double @llvm.powi.f64(double %Val, i32 %power)
|
|
|
|
define float @foo_pow_f32(float %y, i32 %p) {
|
|
%1 = tail call float @llvm.powi.f32(float %y, i32 %p)
|
|
; CHECK-NOT: .ent __call_stub_fp_llvm.powi.f32
|
|
; CHECK-NOT: {{.*}} jal llvm.powi.f32
|
|
ret float %1
|
|
}
|
|
|
|
define double @foo_pow_f64(double %y, i32 %p) {
|
|
%1 = tail call double @llvm.powi.f64(double %y, i32 %p)
|
|
; CHECK-NOT: .ent __call_stub_fp_llvm.powi.f64
|
|
; CHECK-NOT: {{.*}} jal llvm.powi.f64
|
|
ret double %1
|
|
}
|
|
|
|
attributes #0 = { nounwind optsize "less-precise-fpmad"="false" "no-frame-pointer-elim"="true" "no-frame-pointer-elim-non-leaf"="true" "no-infs-fp-math"="false" "no-nans-fp-math"="false" "stack-protector-buffer-size"="8" "unsafe-fp-math"="false" "use-soft-float"="true" }
|
|
attributes #1 = { nounwind readonly }
|
|
|
|
!0 = metadata !{metadata !"double", metadata !1}
|
|
!1 = metadata !{metadata !"omnipotent char", metadata !2}
|
|
!2 = metadata !{metadata !"Simple C/C++ TBAA"}
|
|
!3 = metadata !{metadata !"int", metadata !1}
|