Files
derek.holloway 7502bf64a4
CodeQL / Analyze (actions) (push) Canceled after 0s
CodeQL / Analyze (python) (push) Canceled after 0s
pre-commit / pre-commit (push) Canceled after 0s
Multi-Arch CI / setup (push) Canceled after 0s
Publish build_manylinux_x86_64 images / publish_build_manylinux_x86_64 (push) Canceled after 0s
Setup (Multi-Arch) / setup (push) Canceled after 0s
Multi-Arch CI / Linux::${{ fromJSON(needs.setup.outputs.linux_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubi10 image / publish_no_rocm_image_ubi10 (push) Canceled after 0s
Multi-Arch CI / Windows::${{ fromJSON(needs.setup.outputs.windows_build_config || '{}').build_variant_label || 'skip' }} (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Multi-Arch CI / Manifest Diff (push) Canceled after 0s
TheRock Manifest Diff Report / Generate Manifest Diff Report (push) Canceled after 0s
Multi-Arch CI / CI Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_ocl_rt images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04_rocgdb images / publish_no_rocm_image_ubuntu24_04_rocgdb (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_ocl_rt (push) Canceled after 0s
Publish TheRock Docker image / build-and-push-image (push) Canceled after 0s
Unit Tests / Unit Tests :: ubuntu-24.04 (push) Canceled after 0s
Unit Tests / Unit Tests :: windows-2022 (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_media (push) Canceled after 0s
Unit Tests / Unit Tests Summary (push) Canceled after 0s
Publish no_rocm_image_ubuntu24_04 images / publish_no_rocm_image_ubuntu24_04_openmpi (push) Canceled after 0s
Flatten subprojects into a single base monorepo
2026-09-02 16:34:47 -07:00

103 lines
5.4 KiB
YAML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# RUN: llc -mtriple=amdgcn -mcpu=gfx900 -start-before=twoaddressinstruction %s -o - | FileCheck %s -check-prefix=GCN
# Wait to sxpand SI_INDIRECT sequences that use VGPR indexing until after
# register allocation. We don’t want to reschedule the mode switching or to
# have any instructions inserted within the sequence. The Two-Address
# instruction pass could insert bad copies here if it is expanded too early.
---
# GCN-LABEL: expand_si_indirect
# GCN: s_set_gpr_idx_on
# GCN-NEXT: v_mov_b32_e32
# GCN-NEXT: s_set_gpr_idx_off
# GCN: s_set_gpr_idx_on
# GCN-NEXT: v_mov_b32_e32
# GCN-NOT: v_mov_b32_e32
# GCN-NEXT: s_set_gpr_idx_off
name: expand_si_indirect
tracksRegLiveness: true
body: |
bb.0.entry:
liveins: $sgpr0_sgpr1
%0:sgpr_64 = COPY killed $sgpr0_sgpr1
%1:vgpr_32 = V_MOV_B32_e32 0, implicit $exec
%2:sreg_64_xexec_xnull = S_LOAD_DWORDX2_IMM %0(p4), 36, 0
%3:sreg_32_xm0_xexec = S_LOAD_DWORD_IMM killed %0(p4), 44, 0
%4:sreg_32 = S_ADD_I32 %3, 1, implicit-def dead $scc
%5:vgpr_32 = V_MOV_B32_e32 1065353216, implicit $exec
%6:vgpr_32 = V_MOV_B32_e32 1073741824, implicit $exec
%7:vgpr_32 = V_MOV_B32_e32 1077936128, implicit $exec
%8:vgpr_32 = V_MOV_B32_e32 1082130432, implicit $exec
%9:vgpr_32 = V_MOV_B32_e32 1084227584, implicit $exec
%10:vgpr_32 = V_MOV_B32_e32 1086324736, implicit $exec
%11:vgpr_32 = V_MOV_B32_e32 1088421888, implicit $exec
%12:vgpr_32 = V_MOV_B32_e32 1090519040, implicit $exec
%13:vgpr_32 = V_MOV_B32_e32 1091567616, implicit $exec
%14:vgpr_32 = V_MOV_B32_e32 1092616192, implicit $exec
%15:vgpr_32 = V_MOV_B32_e32 1093664768, implicit $exec
%16:vgpr_32 = V_MOV_B32_e32 1094713344, implicit $exec
%17:vgpr_32 = V_MOV_B32_e32 1095761920, implicit $exec
%18:vgpr_32 = V_MOV_B32_e32 1096810496, implicit $exec
%19:vgpr_32 = V_MOV_B32_e32 1097859072, implicit $exec
%20:vgpr_32 = V_MOV_B32_e32 1098907648, implicit $exec
%21:vreg_512 = REG_SEQUENCE killed %5, %subreg.sub0, killed %6, %subreg.sub1, killed %7, %subreg.sub2, killed %8, %subreg.sub3, killed %9, %subreg.sub4, killed %10, %subreg.sub5, killed %11, %subreg.sub6, killed %12, %subreg.sub7, killed %13, %subreg.sub8, killed %14, %subreg.sub9, killed %15, %subreg.sub10, killed %16, %subreg.sub11, killed %17, %subreg.sub12, killed %18, %subreg.sub13, killed %19, %subreg.sub14, killed %20, %subreg.sub15
%22:vgpr_32 = V_MOV_B32_e32 1099431936, implicit $exec
%23:vreg_512 = V_INDIRECT_REG_WRITE_GPR_IDX_B32_V16 killed %21, %22, killed %4, 3, implicit-def $m0, implicit $m0, implicit $exec
%24:sreg_32 = S_ADD_I32 killed %3, 2, implicit-def dead $scc
%25:vreg_512 = V_INDIRECT_REG_WRITE_GPR_IDX_B32_V16 %23, killed %22, killed %24, 3, implicit-def $m0, implicit $m0, implicit $exec
%26:vgpr_32 = COPY %23.sub15
%27:vgpr_32 = COPY %23.sub14
%28:vgpr_32 = COPY %23.sub13
%29:vgpr_32 = COPY %23.sub12
%30:vreg_128 = REG_SEQUENCE killed %29, %subreg.sub0, killed %28, %subreg.sub1, killed %27, %subreg.sub2, killed %26, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %30, %2, 48, 0, implicit $exec
%31:vgpr_32 = COPY %23.sub11
%32:vgpr_32 = COPY %23.sub10
%33:vgpr_32 = COPY %23.sub9
%34:vgpr_32 = COPY %23.sub8
%35:vreg_128 = REG_SEQUENCE killed %34, %subreg.sub0, killed %33, %subreg.sub1, killed %32, %subreg.sub2, killed %31, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %35, %2, 32, 0, implicit $exec
%36:vgpr_32 = COPY %23.sub7
%37:vgpr_32 = COPY %23.sub6
%38:vgpr_32 = COPY %23.sub5
%39:vgpr_32 = COPY %23.sub4
%40:vreg_128 = REG_SEQUENCE killed %39, %subreg.sub0, killed %38, %subreg.sub1, killed %37, %subreg.sub2, killed %36, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %40, %2, 16, 0, implicit $exec
%41:vgpr_32 = COPY %23.sub3
%42:vgpr_32 = COPY %23.sub2
%43:vgpr_32 = COPY %23.sub1
%44:vgpr_32 = COPY killed %23.sub0
%45:vreg_128 = REG_SEQUENCE killed %44, %subreg.sub0, killed %43, %subreg.sub1, killed %42, %subreg.sub2, killed %41, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %45, %2, 0, 0, implicit $exec
%46:vgpr_32 = COPY %25.sub15
%47:vgpr_32 = COPY %25.sub14
%48:vgpr_32 = COPY %25.sub13
%49:vgpr_32 = COPY %25.sub12
%50:vreg_128 = REG_SEQUENCE killed %49, %subreg.sub0, killed %48, %subreg.sub1, killed %47, %subreg.sub2, killed %46, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %50, %2, 112, 0, implicit $exec
%51:vgpr_32 = COPY %25.sub11
%52:vgpr_32 = COPY %25.sub10
%53:vgpr_32 = COPY %25.sub9
%54:vgpr_32 = COPY %25.sub8
%55:vreg_128 = REG_SEQUENCE killed %54, %subreg.sub0, killed %53, %subreg.sub1, killed %52, %subreg.sub2, killed %51, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %55, %2, 96, 0, implicit $exec
%56:vgpr_32 = COPY %25.sub7
%57:vgpr_32 = COPY %25.sub6
%58:vgpr_32 = COPY %25.sub5
%59:vgpr_32 = COPY %25.sub4
%60:vreg_128 = REG_SEQUENCE killed %59, %subreg.sub0, killed %58, %subreg.sub1, killed %57, %subreg.sub2, killed %56, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR %1, killed %60, %2, 80, 0, implicit $exec
%61:vgpr_32 = COPY %25.sub3
%62:vgpr_32 = COPY %25.sub2
%63:vgpr_32 = COPY %25.sub1
%64:vgpr_32 = COPY killed %25.sub0
%65:vreg_128 = REG_SEQUENCE killed %64, %subreg.sub0, killed %63, %subreg.sub1, killed %62, %subreg.sub2, killed %61, %subreg.sub3
GLOBAL_STORE_DWORDX4_SADDR killed %1, killed %65, killed %2, 64, 0, implicit $exec
S_ENDPGM 0
...