shader: add missing RDNA2 ALU opcodes

Add missing scalar and vector opcodes with compute tests.

Original work by @Pouare514 in #176.

Co-authored-by: Pouare514 <julienaulycee@gmail.com>
This commit is contained in:
nmzik
2026-09-02 01:55:48 +04:00
parent 04b404f3c9
commit e9425e101d
10 changed files with 175 additions and 7 deletions
@@ -40,6 +40,7 @@ enum class Opcode {
S_MOV_B64,
S_MOVK_I32,
S_ABS_I32,
S_ABSDIFF_I32,
S_BREV_B32,
S_BCNT1_I32_B32,
S_BCNT1_I32_B64,
@@ -69,6 +70,8 @@ enum class Opcode {
S_BITCMP1_B32,
S_BITSET0_B32,
S_BITSET1_B32,
S_BITSET0_B64,
S_BITSET1_B64,
S_MIN_I32,
S_MAX_I32,
S_MIN_U32,
@@ -108,6 +111,7 @@ enum class Opcode {
S_BFM_B64,
S_CSELECT_B32,
S_CSELECT_B64,
S_SETPRIO,
S_PACK_LL_B32_B16,
S_PACK_LH_B32_B16,
S_PACK_HH_B32_B16,
@@ -282,6 +286,7 @@ enum class Opcode {
V_MAD_MIXHI_F16,
V_ADD_NC_U32,
V_ADDC_U32,
V_SUB_CO_CI_U32,
V_SUBREV_CO_CI_U32,
V_SUB_NC_U32,
V_SUBREV_NC_U32,