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
51 lines
1.5 KiB
ArmAsm
51 lines
1.5 KiB
ArmAsm
# RUN: %stinkytofu-opt --arch gfx1250 %s --emit-asm
|
|
#
|
|
# RawAsmParser → StinkyAsmEmitter round-trip for hwreg() operand syntax.
|
|
# Verifies that:
|
|
# - All three forms (id only / id+offset / id+offset+size) parse cleanly.
|
|
# - Defaults (offset=0, size=32) collapse on emit and lock in baseline stability.
|
|
# - Symbolic HW_REG_* id resolves via the per-arch DEF_HWREG table.
|
|
# - s_setreg* (dest=hwreg) and s_getreg_b32 (src=hwreg) slot directions preserved.
|
|
|
|
test_start:
|
|
# id only — default offset=0/size=32, both suppressed on emit.
|
|
s_getreg_b32 s0, hwreg(1)
|
|
|
|
# id + offset only — default size=32 suppressed on emit.
|
|
s_getreg_b32 s1, hwreg(2,4)
|
|
|
|
# full triple, all explicit.
|
|
s_setreg_b32 hwreg(19,4,8), s2
|
|
|
|
# SCHED_MODE numeric id.
|
|
s_setreg_IMM32_b32 hwreg(26,0,2), 2
|
|
|
|
# Symbolic id resolves through nameToId (HW_REG_WAVE_MODE -> 1 on gfx1250).
|
|
s_setreg_IMM32_b32 hwreg(HW_REG_WAVE_MODE,0,2), 3
|
|
|
|
# Explicit size=32 round-trips through default-suppression.
|
|
s_getreg_b32 s3, hwreg(7,0,32)
|
|
test_end:
|
|
|
|
# CHECK-LABEL: test_start:
|
|
|
|
# id only, defaults suppressed.
|
|
# CHECK: s_getreg_b32 s0, hwreg(1)
|
|
|
|
# id + offset, size default suppressed.
|
|
# CHECK: s_getreg_b32 s1, hwreg(2,4)
|
|
|
|
# Full triple preserved.
|
|
# CHECK: s_setreg_b32 hwreg(19,4,8), s2
|
|
|
|
# Numeric id preserved.
|
|
# CHECK: s_setreg_IMM32_b32 hwreg(26,0,2), 2
|
|
|
|
# Symbolic id resolves to numeric 1 on emit.
|
|
# CHECK: s_setreg_IMM32_b32 hwreg(1,0,2), 3
|
|
|
|
# size=32 default → collapses to "hwreg(7)".
|
|
# CHECK: s_getreg_b32 s3, hwreg(7)
|
|
|
|
# CHECK-LABEL: test_end:
|