29 lines · plain
1; RUN: llc -mtriple=r600 -mcpu=cypress < %s | FileCheck -check-prefix=EG %s2 3declare float @llvm.r600.recipsqrt.ieee.f32(float) nounwind readnone4 5; EG-LABEL: {{^}}recipsqrt.ieee_f32:6; EG: RECIPSQRT_IEEE7define amdgpu_kernel void @recipsqrt.ieee_f32(ptr addrspace(1) %out, float %src) nounwind {8 %recipsqrt.ieee = call float @llvm.r600.recipsqrt.ieee.f32(float %src) nounwind readnone9 store float %recipsqrt.ieee, ptr addrspace(1) %out, align 410 ret void11}12 13; TODO: Really these should be constant folded14; EG-LABEL: {{^}}recipsqrt.ieee_f32_constant_4.015; EG: RECIPSQRT_IEEE16define amdgpu_kernel void @recipsqrt.ieee_f32_constant_4.0(ptr addrspace(1) %out) nounwind {17 %recipsqrt.ieee = call float @llvm.r600.recipsqrt.ieee.f32(float 4.0) nounwind readnone18 store float %recipsqrt.ieee, ptr addrspace(1) %out, align 419 ret void20}21 22; EG-LABEL: {{^}}recipsqrt.ieee_f32_constant_100.023; EG: RECIPSQRT_IEEE24define amdgpu_kernel void @recipsqrt.ieee_f32_constant_100.0(ptr addrspace(1) %out) nounwind {25 %recipsqrt.ieee = call float @llvm.r600.recipsqrt.ieee.f32(float 100.0) nounwind readnone26 store float %recipsqrt.ieee, ptr addrspace(1) %out, align 427 ret void28}29