mirror of
https://github.com/c64scene-ar/llvm-6502.git
synced 2024-08-30 05:29:47 +00:00
Delete all unused ones, and add new AMDGPU named intrinsics for the ones that are. Handle the old AMDIL names for comptability (although remove their GCCBuiltin names) and add tests since there weren't any for these before. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@210827 91177308-0d34-0410-b5e6-96231b3b80d8
62 lines
1.6 KiB
LLVM
62 lines
1.6 KiB
LLVM
; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck %s -check-prefix=R600 -check-prefix=FUNC
|
|
; RUN: llc -march=r600 -mcpu=SI -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s
|
|
|
|
; FUNC-LABEL: @rint_f32
|
|
; R600: RNDNE
|
|
|
|
; SI: V_RNDNE_F32_e32
|
|
define void @rint_f32(float addrspace(1)* %out, float %in) {
|
|
entry:
|
|
%0 = call float @llvm.rint.f32(float %in) #0
|
|
store float %0, float addrspace(1)* %out
|
|
ret void
|
|
}
|
|
|
|
; FUNC-LABEL: @rint_v2f32
|
|
; R600: RNDNE
|
|
; R600: RNDNE
|
|
|
|
; SI: V_RNDNE_F32_e32
|
|
; SI: V_RNDNE_F32_e32
|
|
define void @rint_v2f32(<2 x float> addrspace(1)* %out, <2 x float> %in) {
|
|
entry:
|
|
%0 = call <2 x float> @llvm.rint.v2f32(<2 x float> %in) #0
|
|
store <2 x float> %0, <2 x float> addrspace(1)* %out
|
|
ret void
|
|
}
|
|
|
|
; FUNC-LABEL: @rint_v4f32
|
|
; R600: RNDNE
|
|
; R600: RNDNE
|
|
; R600: RNDNE
|
|
; R600: RNDNE
|
|
|
|
; SI: V_RNDNE_F32_e32
|
|
; SI: V_RNDNE_F32_e32
|
|
; SI: V_RNDNE_F32_e32
|
|
; SI: V_RNDNE_F32_e32
|
|
define void @rint_v4f32(<4 x float> addrspace(1)* %out, <4 x float> %in) {
|
|
entry:
|
|
%0 = call <4 x float> @llvm.rint.v4f32(<4 x float> %in) #0
|
|
store <4 x float> %0, <4 x float> addrspace(1)* %out
|
|
ret void
|
|
}
|
|
|
|
; FUNC-LABEL: @legacy_amdil_round_nearest_f32
|
|
; R600: RNDNE
|
|
|
|
; SI: V_RNDNE_F32_e32
|
|
define void @legacy_amdil_round_nearest_f32(float addrspace(1)* %out, float %in) {
|
|
entry:
|
|
%0 = call float @llvm.AMDIL.round.nearest.f32(float %in) #0
|
|
store float %0, float addrspace(1)* %out
|
|
ret void
|
|
}
|
|
|
|
declare float @llvm.AMDIL.round.nearest.f32(float) #0
|
|
declare float @llvm.rint.f32(float) #0
|
|
declare <2 x float> @llvm.rint.v2f32(<2 x float>) #0
|
|
declare <4 x float> @llvm.rint.v4f32(<4 x float>) #0
|
|
|
|
attributes #0 = { nounwind readnone }
|