16689abe6SMatt Arsenault; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s 245bb48eaSTom Stellard; RUN: llc -march=amdgcn -mcpu=tonga -verify-machineinstrs < %s | FileCheck -check-prefix=SI -check-prefix=FUNC %s 36689abe6SMatt Arsenault; RUN: llc -march=r600 -mcpu=redwood < %s | FileCheck %s -check-prefix=R600 -check-prefix=FUNC 445bb48eaSTom Stellard 545bb48eaSTom Stellard; FUNC-LABEL: {{^}}rint_f32: 645bb48eaSTom Stellard; R600: RNDNE 745bb48eaSTom Stellard 845bb48eaSTom Stellard; SI: v_rndne_f32_e32 9*3dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @rint_f32(float addrspace(1)* %out, float %in) { 1045bb48eaSTom Stellardentry: 1145bb48eaSTom Stellard %0 = call float @llvm.rint.f32(float %in) #0 1245bb48eaSTom Stellard store float %0, float addrspace(1)* %out 1345bb48eaSTom Stellard ret void 1445bb48eaSTom Stellard} 1545bb48eaSTom Stellard 1645bb48eaSTom Stellard; FUNC-LABEL: {{^}}rint_v2f32: 1745bb48eaSTom Stellard; R600: RNDNE 1845bb48eaSTom Stellard; R600: RNDNE 1945bb48eaSTom Stellard 2045bb48eaSTom Stellard; SI: v_rndne_f32_e32 2145bb48eaSTom Stellard; SI: v_rndne_f32_e32 22*3dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @rint_v2f32(<2 x float> addrspace(1)* %out, <2 x float> %in) { 2345bb48eaSTom Stellardentry: 2445bb48eaSTom Stellard %0 = call <2 x float> @llvm.rint.v2f32(<2 x float> %in) #0 2545bb48eaSTom Stellard store <2 x float> %0, <2 x float> addrspace(1)* %out 2645bb48eaSTom Stellard ret void 2745bb48eaSTom Stellard} 2845bb48eaSTom Stellard 2945bb48eaSTom Stellard; FUNC-LABEL: {{^}}rint_v4f32: 3045bb48eaSTom Stellard; R600: RNDNE 3145bb48eaSTom Stellard; R600: RNDNE 3245bb48eaSTom Stellard; R600: RNDNE 3345bb48eaSTom Stellard; R600: RNDNE 3445bb48eaSTom Stellard 3545bb48eaSTom Stellard; SI: v_rndne_f32_e32 3645bb48eaSTom Stellard; SI: v_rndne_f32_e32 3745bb48eaSTom Stellard; SI: v_rndne_f32_e32 3845bb48eaSTom Stellard; SI: v_rndne_f32_e32 39*3dbeefa9SMatt Arsenaultdefine amdgpu_kernel void @rint_v4f32(<4 x float> addrspace(1)* %out, <4 x float> %in) { 4045bb48eaSTom Stellardentry: 4145bb48eaSTom Stellard %0 = call <4 x float> @llvm.rint.v4f32(<4 x float> %in) #0 4245bb48eaSTom Stellard store <4 x float> %0, <4 x float> addrspace(1)* %out 4345bb48eaSTom Stellard ret void 4445bb48eaSTom Stellard} 4545bb48eaSTom Stellard 4645bb48eaSTom Stellarddeclare float @llvm.rint.f32(float) #0 4745bb48eaSTom Stellarddeclare <2 x float> @llvm.rint.v2f32(<2 x float>) #0 4845bb48eaSTom Stellarddeclare <4 x float> @llvm.rint.v4f32(<4 x float>) #0 4945bb48eaSTom Stellard 5045bb48eaSTom Stellardattributes #0 = { nounwind readnone } 51