Please use GitHub pull requests for new patches. Phabricator shutdown timeline
Changeset View
Changeset View
Standalone View
Standalone View
llvm/trunk/test/CodeGen/AMDGPU/fdiv.f16.ll
Show First 20 Lines • Show All 212 Lines • ▼ Show 20 Lines | |||||
define amdgpu_kernel void @div_arcp_2_x_pat_f16(half addrspace(1)* %out) #0 { | define amdgpu_kernel void @div_arcp_2_x_pat_f16(half addrspace(1)* %out) #0 { | ||||
%x = load half, half addrspace(1)* undef | %x = load half, half addrspace(1)* undef | ||||
%rcp = fdiv arcp half %x, 2.0 | %rcp = fdiv arcp half %x, 2.0 | ||||
store half %rcp, half addrspace(1)* %out, align 4 | store half %rcp, half addrspace(1)* %out, align 4 | ||||
ret void | ret void | ||||
} | } | ||||
; FUNC-LABEL: {{^}}div_arcp_k_x_pat_f16: | ; FUNC-LABEL: {{^}}div_arcp_k_x_pat_f16: | ||||
; SI: v_mul_f32_e32 v{{[0-9]+}}, 0x3dcccccd, v{{[0-9]+}} | ; SI: v_mul_f32_e32 v{{[0-9]+}}, 0x3dccc000, v{{[0-9]+}} | ||||
; GFX8_9: v_mul_f16_e32 [[MUL:v[0-9]+]], 0x2e66, v{{[0-9]+}} | ; GFX8_9: v_mul_f16_e32 [[MUL:v[0-9]+]], 0x2e66, v{{[0-9]+}} | ||||
; GFX8_9: buffer_store_short [[MUL]] | ; GFX8_9: buffer_store_short [[MUL]] | ||||
define amdgpu_kernel void @div_arcp_k_x_pat_f16(half addrspace(1)* %out) #0 { | define amdgpu_kernel void @div_arcp_k_x_pat_f16(half addrspace(1)* %out) #0 { | ||||
%x = load half, half addrspace(1)* undef | %x = load half, half addrspace(1)* undef | ||||
%rcp = fdiv arcp half %x, 10.0 | %rcp = fdiv arcp half %x, 10.0 | ||||
store half %rcp, half addrspace(1)* %out, align 4 | store half %rcp, half addrspace(1)* %out, align 4 | ||||
ret void | ret void | ||||
} | } | ||||
; FUNC-LABEL: {{^}}div_arcp_neg_k_x_pat_f16: | ; FUNC-LABEL: {{^}}div_arcp_neg_k_x_pat_f16: | ||||
; SI: v_mul_f32_e32 v{{[0-9]+}}, 0xbdcccccd, v{{[0-9]+}} | ; SI: v_mul_f32_e32 v{{[0-9]+}}, 0xbdccc000, v{{[0-9]+}} | ||||
; GFX8_9: v_mul_f16_e32 [[MUL:v[0-9]+]], 0xae66, v{{[0-9]+}} | ; GFX8_9: v_mul_f16_e32 [[MUL:v[0-9]+]], 0xae66, v{{[0-9]+}} | ||||
; GFX8_9: buffer_store_short [[MUL]] | ; GFX8_9: buffer_store_short [[MUL]] | ||||
define amdgpu_kernel void @div_arcp_neg_k_x_pat_f16(half addrspace(1)* %out) #0 { | define amdgpu_kernel void @div_arcp_neg_k_x_pat_f16(half addrspace(1)* %out) #0 { | ||||
%x = load half, half addrspace(1)* undef | %x = load half, half addrspace(1)* undef | ||||
%rcp = fdiv arcp half %x, -10.0 | %rcp = fdiv arcp half %x, -10.0 | ||||
store half %rcp, half addrspace(1)* %out, align 4 | store half %rcp, half addrspace(1)* %out, align 4 | ||||
ret void | ret void | ||||
Show All 9 Lines |