/external/llvm-project/llvm/test/CodeGen/AMDGPU/ |
D | bypass-div.ll | 2 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefix=GFX9 %s 8 ; GFX9-LABEL: sdiv64: 9 ; GFX9: ; %bb.0: 10 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 11 ; GFX9-NEXT: v_mov_b32_e32 v5, v3 12 ; GFX9-NEXT: v_or_b32_e32 v4, v1, v5 13 ; GFX9-NEXT: v_mov_b32_e32 v3, 0 14 ; GFX9-NEXT: v_cmp_ne_u64_e32 vcc, 0, v[3:4] 15 ; GFX9-NEXT: ; implicit-def: $vgpr3_vgpr4 16 ; GFX9-NEXT: s_and_saveexec_b64 s[4:5], vcc [all …]
|
D | idiv-licm.ll | 2 …=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GFX9 %s 5 ; GFX9-LABEL: udiv32_invariant_denom: 6 ; GFX9: ; %bb.0: ; %bb 7 ; GFX9-NEXT: s_load_dword s2, s[0:1], 0x2c 8 ; GFX9-NEXT: s_load_dwordx2 s[0:1], s[0:1], 0x24 9 ; GFX9-NEXT: s_mov_b64 s[4:5], 0 10 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 11 ; GFX9-NEXT: v_cvt_f32_u32_e32 v0, s2 12 ; GFX9-NEXT: s_sub_i32 s3, 0, s2 13 ; GFX9-NEXT: v_rcp_iflag_f32_e32 v0, v0 [all …]
|
D | stack-realign-kernel.ll | 2 ; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefix=GFX9 %s 54 ; GFX9-LABEL: max_alignment_128: 55 ; GFX9: ; %bb.0: 56 ; GFX9-NEXT: s_add_u32 flat_scratch_lo, s4, s7 57 ; GFX9-NEXT: s_addc_u32 flat_scratch_hi, s5, 0 58 ; GFX9-NEXT: s_add_u32 s0, s0, s7 59 ; GFX9-NEXT: s_addc_u32 s1, s1, 0 60 ; GFX9-NEXT: v_mov_b32_e32 v0, 9 61 ; GFX9-NEXT: buffer_store_dword v0, off, s[0:3], 0 offset:128 62 ; GFX9-NEXT: s_endpgm [all …]
|
D | sgpr-phys-copy.mir | 2 …N: llc -march=amdgcn -mcpu=gfx900 -run-pass postrapseudos %s -o - | FileCheck -check-prefix=GFX9 %s 9 ; GFX9-LABEL: name: sgpr32 10 ; GFX9: $sgpr1 = S_MOV_B32 $sgpr0 19 ; GFX9-LABEL: name: sgpr32_kill 20 ; GFX9: $sgpr1 = S_MOV_B32 killed $sgpr0 29 ; GFX9-LABEL: name: sgpr64 30 ; GFX9: $sgpr2_sgpr3 = S_MOV_B64 $sgpr0_sgpr1 39 ; GFX9-LABEL: name: sgpr64_kill 40 ; GFX9: $sgpr2_sgpr3 = S_MOV_B64 killed $sgpr0_sgpr1 49 ; GFX9-LABEL: name: sgpr96_aligned_src_dst [all …]
|
D | vector_shuffle.packed.ll | 2 …mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 %s 5 ; GFX9-LABEL: shuffle_v4f16_23uu: 6 ; GFX9: ; %bb.0: 7 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 8 ; GFX9-NEXT: global_load_dword v0, v[0:1], off offset:4 9 ; GFX9-NEXT: s_waitcnt vmcnt(0) 10 ; GFX9-NEXT: s_setpc_b64 s[30:31] 18 ; GFX9-LABEL: shuffle_v4f16_234u: 19 ; GFX9: ; %bb.0: 20 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) [all …]
|
D | gfx-callable-argument-types.ll | 2 …iple=amdgcn--amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 95 ; GFX9-LABEL: test_call_external_void_func_i1_imm: 96 ; GFX9: ; %bb.0: 97 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 98 ; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1 99 ; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 ; 4-byte Folded Spill 100 ; GFX9-NEXT: s_mov_b64 exec, s[4:5] 101 ; GFX9-NEXT: v_writelane_b32 v40, s33, 2 102 ; GFX9-NEXT: v_writelane_b32 v40, s30, 0 103 ; GFX9-NEXT: s_mov_b32 s33, s32 [all …]
|
D | mul24-pass-ordering.ll | 2 …00 -denormal-fp-math-f32=preserve-sign -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 %s 10 ; GFX9-LABEL: lsr_order_mul24_0: 11 ; GFX9: ; %bb.0: ; %bb 12 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 13 ; GFX9-NEXT: global_load_dword v5, v[0:1], off 14 ; GFX9-NEXT: v_and_b32_e32 v2, 0xffffff, v2 15 ; GFX9-NEXT: v_sub_u32_e32 v4, v4, v1 16 ; GFX9-NEXT: s_mov_b64 s[4:5], 0 17 ; GFX9-NEXT: s_waitcnt vmcnt(0) 18 ; GFX9-NEXT: ds_write_b32 v0, v5 [all …]
|
D | gfx-callable-preserved-registers.ll | 2 …dpal -mcpu=gfx900 -enable-ipra=0 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 8 ; GFX9-LABEL: test_call_external_void_func_void_clobber_s30_s31_call_external_void_func_void: 9 ; GFX9: ; %bb.0: 10 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 11 ; GFX9-NEXT: s_or_saveexec_b64 s[4:5], -1 12 ; GFX9-NEXT: buffer_store_dword v40, off, s[0:3], s32 ; 4-byte Folded Spill 13 ; GFX9-NEXT: s_mov_b64 exec, s[4:5] 14 ; GFX9-NEXT: v_writelane_b32 v40, s33, 4 15 ; GFX9-NEXT: v_writelane_b32 v40, s34, 0 16 ; GFX9-NEXT: v_writelane_b32 v40, s35, 1 [all …]
|
D | offset-split-global.ll | 2 ; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 %s 9 ; GFX9-LABEL: global_inst_valu_offset_1: 10 ; GFX9: ; %bb.0: 11 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 12 ; GFX9-NEXT: global_load_ubyte v0, v[0:1], off offset:1 13 ; GFX9-NEXT: s_waitcnt vmcnt(0) 14 ; GFX9-NEXT: s_setpc_b64 s[30:31] 29 ; GFX9-LABEL: global_inst_valu_offset_11bit_max: 30 ; GFX9: ; %bb.0: 31 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) [all …]
|
D | build-vector-packed-partial-undef.ll | 2 …-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GFX9 %s 6 ; GFX9-LABEL: undef_lo_v2i16: 7 ; GFX9: ; %bb.0: 8 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 9 ; GFX9-NEXT: v_lshlrev_b32_e32 v0, 16, v0 10 ; GFX9-NEXT: ;;#ASMSTART 11 ; GFX9-NEXT: ; use v0 12 ; GFX9-NEXT: ;;#ASMEND 13 ; GFX9-NEXT: s_setpc_b64 s[30:31] 29 ; GFX9-LABEL: undef_lo_v2f16: [all …]
|
D | offset-split-flat.ll | 2 ; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefix=GFX9 %s 9 ; GFX9-LABEL: flat_inst_valu_offset_1: 10 ; GFX9: ; %bb.0: 11 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 12 ; GFX9-NEXT: flat_load_ubyte v0, v[0:1] offset:1 13 ; GFX9-NEXT: s_waitcnt vmcnt(0) lgkmcnt(0) 14 ; GFX9-NEXT: s_setpc_b64 s[30:31] 31 ; GFX9-LABEL: flat_inst_valu_offset_11bit_max: 32 ; GFX9: ; %bb.0: 33 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) [all …]
|
D | flat-scratch.ll | 2 …loca -amdgpu-enable-flat-scratch -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 4 … -amdgpu-enable-flat-scratch -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9-PAL %s 8 ; GFX9-LABEL: zero_init_kernel: 9 ; GFX9: ; %bb.0: 10 ; GFX9-NEXT: s_add_u32 flat_scratch_lo, s0, s3 11 ; GFX9-NEXT: s_mov_b32 s0, 0 12 ; GFX9-NEXT: s_addc_u32 flat_scratch_hi, s1, 0 13 ; GFX9-NEXT: s_mov_b32 s1, s0 14 ; GFX9-NEXT: s_mov_b32 s2, s0 15 ; GFX9-NEXT: s_mov_b32 s3, s0 [all …]
|
D | llvm.mulo.ll | 3 …: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 29 ; GFX9-LABEL: umulo_i64_v_v: 30 ; GFX9: ; %bb.0: ; %bb 31 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 32 ; GFX9-NEXT: v_mul_lo_u32 v5, v0, v3 33 ; GFX9-NEXT: v_mul_hi_u32 v6, v0, v2 34 ; GFX9-NEXT: v_mul_hi_u32 v8, v0, v3 35 ; GFX9-NEXT: v_mul_lo_u32 v7, v1, v2 36 ; GFX9-NEXT: v_mul_hi_u32 v4, v1, v2 37 ; GFX9-NEXT: v_add_co_u32_e32 v9, vcc, v6, v5 [all …]
|
/external/llvm-project/llvm/test/CodeGen/AMDGPU/GlobalISel/ |
D | localizer.ll | 2 ; RUN: llc -global-isel -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -check-prefix=GFX9… 8 ; GFX9-LABEL: localize_constants: 9 ; GFX9: ; %bb.0: ; %entry 10 ; GFX9-NEXT: s_load_dword s1, s[4:5], 0x0 11 ; GFX9-NEXT: s_mov_b32 s0, -1 12 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 13 ; GFX9-NEXT: s_xor_b32 s1, s1, -1 14 ; GFX9-NEXT: s_and_b32 s1, s1, 1 15 ; GFX9-NEXT: s_cmp_lg_u32 s1, 0 16 ; GFX9-NEXT: s_cbranch_scc0 BB0_2 [all …]
|
D | inst-select-build-vector-trunc.v2s16.mir | 2 …x900 -run-pass=instruction-select -verify-machineinstrs -o - %s | FileCheck -check-prefix=GFX9 %s 14 ; GFX9-LABEL: name: test_build_vector_trunc_s_v2s16_s_s32_s_s32 15 ; GFX9: liveins: $sgpr0, $sgpr1 16 ; GFX9: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 17 ; GFX9: [[COPY1:%[0-9]+]]:sreg_32 = COPY $sgpr1 18 ; GFX9: [[S_PACK_LL_B32_B16_:%[0-9]+]]:sreg_32 = S_PACK_LL_B32_B16 [[COPY]], [[COPY1]] 19 ; GFX9: S_ENDPGM 0, implicit [[S_PACK_LL_B32_B16_]] 36 ; GFX9-LABEL: name: test_build_vector_trunc_s_pack_lh 37 ; GFX9: liveins: $sgpr0, $sgpr1 38 ; GFX9: [[COPY:%[0-9]+]]:sreg_32 = COPY $sgpr0 [all …]
|
D | dynamic-alloca-uniform.ll | 2 …e=amdgcn-amd-amdhsa -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 8 ; GFX9-LABEL: kernel_dynamic_stackalloc_sgpr_align4: 9 ; GFX9: ; %bb.0: 10 ; GFX9-NEXT: s_load_dword s4, s[4:5], 0x0 11 ; GFX9-NEXT: s_add_u32 flat_scratch_lo, s6, s9 12 ; GFX9-NEXT: s_addc_u32 flat_scratch_hi, s7, 0 13 ; GFX9-NEXT: s_add_u32 s0, s0, s9 14 ; GFX9-NEXT: s_addc_u32 s1, s1, 0 15 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 16 ; GFX9-NEXT: s_lshl2_add_u32 s4, s4, 15 [all …]
|
D | inst-select-shuffle-vector.v2s16.mir | 2 …gcn-mesa-mesa3d -mcpu=gfx900 -run-pass=instruction-select -o - %s | FileCheck -check-prefix=GFX9 %s 14 ; GFX9-LABEL: name: v_shufflevector_v2s16_v2s16_u_u 15 ; GFX9: liveins: $vgpr0, $vgpr1 16 ; GFX9: [[DEF:%[0-9]+]]:vgpr_32 = IMPLICIT_DEF 17 ; GFX9: $vgpr0 = COPY [[DEF]] 35 ; GFX9-LABEL: name: v_shufflevector_v2s16_v2s16_0_u 36 ; GFX9: liveins: $vgpr0, $vgpr1 37 ; GFX9: [[COPY:%[0-9]+]]:vgpr_32 = COPY $vgpr0 38 ; GFX9: $vgpr0 = COPY [[COPY]] 56 ; GFX9-LABEL: name: v_shufflevector_v2s16_v2s16_u_0 [all …]
|
D | store-local.96.ll | 2 …e=amdgcn-amd-amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 9 ; GFX9-LABEL: store_lds_v3i32: 10 ; GFX9: ; %bb.0: 11 ; GFX9-NEXT: s_load_dword s4, s[0:1], 0x24 12 ; GFX9-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x34 13 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 14 ; GFX9-NEXT: v_mov_b32_e32 v3, s4 15 ; GFX9-NEXT: v_mov_b32_e32 v0, s0 16 ; GFX9-NEXT: v_mov_b32_e32 v1, s1 17 ; GFX9-NEXT: v_mov_b32_e32 v2, s2 [all …]
|
D | store-local.128.ll | 2 …e=amdgcn-amd-amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 9 ; GFX9-LABEL: store_lds_v4i32: 10 ; GFX9: ; %bb.0: 11 ; GFX9-NEXT: s_load_dword s4, s[0:1], 0x24 12 ; GFX9-NEXT: s_load_dwordx4 s[0:3], s[0:1], 0x34 13 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 14 ; GFX9-NEXT: v_mov_b32_e32 v4, s4 15 ; GFX9-NEXT: v_mov_b32_e32 v0, s0 16 ; GFX9-NEXT: v_mov_b32_e32 v1, s1 17 ; GFX9-NEXT: v_mov_b32_e32 v2, s2 [all …]
|
D | llvm.amdgcn.image.gather4.a16.dim.ll | 2 …llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -o - %s | FileCheck -check-prefix=GFX9 %s 6 ; GFX9-LABEL: gather4_2d: 7 ; GFX9: ; %bb.0: ; %main_body 8 ; GFX9-NEXT: s_mov_b64 s[14:15], exec 9 ; GFX9-NEXT: s_mov_b32 s0, s2 10 ; GFX9-NEXT: s_wqm_b64 exec, exec 11 ; GFX9-NEXT: v_mov_b32_e32 v2, 0xffff 12 ; GFX9-NEXT: v_lshlrev_b32_e32 v1, 16, v1 13 ; GFX9-NEXT: s_mov_b32 s1, s3 14 ; GFX9-NEXT: s_mov_b32 s2, s4 [all …]
|
D | load-local.128.ll | 2 …e=amdgcn-amd-amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 9 ; GFX9-LABEL: load_lds_v4i32: 10 ; GFX9: ; %bb.0: 11 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 12 ; GFX9-NEXT: ds_read_b128 v[0:3], v0 13 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 14 ; GFX9-NEXT: s_setpc_b64 s[30:31] 28 ; GFX9-LABEL: load_lds_v4i32_align1: 29 ; GFX9: ; %bb.0: 30 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) [all …]
|
D | llvm.amdgcn.image.atomic.dim.a16.ll | 2 …llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -o - %s | FileCheck -check-prefix=GFX9 %s 6 ; GFX9-LABEL: atomic_swap_i32_1d: 7 ; GFX9: ; %bb.0: ; %main_body 8 ; GFX9-NEXT: s_mov_b32 s0, s2 9 ; GFX9-NEXT: s_mov_b32 s1, s3 10 ; GFX9-NEXT: s_mov_b32 s2, s4 11 ; GFX9-NEXT: s_mov_b32 s3, s5 12 ; GFX9-NEXT: s_mov_b32 s4, s6 13 ; GFX9-NEXT: s_mov_b32 s5, s7 14 ; GFX9-NEXT: s_mov_b32 s6, s8 [all …]
|
D | legalize-umulh.mir | 3 …mcpu=gfx906 -global-isel-abort=0 -O0 -run-pass=legalizer %s -o - | FileCheck %s --check-prefix=GFX9 16 ; GFX9-LABEL: name: test_umulh_s32 17 ; GFX9: [[COPY:%[0-9]+]]:_(s32) = COPY $vgpr0 18 ; GFX9: [[COPY1:%[0-9]+]]:_(s32) = COPY $vgpr1 19 ; GFX9: [[UMULH:%[0-9]+]]:_(s32) = G_UMULH [[COPY]], [[COPY1]] 20 ; GFX9: $vgpr0 = COPY [[UMULH]](s32) 42 ; GFX9-LABEL: name: test_umulh_v2s32 43 ; GFX9: [[COPY:%[0-9]+]]:_(<2 x s32>) = COPY $vgpr0_vgpr1 44 ; GFX9: [[COPY1:%[0-9]+]]:_(<2 x s32>) = COPY $vgpr2_vgpr3 45 ; GFX9: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[COPY]](<2 x s32>) [all …]
|
D | load-local.96.ll | 2 …e=amdgcn-amd-amdpal -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -check-prefixes=GCN,GFX9 %s 9 ; GFX9-LABEL: load_lds_v3i32: 10 ; GFX9: ; %bb.0: 11 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 12 ; GFX9-NEXT: ds_read_b96 v[0:2], v0 13 ; GFX9-NEXT: s_waitcnt lgkmcnt(0) 14 ; GFX9-NEXT: s_setpc_b64 s[30:31] 28 ; GFX9-LABEL: load_lds_v3i32_align1: 29 ; GFX9: ; %bb.0: 30 ; GFX9-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) [all …]
|
D | llvm.amdgcn.image.sample.ltolz.a16.ll | 2 …llc -global-isel -mtriple=amdgcn-mesa-mesa3d -mcpu=gfx900 -o - %s | FileCheck -check-prefix=GFX9 %s 6 ; GFX9-LABEL: sample_l_1d: 7 ; GFX9: ; %bb.0: ; %main_body 8 ; GFX9-NEXT: s_mov_b32 s0, s2 9 ; GFX9-NEXT: s_mov_b32 s1, s3 10 ; GFX9-NEXT: s_mov_b32 s2, s4 11 ; GFX9-NEXT: s_mov_b32 s3, s5 12 ; GFX9-NEXT: s_mov_b32 s4, s6 13 ; GFX9-NEXT: s_mov_b32 s5, s7 14 ; GFX9-NEXT: s_mov_b32 s6, s8 [all …]
|