1 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=tahiti
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=SI
-check-prefix
=SICI
%s
2 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=bonaire
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=CI
-check-prefix
=SICI
%s
3 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
-check-prefix
=GCN
-check-prefix
=VI
%s
5 //===----------------------------------------------------------------------===//
6 // Test for dfmt
and nfmt
(tbuffer only
)
7 //===----------------------------------------------------------------------===//
9 tbuffer_load_format_x v1
, off
, s
[4:7], dfmt
:15, nfmt
:2, s1
10 // SICI
: tbuffer_load_format_x v1
, off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x78,0xe9,0x00,0x01,0x01,0x01]
11 // VI
: tbuffer_load_format_x v1
, off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x78,0xe9,0x00,0x01,0x01,0x01]
13 tbuffer_load_format_xy v
[1:2], off
, s
[4:7], dfmt
:15, nfmt
:2, s1
14 // SICI
: tbuffer_load_format_xy v
[1:2], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x79,0xe9,0x00,0x01,0x01,0x01]
15 // VI
: tbuffer_load_format_xy v
[1:2], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x80,0x78,0xe9,0x00,0x01,0x01,0x01]
17 tbuffer_load_format_xyz v
[1:3], off
, s
[4:7], dfmt
:15, nfmt
:2, s1
18 // SICI
: tbuffer_load_format_xyz v
[1:3], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x7a,0xe9,0x00,0x01,0x01,0x01]
19 // VI
: tbuffer_load_format_xyz v
[1:3], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x79,0xe9,0x00,0x01,0x01,0x01]
21 tbuffer_load_format_xyzw v
[1:4], off
, s
[4:7], dfmt
:15, nfmt
:2, s1
22 // SICI
: tbuffer_load_format_xyzw v
[1:4], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x7b,0xe9,0x00,0x01,0x01,0x01]
23 // VI
: tbuffer_load_format_xyzw v
[1:4], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x80,0x79,0xe9,0x00,0x01,0x01,0x01]
25 tbuffer_store_format_x v1
, off
, s
[4:7], dfmt
:15, nfmt
:2, s1
26 // SICI
: tbuffer_store_format_x v1
, off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x7c,0xe9,0x00,0x01,0x01,0x01]
27 // VI
: tbuffer_store_format_x v1
, off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x7a,0xe9,0x00,0x01,0x01,0x01]
29 tbuffer_store_format_xy v
[1:2], off
, s
[4:7], dfmt
:15, nfmt
:2, s1
30 // SICI
: tbuffer_store_format_xy v
[1:2], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x7d,0xe9,0x00,0x01,0x01,0x01]
31 // VI
: tbuffer_store_format_xy v
[1:2], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x80,0x7a,0xe9,0x00,0x01,0x01,0x01]
33 tbuffer_store_format_xyzw v
[1:4], off
, s
[4:7], dfmt
:15, nfmt
:2, s1
34 // SICI
: tbuffer_store_format_xyzw v
[1:4], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x01,0x01]
35 // VI
: tbuffer_store_format_xyzw v
[1:4], off
, s
[4:7], dfmt
:15, nfmt
:2, s1 ; encoding
: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x01,0x01]
37 tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:2, ttmp1
38 // SICI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:2, ttmp1 ; encoding
: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x1d,0x71]
39 // VI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:2, ttmp1 ; encoding
: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x1d,0x71]
42 tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, ttmp1
43 // SICI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:0, ttmp1 ; encoding
: [0x00,0x00,0x7f,0xe8,0x00,0x01,0x1d,0x71]
44 // VI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:0, ttmp1 ; encoding
: [0x00,0x80,0x7b,0xe8,0x00,0x01,0x1d,0x71]
47 tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], nfmt
:2, ttmp1
48 // SICI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:0, nfmt
:2, ttmp1 ; encoding
: [0x00,0x00,0x07,0xe9,0x00,0x01,0x1d,0x71]
49 // VI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:0, nfmt
:2, ttmp1 ; encoding
: [0x00,0x80,0x03,0xe9,0x00,0x01,0x1d,0x71]
51 // nfmt
and dfmt can
be in either order
:
52 tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], nfmt
:2, dfmt
:15, ttmp1
53 // SICI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:2, ttmp1 ; encoding
: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x1d,0x71]
54 // VI
: tbuffer_store_format_xyzw v
[1:4], off
, ttmp
[4:7], dfmt
:15, nfmt
:2, ttmp1 ; encoding
: [0x00,0x80,0x7b,0xe9,0x00,0x01,0x1d,0x71]