xref: /llvm-project/llvm/test/MC/AMDGPU/gfx11_asm_mubuf_alias.s (revision 5ec535b1bda4c87aac951e65cc5b65c910e92579)
1// RUN: llvm-mc -triple=amdgcn -mcpu=gfx1100 -show-encoding %s | FileCheck --check-prefix=GFX11 %s
2
3buffer_load_dword v5, off, s[8:11], s3 offset:4095
4// GFX11: buffer_load_b32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x50,0xe0,0x00,0x05,0x02,0x03]
5
6buffer_load_dwordx2 v[5:6], off, s[8:11], s3 offset:4095
7// GFX11: buffer_load_b64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x54,0xe0,0x00,0x05,0x02,0x03]
8
9buffer_load_dwordx3 v[5:7], off, s[8:11], s3 offset:4095
10// GFX11: buffer_load_b96 v[5:7], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x58,0xe0,0x00,0x05,0x02,0x03]
11
12buffer_load_dwordx4 v[5:8], off, s[8:11], s3 offset:4095
13// GFX11: buffer_load_b128 v[5:8], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x5c,0xe0,0x00,0x05,0x02,0x03]
14
15buffer_load_short_d16 v5, off, s[8:11], s3 offset:4095
16// GFX11: buffer_load_d16_b16 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe0,0x00,0x05,0x02,0x03]
17
18buffer_load_format_d16_x v5, off, s[8:11], s3 offset:4095
19// GFX11: buffer_load_d16_format_x v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe0,0x00,0x05,0x02,0x03]
20
21buffer_load_format_d16_xy v5, off, s[8:11], s3 offset:4095
22// GFX11: buffer_load_d16_format_xy v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe0,0x00,0x05,0x02,0x03]
23
24buffer_load_format_d16_xyz v[5:6], off, s[8:11], s3 offset:4095
25// GFX11: buffer_load_d16_format_xyz v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe0,0x00,0x05,0x02,0x03]
26
27buffer_load_format_d16_xyzw v[5:6], off, s[8:11], s3 offset:4095
28// GFX11: buffer_load_d16_format_xyzw v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe0,0x00,0x05,0x02,0x03]
29
30buffer_load_short_d16_hi v5, off, s[8:11], s3 offset:4095
31// GFX11: buffer_load_d16_hi_b16 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x8c,0xe0,0x00,0x05,0x02,0x03]
32
33buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095
34// GFX11: buffer_load_d16_hi_format_x v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe0,0x00,0x05,0x02,0x03]
35
36buffer_load_sbyte_d16_hi v5, off, s[8:11], s3 offset:4095
37// GFX11: buffer_load_d16_hi_i8 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x88,0xe0,0x00,0x05,0x02,0x03]
38
39buffer_load_ubyte_d16_hi v5, off, s[8:11], s3 offset:4095
40// GFX11: buffer_load_d16_hi_u8 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x84,0xe0,0x00,0x05,0x02,0x03]
41
42buffer_load_sbyte_d16 v5, off, s[8:11], s3 offset:4095
43// GFX11: buffer_load_d16_i8 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x7c,0xe0,0x00,0x05,0x02,0x03]
44
45buffer_load_ubyte_d16 v5, off, s[8:11], s3 offset:4095
46// GFX11: buffer_load_d16_u8 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe0,0x00,0x05,0x02,0x03]
47
48buffer_load_sbyte v5, off, s[8:11], s3 offset:4095
49// GFX11: buffer_load_i8 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe0,0x00,0x05,0x02,0x03]
50
51buffer_load_sshort v5, off, s[8:11], s3 offset:4095
52// GFX11: buffer_load_i16 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x4c,0xe0,0x00,0x05,0x02,0x03]
53
54buffer_load_ubyte v5, off, s[8:11], s3 offset:4095
55// GFX11: buffer_load_u8 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe0,0x00,0x05,0x02,0x03]
56
57buffer_load_ushort v5, off, s[8:11], s3 offset:4095
58// GFX11: buffer_load_u16 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe0,0x00,0x05,0x02,0x03]
59
60buffer_store_byte v1, off, s[12:15], s4 offset:4095
61// GFX11: buffer_store_b8 v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x60,0xe0,0x00,0x01,0x03,0x04]
62
63buffer_store_short v1, off, s[12:15], s4 offset:4095
64// GFX11: buffer_store_b16 v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x64,0xe0,0x00,0x01,0x03,0x04]
65
66buffer_store_dword v1, off, s[12:15], s4 offset:4095
67// GFX11: buffer_store_b32 v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x68,0xe0,0x00,0x01,0x03,0x04]
68
69buffer_store_dwordx2 v[1:2], off, s[12:15], s4 offset:4095
70// GFX11: buffer_store_b64 v[1:2], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x6c,0xe0,0x00,0x01,0x03,0x04]
71
72buffer_store_dwordx3 v[1:3], off, s[12:15], s4 offset:4095
73// GFX11: buffer_store_b96 v[1:3], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x70,0xe0,0x00,0x01,0x03,0x04]
74
75buffer_store_dwordx4 v[1:4], off, s[12:15], s4 offset:4095
76// GFX11: buffer_store_b128 v[1:4], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x74,0xe0,0x00,0x01,0x03,0x04]
77
78buffer_store_format_d16_x v1, off, s[12:15], s4 offset:4095
79// GFX11: buffer_store_d16_format_x v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe0,0x00,0x01,0x03,0x04]
80
81buffer_store_format_d16_xy v1, off, s[12:15], s4 offset:4095
82// GFX11: buffer_store_d16_format_xy v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe0,0x00,0x01,0x03,0x04]
83
84buffer_store_format_d16_xyz v[1:2], off, s[12:15], s4 offset:4095
85// GFX11: buffer_store_d16_format_xyz v[1:2], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x38,0xe0,0x00,0x01,0x03,0x04]
86
87buffer_store_format_d16_xyzw v[1:2], off, s[12:15], s4 offset:4095
88// GFX11: buffer_store_d16_format_xyzw v[1:2], off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x3c,0xe0,0x00,0x01,0x03,0x04]
89
90buffer_store_byte_d16_hi v1, off, s[12:15], s4 offset:4095
91// GFX11: buffer_store_d16_hi_b8 v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x90,0xe0,0x00,0x01,0x03,0x04]
92
93buffer_store_short_d16_hi v1, off, s[12:15], s4 offset:4095
94// GFX11: buffer_store_d16_hi_b16 v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x94,0xe0,0x00,0x01,0x03,0x04]
95
96buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095
97// GFX11: buffer_store_d16_hi_format_x v1, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe0,0x00,0x01,0x03,0x04]
98
99buffer_atomic_add v5, off, s[8:11], s3 offset:4095
100// GFX11: buffer_atomic_add_u32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xd4,0xe0,0x00,0x05,0x02,0x03]
101
102buffer_atomic_add_x2 v[5:6], off, s[8:11], s3 offset:4095
103// GFX11: buffer_atomic_add_u64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x0c,0xe1,0x00,0x05,0x02,0x03]
104
105buffer_atomic_and v5, off, s[8:11], s3 offset:4095
106// GFX11: buffer_atomic_and_b32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xf0,0xe0,0x00,0x05,0x02,0x03]
107
108buffer_atomic_and_x2 v[5:6], off, s[8:11], s3 offset:4095
109// GFX11: buffer_atomic_and_b64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x24,0xe1,0x00,0x05,0x02,0x03]
110
111buffer_atomic_cmpswap v[5:6], off, s[8:11], s3 offset:4095
112// GFX11: buffer_atomic_cmpswap_b32 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xd0,0xe0,0x00,0x05,0x02,0x03]
113
114buffer_atomic_cmpswap_x2 v[5:8], off, s[8:11], s3 offset:4095
115// GFX11: buffer_atomic_cmpswap_b64 v[5:8], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x05,0x02,0x03]
116
117buffer_atomic_fcmpswap v[5:6], off, s[8:11], s3 offset:4095
118// GFX11: buffer_atomic_cmpswap_f32 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x40,0xe1,0x00,0x05,0x02,0x03]
119
120buffer_atomic_csub v255, off, s[8:11], s3 offset:4095 glc
121// GFX11: buffer_atomic_csub_u32 v255, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0xdc,0xe0,0x00,0xff,0x02,0x03]
122
123buffer_atomic_dec v5, off, s[8:11], s3 offset:4095
124// GFX11: buffer_atomic_dec_u32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x05,0x02,0x03]
125
126buffer_atomic_dec_x2 v[5:6], off, s[8:11], s3 offset:4095
127// GFX11: buffer_atomic_dec_u64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03]
128
129buffer_atomic_inc v5, off, s[8:11], s3 offset:4095
130// GFX11: buffer_atomic_inc_u32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xfc,0xe0,0x00,0x05,0x02,0x03]
131
132buffer_atomic_inc_x2 v[5:6], off, s[8:11], s3 offset:4095
133// GFX11: buffer_atomic_inc_u64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x30,0xe1,0x00,0x05,0x02,0x03]
134
135buffer_atomic_fmax v5, off, s[8:11], s3 offset:4095
136// GFX11: buffer_atomic_max_f32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x48,0xe1,0x00,0x05,0x02,0x03]
137
138buffer_atomic_smax v5, off, s[8:11], s3 offset:4095
139// GFX11: buffer_atomic_max_i32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xe8,0xe0,0x00,0x05,0x02,0x03]
140
141buffer_atomic_smax_x2 v[5:6], off, s[8:11], s3 offset:4095
142// GFX11: buffer_atomic_max_i64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x1c,0xe1,0x00,0x05,0x02,0x03]
143
144buffer_atomic_umax v5, off, s[8:11], s3 offset:4095
145// GFX11: buffer_atomic_max_u32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xec,0xe0,0x00,0x05,0x02,0x03]
146
147buffer_atomic_umax_x2 v[5:6], off, s[8:11], s3 offset:4095
148// GFX11: buffer_atomic_max_u64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x20,0xe1,0x00,0x05,0x02,0x03]
149
150buffer_atomic_fmin v5, off, s[8:11], s3 offset:4095
151// GFX11: buffer_atomic_min_f32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x44,0xe1,0x00,0x05,0x02,0x03]
152
153buffer_atomic_smin v5, off, s[8:11], s3 offset:4095
154// GFX11: buffer_atomic_min_i32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xe0,0xe0,0x00,0x05,0x02,0x03]
155
156buffer_atomic_smin_x2 v[5:6], off, s[8:11], s3 offset:4095
157// GFX11: buffer_atomic_min_i64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x14,0xe1,0x00,0x05,0x02,0x03]
158
159buffer_atomic_umin v5, off, s[8:11], s3 offset:4095
160// GFX11: buffer_atomic_min_u32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xe4,0xe0,0x00,0x05,0x02,0x03]
161
162buffer_atomic_umin_x2 v[5:6], off, s[8:11], s3 offset:4095
163// GFX11: buffer_atomic_min_u64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x18,0xe1,0x00,0x05,0x02,0x03]
164
165buffer_atomic_or v5, off, s[8:11], s3 offset:4095
166// GFX11: buffer_atomic_or_b32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xf4,0xe0,0x00,0x05,0x02,0x03]
167
168buffer_atomic_or_x2 v[5:6], off, s[8:11], s3 offset:4095
169// GFX11: buffer_atomic_or_b64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x28,0xe1,0x00,0x05,0x02,0x03]
170
171buffer_atomic_sub v5, off, s[8:11], s3 offset:4095
172// GFX11: buffer_atomic_sub_u32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xd8,0xe0,0x00,0x05,0x02,0x03]
173
174buffer_atomic_sub_x2 v[5:6], off, s[8:11], s3 offset:4095
175// GFX11: buffer_atomic_sub_u64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x10,0xe1,0x00,0x05,0x02,0x03]
176
177buffer_atomic_swap v5, off, s[8:11], s3 offset:4095
178// GFX11: buffer_atomic_swap_b32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xcc,0xe0,0x00,0x05,0x02,0x03]
179
180buffer_atomic_swap_x2 v[5:6], off, s[8:11], s3 offset:4095
181// GFX11: buffer_atomic_swap_b64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x04,0xe1,0x00,0x05,0x02,0x03]
182
183buffer_atomic_xor v5, off, s[8:11], s3 offset:4095
184// GFX11: buffer_atomic_xor_b32 v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0xf8,0xe0,0x00,0x05,0x02,0x03]
185
186buffer_atomic_xor_x2 v[5:6], off, s[8:11], s3 offset:4095
187// GFX11: buffer_atomic_xor_b64 v[5:6], off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x2c,0xe1,0x00,0x05,0x02,0x03]
188