47 lines · plain
1; RUN: llc -mtriple=amdgcn < %s | FileCheck --check-prefix=GCN %s2 3; GCN-LABEL: {{^}}rcp_uint:4; GCN: v_rcp_iflag_f32_e325define amdgpu_kernel void @rcp_uint(ptr addrspace(1) %in, ptr addrspace(1) %out) #0 {6 %load = load i32, ptr addrspace(1) %in, align 47 %cvt = uitofp i32 %load to float8 %div = fdiv float 1.000000e+00, %cvt, !fpmath !09 store float %div, ptr addrspace(1) %out, align 410 ret void11}12 13; GCN-LABEL: {{^}}rcp_sint:14; GCN: v_rcp_iflag_f32_e3215define amdgpu_kernel void @rcp_sint(ptr addrspace(1) %in, ptr addrspace(1) %out) #0 {16 %load = load i32, ptr addrspace(1) %in, align 417 %cvt = sitofp i32 %load to float18 %div = fdiv float 1.000000e+00, %cvt, !fpmath !019 store float %div, ptr addrspace(1) %out, align 420 ret void21}22 23; GCN-LABEL: {{^}}rcp_uint_denorm:24; GCN-NOT: v_rcp_iflag_f3225define amdgpu_kernel void @rcp_uint_denorm(ptr addrspace(1) %in, ptr addrspace(1) %out) #1 {26 %load = load i32, ptr addrspace(1) %in, align 427 %cvt = uitofp i32 %load to float28 %div = fdiv float 1.000000e+00, %cvt29 store float %div, ptr addrspace(1) %out, align 430 ret void31}32 33; GCN-LABEL: {{^}}rcp_sint_denorm:34; GCN-NOT: v_rcp_iflag_f3235define amdgpu_kernel void @rcp_sint_denorm(ptr addrspace(1) %in, ptr addrspace(1) %out) #1 {36 %load = load i32, ptr addrspace(1) %in, align 437 %cvt = sitofp i32 %load to float38 %div = fdiv float 1.000000e+00, %cvt39 store float %div, ptr addrspace(1) %out, align 440 ret void41}42 43!0 = !{float 2.500000e+00}44 45attributes #0 = { "denormal-fp-math-f32"="preserve-sign,preserve-sign" }46attributes #1 = { "denormal-fp-math-f32"="ieee,ieee" }47