1; RUN: llc -march=amdgcn -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=SI %s 2; RUN: llc -march=amdgcn -mcpu=fiji -verify-machineinstrs < %s | FileCheck -check-prefix=GCN -check-prefix=VI %s 3 4; Make sure fdiv is promoted to f32. 5 6; GCN-LABEL: {{^}}fdiv_f16 7; GCN: v_cvt_f32_f16 8; GCN: v_cvt_f32_f16 9; GCN: v_div_scale_f32 10; GCN-DAG: v_div_scale_f32 11; GCN-DAG: v_rcp_f32 12; GCN: v_fma_f32 13; GCN: v_fma_f32 14; GCN: v_mul_f32 15; GCN: v_fma_f32 16; GCN: v_fma_f32 17; GCN: v_fma_f32 18; GCN: v_div_fmas_f32 19; GCN: v_div_fixup_f32 20; GCN: v_cvt_f16_f32 21define void @fdiv_f16( 22 half addrspace(1)* %r, 23 half addrspace(1)* %a, 24 half addrspace(1)* %b) { 25entry: 26 %a.val = load half, half addrspace(1)* %a 27 %b.val = load half, half addrspace(1)* %b 28 %r.val = fdiv half %a.val, %b.val 29 store half %r.val, half addrspace(1)* %r 30 ret void 31} 32