Nikita Popov 5a24dfa339
[SDAG] Remove most non-canonical libcall handing (#171288)
This is a followup to https://github.com/llvm/llvm-project/pull/171114,
removing the handling for most libcalls that are already canonicalized
to intrinsics in the middle-end. The only remaining one is fabs, which
has more test coverage than the others.
2025-12-10 11:45:26 +01:00

30 lines
793 B
LLVM

; RUN: llc -mtriple=arm-unknown-unknown < %s | FileCheck %s
; CHECK: test1
define float @test1() nounwind uwtable readnone ssp {
; CHECK-NOT: floorf
%foo = call float @llvm.floor.f32(float 0x4000CCCCC0000000) nounwind readnone
ret float %foo
}
; CHECK: test2
define float @test2() nounwind uwtable readnone ssp {
; CHECK-NOT: ceilf
%foo = call float @llvm.ceil.f32(float 0x4000CCCCC0000000) nounwind readnone
ret float %foo
}
; CHECK: test3
define float @test3() nounwind uwtable readnone ssp {
; CHECK-NOT: truncf
%foo = call float @llvm.trunc.f32(float 0x4000CCCCC0000000) nounwind readnone
ret float %foo
}
declare float @llvm.floor.f32(float) nounwind readnone
declare float @llvm.ceil.f32(float) nounwind readnone
declare float @llvm.trunc.f32(float) nounwind readnone