[llvm] AMDGPU: Add sgpr bit convert tests (PR #136112)

Mikael Holmén via llvm-commits llvm-commits at lists.llvm.org
Wed May 14 02:08:29 PDT 2025


mikaelholmen wrote:

Hello @Shoreshen ,

With this patch, the
```
llvm/test/CodeGen/AMDGPU/amdgcn.bitcast.1024bit.ll
```
testcase starts failing if you run verifiers, e.g. add -verify-machineinstrs (or compile with EXPENSIVE_CHECKS).
It fails with:
```
*** Bad machine code: Using an undefined physical register ***
- function:    bitcast_v64i16_to_v128i8
- basic block: %bb.0  (0x55c30043efa8)
- instruction: BUNDLE implicit-def $vgpr31, implicit-def $vgpr31_lo16, implicit-def $vgpr31_hi16, implicit-def $vgpr32, implicit-def $vgpr32_lo16, implicit-def $vgpr32_hi16, implicit-def $vgpr55, implicit-def $vgpr55_lo16, implicit-def $vgpr55_hi16, implicit-def $vgpr62, implicit-def $vgpr62_lo16, implicit-def $vgpr62_hi16, implicit-def $vgpr35, implicit-def $vgpr35_lo16, implicit-def $vgpr35_hi16, implicit-def $vgpr38, implicit-def $vgpr38_lo16, implicit-def $vgpr38_hi16, implicit-def $vgpr42, implicit-def $vgpr42_lo16, implicit-def $vgpr42_hi16, implicit-def $vgpr61, implicit-def $vgpr61_lo16, implicit-def $vgpr61_hi16, implicit-def $vgpr58, implicit-def $vgpr58_lo16, implicit-def $vgpr58_hi16, implicit-def $vgpr39, implicit-def $vgpr39_lo16, implicit-def $vgpr39_hi16, implicit-def $vgpr54, implicit-def $vgpr54_lo16, implicit-def $vgpr54_hi16, implicit-def $vgpr48, implicit-def $vgpr48_lo16, implicit-def $vgpr48_hi16, implicit-def $vgpr43, implicit-def $vgpr43_lo16, implicit-def $vgpr43_hi16, implicit-def $vgpr40, implicit-def $vgpr40_lo16, implicit-def $vgpr40_hi16, implicit-def $vgpr48_vgpr49, implicit-def $vgpr49, implicit-def $vgpr49_lo16, implicit-def $vgpr49_hi16, implicit-def $vgpr54_vgpr55, implicit-def $vgpr45, implicit-def $vgpr45_lo16, implicit-def $vgpr45_hi16, implicit-def $vgpr44, implicit-def $vgpr44_lo16, implicit-def $vgpr44_hi16, implicit-def $vgpr41, implicit-def $vgpr41_lo16, implicit-def $vgpr41_hi16, implicit killed $vgpr31, implicit $sgpr0_sgpr1_sgpr2_sgpr3, implicit $sgpr32, implicit $exec, implicit $vgpr48_vgpr49, implicit $vgpr54_vgpr55
- operand 61:   implicit $vgpr54_vgpr55

*** Bad machine code: Using an undefined physical register ***
- function:    bitcast_v64i16_to_v128i8
- basic block: %bb.0  (0x55c30043efa8)
- instruction: BUFFER_STORE_DWORD_OFFSET internal $vgpr54, $sgpr0_sgpr1_sgpr2_sgpr3, $sgpr32, 100, 0, 0, implicit $exec, implicit-def $vgpr54_vgpr55, implicit $vgpr54_vgpr55 :: (store (s32) into %stack.3, addrspace 5)
- operand 8:   implicit $vgpr54_vgpr55
LLVM ERROR: Found 2 machine code errors.
```

https://github.com/llvm/llvm-project/pull/136112


More information about the llvm-commits mailing list