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.
15 lines
517 B
LLVM
15 lines
517 B
LLVM
; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck %s
|
|
|
|
; CHECK: FLOOR * T{{[0-9]+\.[XYZW], T[0-9]+\.[XYZW]}}
|
|
define amdgpu_ps void @test(<4 x float> inreg %reg0) {
|
|
%r0 = extractelement <4 x float> %reg0, i32 0
|
|
%r1 = call float @llvm.floor.f32(float %r0)
|
|
%vec = insertelement <4 x float> poison, float %r1, i32 0
|
|
call void @llvm.r600.store.swizzle(<4 x float> %vec, i32 0, i32 0)
|
|
ret void
|
|
}
|
|
|
|
declare float @llvm.floor.f32(float) readonly
|
|
declare void @llvm.r600.store.swizzle(<4 x float>, i32, i32)
|
|
|