1 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s | FileCheck
%s
--check-prefix
=GFX9
2 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s
2>&1 | FileCheck
%s
--check-prefix
=NOGFX9
4 //===----------------------------------------------------------------------===//
5 // Relocatable expressions cannot
be used with SDWA modifiers.
6 //===----------------------------------------------------------------------===//
8 v_mov_b32_sdwa v1
, sext
(u
)
9 // NOGFX9
: error
: expected an absolute expression
11 //===----------------------------------------------------------------------===//
12 // Instructions can use only one literal.
13 // Relocatable expressions are counted as literals.
14 //===----------------------------------------------------------------------===//
17 // NOGFX9
: error
: only one literal operand is allowed
20 // NOGFX9
: error
: only one literal operand is allowed
23 // NOGFX9
: error
: only one literal operand is allowed
25 v_bfe_u32 v0
, v2
, v3
, u
26 // NOGFX9
: error
: invalid literal operand
28 //===----------------------------------------------------------------------===//
29 // Constant expressions may
be used with
'sext' modifier
30 //===----------------------------------------------------------------------===//
34 v_mov_b32_sdwa v1
, sext
(i1-
2)
35 // GFX9
: v_mov_b32_sdwa v1
, sext
(-1) dst_sel
:DWORD dst_unused
:UNUSED_PRESERVE src0_sel
:DWORD ; encoding
: [0xf9,0x02,0x02,0x7e,0xc1,0x16,0x8e,0x00]
37 v_mov_b32_sdwa v1
, sext
(-2+i1
)
38 // GFX9
: v_mov_b32_sdwa v1
, sext
(-1) dst_sel
:DWORD dst_unused
:UNUSED_PRESERVE src0_sel
:DWORD ; encoding
: [0xf9,0x02,0x02,0x7e,0xc1,0x16,0x8e,0x00]
40 //===----------------------------------------------------------------------===//
41 // Constant expressions may
be used with op_sel
* and neg_
* modifiers.
42 //===----------------------------------------------------------------------===//
44 v_pk_add_u16 v1
, v2
, v3 op_sel
:[2-i1
,i1-
1]
45 // GFX9
: v_pk_add_u16 v1
, v2
, v3 op_sel
:[1,0] ; encoding
: [0x01,0x08,0x8a,0xd3,0x02,0x07,0x02,0x18]
47 v_pk_add_u16 v1
, v2
, v3 neg_lo
:[2-i1
,i1-
1]
48 // GFX9
: v_pk_add_u16 v1
, v2
, v3 neg_lo
:[1,0] ; encoding
: [0x01,0x00,0x8a,0xd3,0x02,0x07,0x02,0x38]