xref: /llvm-project/llvm/test/MC/AMDGPU/literalv216.s (revision 49b492048af2b2093aaed899c0bbd6d740aad83c)
1// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck %s --check-prefix=GFX9
2// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1010 -show-encoding %s | FileCheck %s --check-prefix=GFX10
3
4// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s -check-prefix=NOGFX9 --implicit-check-not=error:
5// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck %s -check-prefix=NOGFX10 --implicit-check-not=error:
6
7//===----------------------------------------------------------------------===//
8// Inline constants
9//===----------------------------------------------------------------------===//
10
11v_pk_add_f16 v1, 0, v2
12// GFX9: v_pk_add_f16 v1, 0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x80,0x04,0x02,0x18]
13// GFX10: v_pk_add_f16 v1, 0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x80,0x04,0x02,0x18]
14
15v_pk_add_f16 v1, 0.0, v2
16// GFX9: v_pk_add_f16 v1, 0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x80,0x04,0x02,0x18]
17// GFX10: v_pk_add_f16 v1, 0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x80,0x04,0x02,0x18]
18
19v_pk_add_f16 v1, v2, 0
20// GFX9: v_pk_add_f16 v1, v2, 0 ; encoding: [0x01,0x40,0x8f,0xd3,0x02,0x01,0x01,0x18]
21// GFX10: v_pk_add_f16 v1, v2, 0 ; encoding: [0x01,0x40,0x0f,0xcc,0x02,0x01,0x01,0x18]
22
23v_pk_add_f16 v1, v2, 0.0
24// GFX9: v_pk_add_f16 v1, v2, 0 ; encoding: [0x01,0x40,0x8f,0xd3,0x02,0x01,0x01,0x18]
25// GFX10: v_pk_add_f16 v1, v2, 0 ; encoding: [0x01,0x40,0x0f,0xcc,0x02,0x01,0x01,0x18]
26
27v_pk_add_f16 v1, 1.0, v2
28// GFX9: v_pk_add_f16 v1, 1.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf2,0x04,0x02,0x18]
29// GFX10: v_pk_add_f16 v1, 1.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf2,0x04,0x02,0x18]
30
31v_pk_add_f16 v1, -1.0, v2
32// GFX9: v_pk_add_f16 v1, -1.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf3,0x04,0x02,0x18]
33// GFX10: v_pk_add_f16 v1, -1.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf3,0x04,0x02,0x18]
34
35v_pk_add_f16 v1, -0.5, v2
36// GFX9: v_pk_add_f16 v1, -0.5, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf1,0x04,0x02,0x18]
37// GFX10: v_pk_add_f16 v1, -0.5, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf1,0x04,0x02,0x18]
38
39v_pk_add_f16 v1, 0.5, v2
40// GFX9: v_pk_add_f16 v1, 0.5, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf0,0x04,0x02,0x18]
41// GFX10: v_pk_add_f16 v1, 0.5, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf0,0x04,0x02,0x18]
42
43v_pk_add_f16 v1, 2.0, v2
44// GFX9: v_pk_add_f16 v1, 2.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf4,0x04,0x02,0x18]
45// GFX10: v_pk_add_f16 v1, 2.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf4,0x04,0x02,0x18]
46
47v_pk_add_f16 v1, -2.0, v2
48// GFX9: v_pk_add_f16 v1, -2.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf5,0x04,0x02,0x18]
49// GFX10: v_pk_add_f16 v1, -2.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf5,0x04,0x02,0x18]
50
51v_pk_add_f16 v1, 4.0, v2
52// GFX9: v_pk_add_f16 v1, 4.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf6,0x04,0x02,0x18]
53// GFX10: v_pk_add_f16 v1, 4.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf6,0x04,0x02,0x18]
54
55v_pk_add_f16 v1, -4.0, v2
56// GFX9: v_pk_add_f16 v1, -4.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf7,0x04,0x02,0x18]
57// GFX10: v_pk_add_f16 v1, -4.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf7,0x04,0x02,0x18]
58
59v_pk_add_f16 v1, 0.15915494, v2
60// GFX9: v_pk_add_f16 v1, 0.15915494, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf8,0x04,0x02,0x18]
61// GFX10: v_pk_add_f16 v1, 0.15915494, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf8,0x04,0x02,0x18]
62
63v_pk_add_f16 v1, -1, v2
64// GFX9: v_pk_add_f16 v1, -1, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xc1,0x04,0x02,0x18]
65// GFX10: v_pk_add_f16 v1, -1, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xc1,0x04,0x02,0x18]
66
67v_pk_add_f16 v1, -2, v2
68// GFX9: v_pk_add_f16 v1, -2, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xc2,0x04,0x02,0x18]
69// GFX10: v_pk_add_f16 v1, -2, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xc2,0x04,0x02,0x18]
70
71v_pk_add_f16 v1, -3, v2
72// GFX9: v_pk_add_f16 v1, -3, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xc3,0x04,0x02,0x18]
73// GFX10: v_pk_add_f16 v1, -3, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xc3,0x04,0x02,0x18]
74
75v_pk_add_f16 v1, -16, v2
76// GFX9: v_pk_add_f16 v1, -16, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xd0,0x04,0x02,0x18]
77// GFX10: v_pk_add_f16 v1, -16, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xd0,0x04,0x02,0x18]
78
79v_pk_add_f16 v1, 1, v2
80// GFX9: v_pk_add_f16 v1, 1, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x81,0x04,0x02,0x18]
81// GFX10: v_pk_add_f16 v1, 1, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x81,0x04,0x02,0x18]
82
83v_pk_add_f16 v1, 2, v2
84// GFX9: v_pk_add_f16 v1, 2, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x82,0x04,0x02,0x18]
85// GFX10: v_pk_add_f16 v1, 2, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x82,0x04,0x02,0x18]
86
87v_pk_add_f16 v1, 3, v2
88// GFX9: v_pk_add_f16 v1, 3, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x83,0x04,0x02,0x18]
89// GFX10: v_pk_add_f16 v1, 3, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x83,0x04,0x02,0x18]
90
91v_pk_add_f16 v1, 4, v2
92// GFX9: v_pk_add_f16 v1, 4, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x84,0x04,0x02,0x18]
93// GFX10: v_pk_add_f16 v1, 4, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x84,0x04,0x02,0x18]
94
95v_pk_add_f16 v1, 15, v2
96// GFX9: v_pk_add_f16 v1, 15, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x8f,0x04,0x02,0x18]
97// GFX10: v_pk_add_f16 v1, 15, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x8f,0x04,0x02,0x18]
98
99v_pk_add_f16 v1, 16, v2
100// GFX9: v_pk_add_f16 v1, 16, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x90,0x04,0x02,0x18]
101// GFX10: v_pk_add_f16 v1, 16, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0x90,0x04,0x02,0x18]
102
103v_pk_add_f16 v1, 63, v2
104// GFX9: v_pk_add_f16 v1, 63, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xbf,0x04,0x02,0x18]
105// GFX10: v_pk_add_f16 v1, 63, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xbf,0x04,0x02,0x18]
106
107v_pk_add_f16 v1, 64, v2
108// GFX9: v_pk_add_f16 v1, 64, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xc0,0x04,0x02,0x18]
109// GFX10: v_pk_add_f16 v1, 64, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xc0,0x04,0x02,0x18]
110
111v_pk_add_f16 v1, 0x0001, v2
112// GFX9: v_pk_add_f16 v1, 1, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0x81,0x04,0x02,0x18]
113// GFX10: v_pk_add_f16 v1, 1, v2  ; encoding: [0x01,0x40,0x0f,0xcc,0x81,0x04,0x02,0x18]
114
115v_pk_add_f16 v1, 0xffff, v2
116// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
117// GFX10: v_pk_add_f16 v1, 0xffff, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xff,0x04,0x02,0x18,0xff,0xff,0x00,0x00]
118
119v_pk_add_f16 v1, 0xffffffff, v2
120// GFX9: v_pk_add_f16 v1, -1, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xc1,0x04,0x02,0x18]
121// GFX10: v_pk_add_f16 v1, -1, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xc1,0x04,0x02,0x18]
122
123v_pk_add_f16 v1, 0x3c00, v2
124// GFX9: v_pk_add_f16 v1, 1.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf2,0x04,0x02,0x18]
125// GFX10: v_pk_add_f16 v1, 1.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf2,0x04,0x02,0x18]
126
127v_pk_add_f16 v1, 0xbc00, v2
128// GFX9: v_pk_add_f16 v1, -1.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf3,0x04,0x02,0x18]
129// GFX10: v_pk_add_f16 v1, -1.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf3,0x04,0x02,0x18]
130
131v_pk_add_f16 v1, 0x3800, v2
132// GFX9: v_pk_add_f16 v1, 0.5, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf0,0x04,0x02,0x18]
133// GFX10: v_pk_add_f16 v1, 0.5, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf0,0x04,0x02,0x18]
134
135v_pk_add_f16 v1, 0xb800, v2
136// GFX9: v_pk_add_f16 v1, -0.5, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf1,0x04,0x02,0x18]
137// GFX10: v_pk_add_f16 v1, -0.5, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf1,0x04,0x02,0x18]
138
139v_pk_add_f16 v1, 0x4000, v2
140// GFX9: v_pk_add_f16 v1, 2.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf4,0x04,0x02,0x18]
141// GFX10: v_pk_add_f16 v1, 2.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf4,0x04,0x02,0x18]
142
143v_pk_add_f16 v1, 0xc000, v2
144// GFX9: v_pk_add_f16 v1, -2.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf5,0x04,0x02,0x18]
145// GFX10: v_pk_add_f16 v1, -2.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf5,0x04,0x02,0x18]
146
147v_pk_add_f16 v1, 0x4400, v2
148// GFX9: v_pk_add_f16 v1, 4.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf6,0x04,0x02,0x18]
149// GFX10: v_pk_add_f16 v1, 4.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf6,0x04,0x02,0x18]
150
151v_pk_add_f16 v1, 0xc400, v2
152// GFX9: v_pk_add_f16 v1, -4.0, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf7,0x04,0x02,0x18]
153// GFX10: v_pk_add_f16 v1, -4.0, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf7,0x04,0x02,0x18]
154
155v_pk_add_f16 v1, 0x3118, v2
156// GFX9: v_pk_add_f16 v1, 0.15915494, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xf8,0x04,0x02,0x18]
157// GFX10: v_pk_add_f16 v1, 0.15915494, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xf8,0x04,0x02,0x18]
158
159v_pk_add_f16 v1, 65535, v2
160// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
161// GFX10: v_pk_add_f16 v1, 0xffff, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xff,0x04,0x02,0x18,0xff,0xff,0x00,0x00]
162
163v_pk_add_f16 v1, 4294967295, v2
164// GFX9: v_pk_add_f16 v1, -1, v2 ; encoding: [0x01,0x40,0x8f,0xd3,0xc1,0x04,0x02,0x18]
165// GFX10: v_pk_add_f16 v1, -1, v2 ; encoding: [0x01,0x40,0x0f,0xcc,0xc1,0x04,0x02,0x18]
166
167//===----------------------------------------------------------------------===//
168// Integer literals
169//===----------------------------------------------------------------------===//
170
171v_pk_add_f16 v5, v1, 0x12345678
172// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
173// GFX10: v_pk_add_f16 v5, v1, 0x12345678 ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
174
175v_pk_add_f16 v5, 0x12345678, v2
176// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
177// GFX10: v_pk_add_f16 v5, 0x12345678, v2 ; encoding: [0x05,0x40,0x0f,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
178
179v_pk_add_f16 v5, -256, v2
180// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
181// GFX10: v_pk_add_f16 v5, 0xffffff00, v2 ; encoding: [0x05,0x40,0x0f,0xcc,0xff,0x04,0x02,0x18,0x00,0xff,0xff,0xff]
182
183v_pk_add_f16 v5, v1, 256
184// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
185// GFX10: v_pk_add_f16 v5, v1, 0x100      ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0xff,0x01,0x18,0x00,0x01,0x00,0x00]
186
187v_pk_add_u16 v5, v1, 0x12345678
188// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
189// GFX10: v_pk_add_u16 v5, v1, 0x12345678 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
190
191v_pk_add_u16 v5, 0x12345678, v2
192// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
193// GFX10: v_pk_add_u16 v5, 0x12345678, v2 ; encoding: [0x05,0x40,0x0a,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
194
195v_pk_add_u16 v5, -256, v2
196// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
197// GFX10: v_pk_add_u16 v5, 0xffffff00, v2 ; encoding: [0x05,0x40,0x0a,0xcc,0xff,0x04,0x02,0x18,0x00,0xff,0xff,0xff]
198
199v_pk_add_u16 v5, v1, 256
200// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
201// GFX10: v_pk_add_u16 v5, v1, 0x100      ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0x00,0x01,0x00,0x00]
202
203v_pk_add_f16 v5, v1, 0x123456780
204// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
205// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
206
207v_pk_add_u16 v5, v1, 0x123456780
208// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
209// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
210
211v_pk_fma_f16 v5, 0xaf123456, v2, v3
212// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
213// GFX10: v_pk_fma_f16 v5, 0xaf123456, v2, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0xff,0x04,0x0e,0x1c,0x56,0x34,0x12,0xaf]
214
215v_pk_fma_f16 v5, v1, 0xaf123456, v3
216// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
217// GFX10: v_pk_fma_f16 v5, v1, 0xaf123456, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0xff,0x0d,0x1c,0x56,0x34,0x12,0xaf]
218
219v_pk_fma_f16 v5, v1, v2, 0xaf123456
220// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
221// GFX10: v_pk_fma_f16 v5, v1, v2, 0xaf123456 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0x05,0xfe,0x1b,0x56,0x34,0x12,0xaf]
222
223v_pk_mad_i16 v5, 0xaf123456, v2, v3
224// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
225// GFX10: v_pk_mad_i16 v5, 0xaf123456, v2, v3 ; encoding: [0x05,0x40,0x00,0xcc,0xff,0x04,0x0e,0x1c,0x56,0x34,0x12,0xaf]
226
227v_pk_mad_i16 v5, v1, 0xaf123456, v3
228// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
229// GFX10: v_pk_mad_i16 v5, v1, 0xaf123456, v3 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0xff,0x0d,0x1c,0x56,0x34,0x12,0xaf]
230
231v_pk_mad_i16 v5, v1, v2, 0xaf123456
232// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
233// GFX10: v_pk_mad_i16 v5, v1, v2, 0xaf123456 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0x05,0xfe,0x1b,0x56,0x34,0x12,0xaf]
234
235v_pk_ashrrev_i16 v5, 0x12345678, v2
236// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
237// GFX10: v_pk_ashrrev_i16 v5, 0x12345678, v2 ; encoding: [0x05,0x40,0x06,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
238
239v_pk_ashrrev_i16 v5, v1, 0x12345678
240// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
241// GFX10: v_pk_ashrrev_i16 v5, v1, 0x12345678 ; encoding: [0x05,0x40,0x06,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
242
243//===----------------------------------------------------------------------===//
244// Floating-point literals (allowed if lossless conversion to f16 is possible)
245//===----------------------------------------------------------------------===//
246
247v_pk_add_f16 v5, v1, 0.1234
248// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
249// GFX10: v_pk_add_f16 v5, v1, 0x2fe6     ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0xff,0x01,0x18,0xe6,0x2f,0x00,0x00]
250
251v_pk_add_u16 v5, v1, 0.1234
252// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
253// GFX10: v_pk_add_u16 v5, v1, 0x3dfcb924 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0x24,0xb9,0xfc,0x3d]
254
255v_pk_fma_f16 v5, 0.1234, v2, v3
256// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
257// GFX10: v_pk_fma_f16 v5, 0x2fe6, v2, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0xff,0x04,0x0e,0x1c,0xe6,0x2f,0x00,0x00]
258
259v_pk_fma_f16 v5, v1, 0.1234, v3
260// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
261// GFX10: v_pk_fma_f16 v5, v1, 0x2fe6, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0xff,0x0d,0x1c,0xe6,0x2f,0x00,0x00]
262
263v_pk_fma_f16 v5, v1, v2, 0.1234
264// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
265// GFX10: v_pk_fma_f16 v5, v1, v2, 0x2fe6 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0x05,0xfe,0x1b,0xe6,0x2f,0x00,0x00]
266
267v_pk_mad_i16 v5, 0.1234, v2, v3
268// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
269// GFX10: v_pk_mad_i16 v5, 0x3dfcb924, v2, v3 ; encoding: [0x05,0x40,0x00,0xcc,0xff,0x04,0x0e,0x1c,0x24,0xb9,0xfc,0x3d]
270
271v_pk_mad_i16 v5, v1, 0.1234, v3
272// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
273// GFX10: v_pk_mad_i16 v5, v1, 0x3dfcb924, v3 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0xff,0x0d,0x1c,0x24,0xb9,0xfc,0x3d]
274
275v_pk_mad_i16 v5, v1, v2, 0.1234
276// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
277// GFX10: v_pk_mad_i16 v5, v1, v2, 0x3dfcb924 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0x05,0xfe,0x1b,0x24,0xb9,0xfc,0x3d]
278
279v_pk_add_f16 v5, v1, 123456.0
280// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
281// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
282
283v_pk_add_u16 v5, v1, 123456.0
284// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
285// GFX10: v_pk_add_u16 v5, v1, 0x47f12000 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0x00,0x20,0xf1,0x47]
286
287//===----------------------------------------------------------------------===//
288// Packed VOP2
289//===----------------------------------------------------------------------===//
290
291// FIXME: v_pk_fmac_f16 cannot be promoted to VOP3 so '_e32' suffix is not valid
292v_pk_fmac_f16 v5, 0x12345678, v2
293// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
294// GFX10: v_pk_fmac_f16 v5, 0x12345678, v2 ; encoding: [0xff,0x04,0x0a,0x78,0x78,0x56,0x34,0x12]
295