diff options
Diffstat (limited to 'llvm/test')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/indirect-addressing-si-gfx9.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/indirect-addressing-si-pregfx9.ll | 4 | ||||
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll | 42 | ||||
-rw-r--r-- | llvm/test/MC/AMDGPU/sopc-err.s | 24 | ||||
-rw-r--r-- | llvm/test/MC/AMDGPU/sopc.s | 42 | ||||
-rw-r--r-- | llvm/test/MC/AMDGPU/sopp.s | 18 | ||||
-rw-r--r-- | llvm/test/MC/Disassembler/AMDGPU/sopc_vi.txt | 12 | ||||
-rw-r--r-- | llvm/test/MC/Disassembler/AMDGPU/sopp_vi.txt | 6 |
8 files changed, 111 insertions, 41 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-gfx9.ll b/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-gfx9.ll index b266dd1f8c1..e70c178250e 100644 --- a/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-gfx9.ll +++ b/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-gfx9.ll @@ -24,7 +24,7 @@ ; MOVREL: s_mov_b32 m0, [[READLANE]] ; MOVREL-NEXT: v_movreld_b32_e32 v[[VEC_ELT0]], [[INS0]] -; IDXMODE: s_set_gpr_idx_on [[READLANE]], dst +; IDXMODE: s_set_gpr_idx_on [[READLANE]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v[[VEC_ELT0]], [[INS0]] ; IDXMODE: s_set_gpr_idx_off @@ -44,7 +44,7 @@ ; MOVREL: s_mov_b32 m0, [[READLANE]] ; MOVREL-NEXT: v_movreld_b32_e32 v{{[0-9]+}}, 63 -; IDXMODE: s_set_gpr_idx_on [[READLANE]], dst +; IDXMODE: s_set_gpr_idx_on [[READLANE]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, 63 ; IDXMODE: s_set_gpr_idx_off diff --git a/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-pregfx9.ll b/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-pregfx9.ll index e9b640c2591..72f9d457b6f 100644 --- a/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-pregfx9.ll +++ b/llvm/test/CodeGen/AMDGPU/indirect-addressing-si-pregfx9.ll @@ -27,7 +27,7 @@ ; MOVREL: s_mov_b32 m0, [[READLANE]] ; MOVREL-NEXT: v_movreld_b32_e32 v[[VEC_ELT0]], [[INS0]] -; IDXMODE: s_set_gpr_idx_on [[READLANE]], dst +; IDXMODE: s_set_gpr_idx_on [[READLANE]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v[[VEC_ELT0]], [[INS0]] ; IDXMODE: s_set_gpr_idx_off @@ -47,7 +47,7 @@ ; MOVREL: s_mov_b32 m0, [[READLANE]] ; MOVREL-NEXT: v_movreld_b32_e32 v{{[0-9]+}}, 63 -; IDXMODE: s_set_gpr_idx_on [[READLANE]], dst +; IDXMODE: s_set_gpr_idx_on [[READLANE]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, 63 ; IDXMODE: s_set_gpr_idx_off diff --git a/llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll b/llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll index 3412ef50d16..dc7f495c42f 100644 --- a/llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll +++ b/llvm/test/CodeGen/AMDGPU/indirect-addressing-si.ll @@ -17,7 +17,7 @@ ; MOVREL-DAG: s_mov_b32 m0, [[IN]] ; MOVREL: v_movrels_b32_e32 v{{[0-9]+}}, [[BASEREG]] -; IDXMODE: s_set_gpr_idx_on [[IN]], src0{{$}} +; IDXMODE: s_set_gpr_idx_on [[IN]], gpr_idx(SRC0){{$}} ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, [[BASEREG]] ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @extract_w_offset(float addrspace(1)* %out, i32 %in) { @@ -43,7 +43,7 @@ entry: ; MOVREL: v_movrels_b32_e32 -; IDXMODE: s_set_gpr_idx_on s{{[0-9]+}}, src0{{$}} +; IDXMODE: s_set_gpr_idx_on s{{[0-9]+}}, gpr_idx(SRC0){{$}} ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @extract_w_offset_salu_use_vector(i32 addrspace(1)* %out, i32 %in, <16 x i32> %or.val) { @@ -65,7 +65,7 @@ entry: ; MOVREL-DAG: s_mov_b32 m0, [[IN]] ; MOVREL: v_movrels_b32_e32 v{{[0-9]+}}, [[BASEREG]] -; IDXMODE: s_set_gpr_idx_on [[IN]], src0{{$}} +; IDXMODE: s_set_gpr_idx_on [[IN]], gpr_idx(SRC0){{$}} ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, [[BASEREG]] ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @extract_wo_offset(float addrspace(1)* %out, i32 %in) { @@ -83,7 +83,7 @@ entry: ; IDXMODE: s_addk_i32 [[ADD_IDX:s[0-9]+]], 0xfe00{{$}} ; IDXMODE: v_mov_b32_e32 v14, 15 ; IDXMODE: v_mov_b32_e32 v15, 16 -; IDXMODE-NEXT: s_set_gpr_idx_on [[ADD_IDX]], src0{{$}} +; IDXMODE-NEXT: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(SRC0){{$}} ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @extract_neg_offset_sgpr(i32 addrspace(1)* %out, i32 %offset) { @@ -116,7 +116,7 @@ entry: ; IDXMODE: v_mov_b32_e32 v13, ; IDXMODE: v_mov_b32_e32 v14, ; IDXMODE: v_mov_b32_e32 v15, -; IDXMODE-NEXT: s_set_gpr_idx_on [[ADD_IDX]], src0{{$}} +; IDXMODE-NEXT: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(SRC0){{$}} ; IDXMODE-NEXT: v_mov_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @extract_neg_offset_sgpr_loaded(i32 addrspace(1)* %out, <16 x i32> %vec0, <16 x i32> %vec1, i32 %offset) { @@ -141,7 +141,7 @@ entry: ; MOVREL: v_movrels_b32_e32 [[RESULT:v[0-9]+]], v1 ; IDXMODE: s_addk_i32 [[ADD_IDX:s[0-9]+]], 0xfe00 -; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], src0 +; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(SRC0) ; IDXMODE: v_mov_b32_e32 [[RESULT:v[0-9]+]], v1 ; IDXMODE: s_set_gpr_idx_off @@ -207,7 +207,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[BASE]] ; MOVREL: v_movreld_b32_e32 [[ELT1]], v{{[0-9]+}} -; IDXMODE: s_set_gpr_idx_on [[BASE]], dst +; IDXMODE: s_set_gpr_idx_on [[BASE]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 [[ELT1]], v{{[0-9]+}} ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @insert_unsigned_base_plus_offset(<16 x float> addrspace(1)* %out, i16 %in) { @@ -230,7 +230,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[BASE_PLUS_OFFSET]] ; MOVREL: v_movreld_b32_e32 [[ELT0]], v{{[0-9]+}} -; IDXMODE: s_set_gpr_idx_on [[BASE_PLUS_OFFSET]], dst +; IDXMODE: s_set_gpr_idx_on [[BASE_PLUS_OFFSET]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 [[ELT0]], v{{[0-9]+}} ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @insert_signed_base_plus_offset(<16 x float> addrspace(1)* %out, i16 %in) { @@ -249,7 +249,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[IN]] ; MOVREL: v_movreld_b32_e32 v[[ELT0:[0-9]+]] -; IDXMODE: s_set_gpr_idx_on [[IN]], dst +; IDXMODE: s_set_gpr_idx_on [[IN]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v[[ELT0:[0-9]+]], v{{[0-9]+}} ; IDXMODE-NEXT: s_set_gpr_idx_off @@ -267,7 +267,7 @@ entry: ; MOVREL: v_movreld_b32_e32 v0, 16 ; IDXMODE: s_addk_i32 [[ADD_IDX:s[0-9]+]], 0xfe00{{$}} -; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], dst +; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v0, 16 ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @insert_neg_offset_sgpr(i32 addrspace(1)* %in, <16 x i32> addrspace(1)* %out, i32 %offset) { @@ -287,7 +287,7 @@ entry: ; MOVREL: v_movreld_b32_e32 v0, 5 ; IDXMODE: s_addk_i32 [[ADD_IDX:s[0-9]+]], 0xfe00{{$}} -; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], dst +; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(DST) ; IDXMODE-NEXT: v_mov_b32_e32 v0, 5 ; IDXMODE-NEXT: s_set_gpr_idx_off define amdgpu_kernel void @insert_neg_offset_sgpr_loadreg(i32 addrspace(1)* %in, <16 x i32> addrspace(1)* %out, <16 x i32> %vec, i32 %offset) { @@ -327,7 +327,7 @@ entry: ; MOVREL: v_movreld_b32_e32 [[VEC_ELT0]], 33 ; IDXMODE: s_addk_i32 [[ADD_IDX:s[0-9]+]], 0xfe00{{$}} -; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], dst +; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(DST) ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, 33 ; IDXMODE: s_set_gpr_idx_off @@ -373,7 +373,7 @@ entry: ; MOVREL: v_movreld_b32_e32 [[VEC_ELT0]], [[VAL]] ; IDXMODE: s_add_i32 [[ADD_IDX:s[0-9]+]], [[READLANE]], -16 -; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], dst +; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(DST) ; IDXMODE: v_mov_b32_e32 [[VEC_ELT0]], [[VAL]] ; IDXMODE: s_set_gpr_idx_off @@ -415,7 +415,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[READLANE]] ; MOVREL: v_movrels_b32_e32 [[MOVREL0:v[0-9]+]], [[VEC_ELT0]] -; IDXMODE: s_set_gpr_idx_on [[READLANE]], src0 +; IDXMODE: s_set_gpr_idx_on [[READLANE]], gpr_idx(SRC0) ; IDXMODE: v_mov_b32_e32 [[MOVREL0:v[0-9]+]], [[VEC_ELT0]] ; IDXMODE: s_set_gpr_idx_off @@ -437,7 +437,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[READLANE]] ; MOVREL-NEXT: v_movrels_b32_e32 [[MOVREL1:v[0-9]+]], [[VEC_ELT0_2]] -; IDXMODE: s_set_gpr_idx_on [[READLANE]], src0 +; IDXMODE: s_set_gpr_idx_on [[READLANE]], gpr_idx(SRC0) ; IDXMODE-NEXT: v_mov_b32_e32 [[MOVREL1:v[0-9]+]], [[VEC_ELT0_2]] ; IDXMODE: s_set_gpr_idx_off @@ -516,11 +516,11 @@ bb7: ; preds = %bb4, %bb1 ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, 0x41900000 ; IDXMODE: s_waitcnt ; IDXMODE: s_add_i32 [[ARG]], [[ARG]], -16 -; IDXMODE: s_set_gpr_idx_on [[ARG]], dst +; IDXMODE: s_set_gpr_idx_on [[ARG]], gpr_idx(DST) ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, 4.0 ; IDXMODE: s_set_gpr_idx_off ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, 0x41b0cccd -; IDXMODE: s_set_gpr_idx_on [[ARG]], dst +; IDXMODE: s_set_gpr_idx_on [[ARG]], gpr_idx(DST) ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, -4.0 ; IDXMODE: s_set_gpr_idx_off @@ -551,7 +551,7 @@ bb: ; MOVREL: s_mov_b32 m0, [[IDX]] ; MOVREL: v_movrels_b32_e32 [[EXTRACT:v[0-9]+]], v[[LO_ELT]] -; IDXMODE: s_set_gpr_idx_on [[IDX]], src0 +; IDXMODE: s_set_gpr_idx_on [[IDX]], gpr_idx(SRC0) ; IDXMODE: v_mov_b32_e32 [[EXTRACT:v[0-9]+]], v[[LO_ELT]] ; IDXMODE: s_set_gpr_idx_off @@ -573,7 +573,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[ADD_IDX]] ; MOVREL: v_movrels_b32_e32 [[EXTRACT:v[0-9]+]], v[[LO_ELT]] -; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], src0 +; IDXMODE: s_set_gpr_idx_on [[ADD_IDX]], gpr_idx(SRC0) ; IDXMODE: v_mov_b32_e32 [[EXTRACT:v[0-9]+]], v[[LO_ELT]] ; IDXMODE: s_set_gpr_idx_off @@ -595,7 +595,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[IDX_FIN]] ; MOVREL: v_movrels_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} -; IDXMODE: s_set_gpr_idx_on [[IDX_FIN]], src0 +; IDXMODE: s_set_gpr_idx_on [[IDX_FIN]], gpr_idx(SRC0) ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} ; IDXMODE: s_set_gpr_idx_off define amdgpu_kernel void @extractelement_v16i32_or_index(i32 addrspace(1)* %out, <16 x i32> addrspace(1)* %in, i32 %idx.in) { @@ -616,7 +616,7 @@ entry: ; MOVREL: s_mov_b32 m0, [[IDX_FIN]] ; MOVREL: v_movreld_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} -; IDXMODE: s_set_gpr_idx_on [[IDX_FIN]], dst +; IDXMODE: s_set_gpr_idx_on [[IDX_FIN]], gpr_idx(DST) ; IDXMODE: v_mov_b32_e32 v{{[0-9]+}}, v{{[0-9]+}} ; IDXMODE: s_set_gpr_idx_off define amdgpu_kernel void @insertelement_v16f32_or_index(<16 x float> addrspace(1)* %out, <16 x float> %a, i32 %idx.in) nounwind { diff --git a/llvm/test/MC/AMDGPU/sopc-err.s b/llvm/test/MC/AMDGPU/sopc-err.s index 10b25445376..88788862f1d 100644 --- a/llvm/test/MC/AMDGPU/sopc-err.s +++ b/llvm/test/MC/AMDGPU/sopc-err.s @@ -1,13 +1,31 @@ // RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=GCN -check-prefix=VI %s s_set_gpr_idx_on s0, s1 -// GCN: error: invalid operand for instruction +// VI: error: expected absolute expression s_set_gpr_idx_on s0, 16 -// GCN: error: invalid operand for instruction +// VI: error: invalid immediate: only 4-bit values are legal s_set_gpr_idx_on s0, -1 -// GCN: error: invalid operand for instruction +// VI: error: invalid immediate: only 4-bit values are legal + +s_set_gpr_idx_on s0, gpr_idx +// VI: error: expected absolute expression + +s_set_gpr_idx_on s0, gpr_idx( +// VI: error: expected a VGPR index mode or a closing parenthesis + +s_set_gpr_idx_on s0, gpr_idx(X) +// VI: error: expected a VGPR index mode + +s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC1,DST) +// VI: error: duplicate VGPR index mode + +s_set_gpr_idx_on s0, gpr_idx(DST +// VI: error: expected a comma or a closing parenthesis + +s_set_gpr_idx_on s0, gpr_idx(SRC0, +// VI: error: expected a VGPR index mode s_cmp_eq_i32 0x12345678, 0x12345679 // GCN: error: only one literal operand is allowed diff --git a/llvm/test/MC/AMDGPU/sopc.s b/llvm/test/MC/AMDGPU/sopc.s index c7b337d75a5..55ef262318d 100644 --- a/llvm/test/MC/AMDGPU/sopc.s +++ b/llvm/test/MC/AMDGPU/sopc.s @@ -71,18 +71,44 @@ s_cmp_lg_u64 s[0:1], s[2:3] // VI: s_cmp_lg_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x13,0xbf] // NOSICI: error: instruction not supported on this GPU +gpr_idx = 1 +s_set_gpr_idx_on s0, gpr_idx +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf] +// NOSICI: error: + +gpr_idx_mode = 10 +s_set_gpr_idx_on s0, gpr_idx_mode + 5 +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf] +// NOSICI: error: + s_set_gpr_idx_on s0, 0 -// VI: s_set_gpr_idx_on s0, 0 ; encoding: [0x00,0x00,0x11,0xbf] -// NOSICI: error: instruction not supported on this GPU +// VI: s_set_gpr_idx_on s0, gpr_idx() ; encoding: [0x00,0x00,0x11,0xbf] +// NOSICI: error: + +s_set_gpr_idx_on s0, gpr_idx() +// VI: s_set_gpr_idx_on s0, gpr_idx() ; encoding: [0x00,0x00,0x11,0xbf] +// NOSICI: error: s_set_gpr_idx_on s0, 1 -// VI: s_set_gpr_idx_on s0, src0 ; encoding: [0x00,0x01,0x11,0xbf] -// NOSICI: error: instruction not supported on this GPU +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf] +// NOSICI: error: + +s_set_gpr_idx_on s0, gpr_idx(SRC0) +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf] +// NOSICI: error: s_set_gpr_idx_on s0, 3 -// VI: s_set_gpr_idx_on s0, src0 src1 ; encoding: [0x00,0x03,0x11,0xbf] -// NOSICI: error: instruction not supported on this GPU +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1) ; encoding: [0x00,0x03,0x11,0xbf] +// NOSICI: error: + +s_set_gpr_idx_on s0, gpr_idx(SRC1,SRC0) +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1) ; encoding: [0x00,0x03,0x11,0xbf] +// NOSICI: error: s_set_gpr_idx_on s0, 15 -// VI: s_set_gpr_idx_on s0, dst src0 src1 src2 ; encoding: [0x00,0x0f,0x11,0xbf] -// NOSICI: error: instruction not supported on this GPU +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf] +// NOSICI: error: + +s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC2,SRC1) +// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf] +// NOSICI: error: diff --git a/llvm/test/MC/AMDGPU/sopp.s b/llvm/test/MC/AMDGPU/sopp.s index f68b8227d76..deab19471ea 100644 --- a/llvm/test/MC/AMDGPU/sopp.s +++ b/llvm/test/MC/AMDGPU/sopp.s @@ -232,15 +232,23 @@ s_ttracedata s_set_gpr_idx_off // VI: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf] -// NOSICI: error: instruction not supported on this GPU +// NOSICI: error: s_set_gpr_idx_mode 0 -// VI: s_set_gpr_idx_mode 0 ; encoding: [0x00,0x00,0x9d,0xbf] -// NOSICI: error: instruction not supported on this GPU +// VI: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf] +// NOSICI: error: + +s_set_gpr_idx_mode gpr_idx() +// VI: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf] +// NOSICI: error: s_set_gpr_idx_mode 15 -// VI: s_set_gpr_idx_mode dst src0 src1 src2 ; encoding: [0x0f,0x00,0x9d,0xbf] -// NOSICI: error: instruction not supported on this GPU +// VI: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf] +// NOSICI: error: + +s_set_gpr_idx_mode gpr_idx(SRC2,SRC1,SRC0,DST) +// VI: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf] +// NOSICI: error: s_endpgm_saved // VI: s_endpgm_saved ; encoding: [0x00,0x00,0x9b,0xbf] diff --git a/llvm/test/MC/Disassembler/AMDGPU/sopc_vi.txt b/llvm/test/MC/Disassembler/AMDGPU/sopc_vi.txt index 2c2dc07efd6..4bf2aefaf0c 100644 --- a/llvm/test/MC/Disassembler/AMDGPU/sopc_vi.txt +++ b/llvm/test/MC/Disassembler/AMDGPU/sopc_vi.txt @@ -53,3 +53,15 @@ # GCN: s_bitcmp0_b32 0xafaaffff, 0xafaaffff ; encoding: [0xff,0xff,0x0c,0xbf,0xff,0xff,0xaa,0xaf] 0xff 0xff 0x0c 0xbf 0xff 0xff 0xaa 0xaf + +# GCN: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf] +0x00,0x01,0x11,0xbf + +# GCN: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf] +0x00,0x0f,0x11,0xbf + +# GCN: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf] +0x00,0x0f,0x11,0xbf + +# GCN: s_set_gpr_idx_on s0, 0xff ; encoding: [0x00,0xff,0x11,0xbf] +0x00,0xff,0x11,0xbf diff --git a/llvm/test/MC/Disassembler/AMDGPU/sopp_vi.txt b/llvm/test/MC/Disassembler/AMDGPU/sopp_vi.txt index fb8b0e47c6b..9993fa91bb4 100644 --- a/llvm/test/MC/Disassembler/AMDGPU/sopp_vi.txt +++ b/llvm/test/MC/Disassembler/AMDGPU/sopp_vi.txt @@ -125,3 +125,9 @@ # GCN: s_ttracedata ; encoding: [0x00,0x00,0x96,0xbf] 0x00 0x00 0x96 0xbf + +# GCN: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf] +0x00,0x00,0x9d,0xbf + +# GCN: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf] +0x0f,0x00,0x9d,0xbf |