Skip to content

Commit 807726f

Browse files
authored
[AMDGPU] New aliases v_add3_nc_u32 and v_xor_add_u32 (#118970)
This is for compatibility with SP3.
1 parent 3f3bcac commit 807726f

File tree

3 files changed

+17
-0
lines changed

3 files changed

+17
-0
lines changed

llvm/lib/Target/AMDGPU/VOP3Instructions.td

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1750,6 +1750,11 @@ defm V_OR_B16_fake16 : VOP3Only_Realtriple_t16_gfx11_gfx12<0x363, "v_or_b1
17501750
defm V_XOR_B16_t16 : VOP3Only_Realtriple_t16_gfx11_gfx12<0x364, "v_xor_b16">;
17511751
defm V_XOR_B16_fake16 : VOP3Only_Realtriple_t16_gfx11_gfx12<0x364, "v_xor_b16">;
17521752

1753+
let AssemblerPredicate = isGFX11Plus in {
1754+
def : AMDGPUMnemonicAlias<"v_add3_nc_u32", "v_add3_u32">;
1755+
def : AMDGPUMnemonicAlias<"v_xor_add_u32", "v_xad_u32">;
1756+
}
1757+
17531758
//===----------------------------------------------------------------------===//
17541759
// GFX10.
17551760
//===----------------------------------------------------------------------===//

llvm/test/MC/AMDGPU/gfx11_asm_vop3_alias.s

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,3 +6,9 @@ v_cvt_pknorm_i16_f16 v5, v1, v2
66

77
v_cvt_pknorm_u16_f16 v5, v1, v2
88
// GFX11: v_cvt_pk_norm_u16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x13,0xd7,0x01,0x05,0x02,0x00]
9+
10+
v_add3_nc_u32 v5, v1, v2, s3
11+
// GFX11: v_add3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x55,0xd6,0x01,0x05,0x0e,0x00]
12+
13+
v_xor_add_u32 v5, v1, v2, s3
14+
// GFX11: v_xad_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x45,0xd6,0x01,0x05,0x0e,0x00]

llvm/test/MC/AMDGPU/gfx12_asm_vop3_aliases.s

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,3 +47,9 @@ v_cvt_pknorm_i16_f16 v5, v1, v2
4747

4848
v_cvt_pknorm_u16_f16 v5, v1, v2
4949
// GFX12: v_cvt_pk_norm_u16_f16 v5, v1, v2 ; encoding: [0x05,0x00,0x13,0xd7,0x01,0x05,0x02,0x00]
50+
51+
v_add3_nc_u32 v5, v1, v2, s3
52+
// GFX12: v_add3_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x55,0xd6,0x01,0x05,0x0e,0x00]
53+
54+
v_xor_add_u32 v5, v1, v2, s3
55+
// GFX12: v_xad_u32 v5, v1, v2, s3 ; encoding: [0x05,0x00,0x45,0xd6,0x01,0x05,0x0e,0x00]

0 commit comments

Comments
 (0)