[llvm] [AMDGPU][True16][CodeGen] support v_mov_b16 and v_swap_b16 in true16 format (PR #102198)

Brox Chen via llvm-commits llvm-commits at lists.llvm.org
Fri Aug 9 18:02:12 PDT 2024


broxigarchen wrote:

> Hi there, I bisected to this change in a downstream compiler (https://github.com/iree-org/iree) crash on gfx1100 target. The error is `error: Illegal instruction detected: Operand has incorrect register class.`.
> 
> I'm going to revert it locally in our project. I don't know how to generate a repro for you at this moment, but I'll try to do that. I'm asking questions about generating a repro in [iree-org/iree#18177 (comment)](https://github.com/iree-org/iree/pull/18177#issuecomment-2278892368).

Ran a quick repro. These are the error info:

error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.
V_CMP_EQ_U16_t16_e32 0, killed $vgpr254, implicit-def $vcc, implicit $exec
error: Illegal instruction detected: Operand has incorrect register class.

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


More information about the llvm-commits mailing list