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
=gfx1010
-show-encoding
%s | FileCheck
%s
--check-prefix
=GFX10
4 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s
2>&1 | FileCheck
%s
-check-prefix
=NOGFX9
5 // RUN
: not llvm-mc
-arch
=amdgcn
-mcpu
=gfx1010
-show-encoding
%s
2>&1 | FileCheck
%s
-check-prefix
=NOGFX10
7 //===----------------------------------------------------------------------===//
9 //===----------------------------------------------------------------------===//
11 v_pk_add_f16 v1
, 0, v2
12 // GFX9
: v_pk_add_f16 v1
, 0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x80,0x04,0x02,0x18]
13 // GFX10
: v_pk_add_f16 v1
, 0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x80,0x04,0x02,0x18]
15 v_pk_add_f16 v1
, 0.0, v2
16 // GFX9
: v_pk_add_f16 v1
, 0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x80,0x04,0x02,0x18]
17 // GFX10
: v_pk_add_f16 v1
, 0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x80,0x04,0x02,0x18]
19 v_pk_add_f16 v1
, v2
, 0
20 // GFX9
: v_pk_add_f16 v1
, v2
, 0 ; encoding
: [0x01,0x00,0x8f,0xd3,0x02,0x01,0x01,0x18]
21 // GFX10
: v_pk_add_f16 v1
, v2
, 0 ; encoding
: [0x01,0x00,0x0f,0xcc,0x02,0x01,0x01,0x18]
23 v_pk_add_f16 v1
, v2
, 0.0
24 // GFX9
: v_pk_add_f16 v1
, v2
, 0 ; encoding
: [0x01,0x00,0x8f,0xd3,0x02,0x01,0x01,0x18]
25 // GFX10
: v_pk_add_f16 v1
, v2
, 0 ; encoding
: [0x01,0x00,0x0f,0xcc,0x02,0x01,0x01,0x18]
27 v_pk_add_f16 v1
, 1.0, v2
28 // GFX9
: v_pk_add_f16 v1
, 1.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf2,0x04,0x02,0x18]
29 // GFX10
: v_pk_add_f16 v1
, 1.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf2,0x04,0x02,0x18]
31 v_pk_add_f16 v1
, -1.0, v2
32 // GFX9
: v_pk_add_f16 v1
, -1.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf3,0x04,0x02,0x18]
33 // GFX10
: v_pk_add_f16 v1
, -1.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf3,0x04,0x02,0x18]
35 v_pk_add_f16 v1
, -0.5, v2
36 // GFX9
: v_pk_add_f16 v1
, -0.5, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf1,0x04,0x02,0x18]
37 // GFX10
: v_pk_add_f16 v1
, -0.5, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf1,0x04,0x02,0x18]
39 v_pk_add_f16 v1
, 0.5, v2
40 // GFX9
: v_pk_add_f16 v1
, 0.5, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf0,0x04,0x02,0x18]
41 // GFX10
: v_pk_add_f16 v1
, 0.5, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf0,0x04,0x02,0x18]
43 v_pk_add_f16 v1
, 2.0, v2
44 // GFX9
: v_pk_add_f16 v1
, 2.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf4,0x04,0x02,0x18]
45 // GFX10
: v_pk_add_f16 v1
, 2.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf4,0x04,0x02,0x18]
47 v_pk_add_f16 v1
, -2.0, v2
48 // GFX9
: v_pk_add_f16 v1
, -2.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf5,0x04,0x02,0x18]
49 // GFX10
: v_pk_add_f16 v1
, -2.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf5,0x04,0x02,0x18]
51 v_pk_add_f16 v1
, 4.0, v2
52 // GFX9
: v_pk_add_f16 v1
, 4.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf6,0x04,0x02,0x18]
53 // GFX10
: v_pk_add_f16 v1
, 4.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf6,0x04,0x02,0x18]
55 v_pk_add_f16 v1
, -4.0, v2
56 // GFX9
: v_pk_add_f16 v1
, -4.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf7,0x04,0x02,0x18]
57 // GFX10
: v_pk_add_f16 v1
, -4.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf7,0x04,0x02,0x18]
59 v_pk_add_f16 v1
, 0.15915494, v2
60 // GFX9
: v_pk_add_f16 v1
, 0.15915494, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf8,0x04,0x02,0x18]
61 // GFX10
: v_pk_add_f16 v1
, 0.15915494, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf8,0x04,0x02,0x18]
63 v_pk_add_f16 v1
, -1, v2
64 // GFX9
: v_pk_add_f16 v1
, -1, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xc1,0x04,0x02,0x18]
65 // GFX10
: v_pk_add_f16 v1
, -1, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xc1,0x04,0x02,0x18]
67 v_pk_add_f16 v1
, -2, v2
68 // GFX9
: v_pk_add_f16 v1
, -2, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xc2,0x04,0x02,0x18]
69 // GFX10
: v_pk_add_f16 v1
, -2, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xc2,0x04,0x02,0x18]
71 v_pk_add_f16 v1
, -3, v2
72 // GFX9
: v_pk_add_f16 v1
, -3, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xc3,0x04,0x02,0x18]
73 // GFX10
: v_pk_add_f16 v1
, -3, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xc3,0x04,0x02,0x18]
75 v_pk_add_f16 v1
, -16, v2
76 // GFX9
: v_pk_add_f16 v1
, -16, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xd0,0x04,0x02,0x18]
77 // GFX10
: v_pk_add_f16 v1
, -16, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xd0,0x04,0x02,0x18]
79 v_pk_add_f16 v1
, 1, v2
80 // GFX9
: v_pk_add_f16 v1
, 1, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x81,0x04,0x02,0x18]
81 // GFX10
: v_pk_add_f16 v1
, 1, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x81,0x04,0x02,0x18]
83 v_pk_add_f16 v1
, 2, v2
84 // GFX9
: v_pk_add_f16 v1
, 2, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x82,0x04,0x02,0x18]
85 // GFX10
: v_pk_add_f16 v1
, 2, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x82,0x04,0x02,0x18]
87 v_pk_add_f16 v1
, 3, v2
88 // GFX9
: v_pk_add_f16 v1
, 3, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x83,0x04,0x02,0x18]
89 // GFX10
: v_pk_add_f16 v1
, 3, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x83,0x04,0x02,0x18]
91 v_pk_add_f16 v1
, 4, v2
92 // GFX9
: v_pk_add_f16 v1
, 4, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x84,0x04,0x02,0x18]
93 // GFX10
: v_pk_add_f16 v1
, 4, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x84,0x04,0x02,0x18]
95 v_pk_add_f16 v1
, 15, v2
96 // GFX9
: v_pk_add_f16 v1
, 15, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x8f,0x04,0x02,0x18]
97 // GFX10
: v_pk_add_f16 v1
, 15, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x8f,0x04,0x02,0x18]
99 v_pk_add_f16 v1
, 16, v2
100 // GFX9
: v_pk_add_f16 v1
, 16, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x90,0x04,0x02,0x18]
101 // GFX10
: v_pk_add_f16 v1
, 16, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x90,0x04,0x02,0x18]
103 v_pk_add_f16 v1
, 63, v2
104 // GFX9
: v_pk_add_f16 v1
, 63, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xbf,0x04,0x02,0x18]
105 // GFX10
: v_pk_add_f16 v1
, 63, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xbf,0x04,0x02,0x18]
107 v_pk_add_f16 v1
, 64, v2
108 // GFX9
: v_pk_add_f16 v1
, 64, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xc0,0x04,0x02,0x18]
109 // GFX10
: v_pk_add_f16 v1
, 64, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xc0,0x04,0x02,0x18]
111 v_pk_add_f16 v1
, 0x0001, v2
112 // GFX9
: v_pk_add_f16 v1
, 1, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0x81,0x04,0x02,0x18]
113 // GFX10
: v_pk_add_f16 v1
, 1, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0x81,0x04,0x02,0x18]
115 v_pk_add_f16 v1
, 0xffff, v2
116 // GFX9
: v_pk_add_f16 v1
, -1, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xc1,0x04,0x02,0x18]
117 // GFX10
: v_pk_add_f16 v1
, -1, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xc1,0x04,0x02,0x18]
119 v_pk_add_f16 v1
, 0x3c00, v2
120 // GFX9
: v_pk_add_f16 v1
, 1.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf2,0x04,0x02,0x18]
121 // GFX10
: v_pk_add_f16 v1
, 1.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf2,0x04,0x02,0x18]
123 v_pk_add_f16 v1
, 0xbc00, v2
124 // GFX9
: v_pk_add_f16 v1
, -1.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf3,0x04,0x02,0x18]
125 // GFX10
: v_pk_add_f16 v1
, -1.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf3,0x04,0x02,0x18]
127 v_pk_add_f16 v1
, 0x3800, v2
128 // GFX9
: v_pk_add_f16 v1
, 0.5, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf0,0x04,0x02,0x18]
129 // GFX10
: v_pk_add_f16 v1
, 0.5, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf0,0x04,0x02,0x18]
131 v_pk_add_f16 v1
, 0xb800, v2
132 // GFX9
: v_pk_add_f16 v1
, -0.5, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf1,0x04,0x02,0x18]
133 // GFX10
: v_pk_add_f16 v1
, -0.5, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf1,0x04,0x02,0x18]
135 v_pk_add_f16 v1
, 0x4000, v2
136 // GFX9
: v_pk_add_f16 v1
, 2.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf4,0x04,0x02,0x18]
137 // GFX10
: v_pk_add_f16 v1
, 2.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf4,0x04,0x02,0x18]
139 v_pk_add_f16 v1
, 0xc000, v2
140 // GFX9
: v_pk_add_f16 v1
, -2.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf5,0x04,0x02,0x18]
141 // GFX10
: v_pk_add_f16 v1
, -2.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf5,0x04,0x02,0x18]
143 v_pk_add_f16 v1
, 0x4400, v2
144 // GFX9
: v_pk_add_f16 v1
, 4.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf6,0x04,0x02,0x18]
145 // GFX10
: v_pk_add_f16 v1
, 4.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf6,0x04,0x02,0x18]
147 v_pk_add_f16 v1
, 0xc400, v2
148 // GFX9
: v_pk_add_f16 v1
, -4.0, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf7,0x04,0x02,0x18]
149 // GFX10
: v_pk_add_f16 v1
, -4.0, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf7,0x04,0x02,0x18]
151 v_pk_add_f16 v1
, 0x3118, v2
152 // GFX9
: v_pk_add_f16 v1
, 0.15915494, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xf8,0x04,0x02,0x18]
153 // GFX10
: v_pk_add_f16 v1
, 0.15915494, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xf8,0x04,0x02,0x18]
155 v_pk_add_f16 v1
, 65535, v2
156 // GFX9
: v_pk_add_f16 v1
, -1, v2 ; encoding
: [0x01,0x00,0x8f,0xd3,0xc1,0x04,0x02,0x18]
157 // GFX10
: v_pk_add_f16 v1
, -1, v2 ; encoding
: [0x01,0x00,0x0f,0xcc,0xc1,0x04,0x02,0x18]
159 //===----------------------------------------------------------------------===//
161 //===----------------------------------------------------------------------===//
163 v_pk_add_f16 v5
, v1
, 0x12345678
164 // NOGFX9
: error
: invalid literal operand
165 // GFX10
: v_pk_add_f16 v5
, v1
, 0x12345678 ; encoding
: [0x05,0x00,0x0f,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
167 v_pk_add_f16 v5
, 0x12345678, v2
168 // NOGFX9
: error
: invalid literal operand
169 // GFX10
: v_pk_add_f16 v5
, 0x12345678, v2 ; encoding
: [0x05,0x00,0x0f,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
171 v_pk_add_f16 v5
, -256, v2
172 // NOGFX9
: error
: invalid literal operand
173 // GFX10
: v_pk_add_f16 v5
, 0xffffff00, v2 ; encoding
: [0x05,0x00,0x0f,0xcc,0xff,0x04,0x02,0x18,0x00,0xff,0xff,0xff]
175 v_pk_add_f16 v5
, v1
, 256
176 // NOGFX9
: error
: invalid literal operand
177 // GFX10
: v_pk_add_f16 v5
, v1
, 0x100 ; encoding
: [0x05,0x00,0x0f,0xcc,0x01,0xff,0x01,0x18,0x00,0x01,0x00,0x00]
179 v_pk_add_u16 v5
, v1
, 0x12345678
180 // NOGFX9
: error
: invalid literal operand
181 // GFX10
: v_pk_add_u16 v5
, v1
, 0x12345678 ; encoding
: [0x05,0x00,0x0a,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
183 v_pk_add_u16 v5
, 0x12345678, v2
184 // NOGFX9
: error
: invalid literal operand
185 // GFX10
: v_pk_add_u16 v5
, 0x12345678, v2 ; encoding
: [0x05,0x00,0x0a,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
187 v_pk_add_u16 v5
, -256, v2
188 // NOGFX9
: error
: invalid literal operand
189 // GFX10
: v_pk_add_u16 v5
, 0xffffff00, v2 ; encoding
: [0x05,0x00,0x0a,0xcc,0xff,0x04,0x02,0x18,0x00,0xff,0xff,0xff]
191 v_pk_add_u16 v5
, v1
, 256
192 // NOGFX9
: error
: invalid literal operand
193 // GFX10
: v_pk_add_u16 v5
, v1
, 0x100 ; encoding
: [0x05,0x00,0x0a,0xcc,0x01,0xff,0x01,0x18,0x00,0x01,0x00,0x00]
195 v_pk_add_f16 v5
, v1
, 0x123456780
196 // NOGFX9
: error
: invalid operand for instruction
197 // NOGFX10
: error
: invalid operand for instruction
199 v_pk_add_u16 v5
, v1
, 0x123456780
200 // NOGFX9
: error
: invalid operand for instruction
201 // NOGFX10
: error
: invalid operand for instruction
203 v_pk_fma_f16 v5
, 0xaf123456, v2
, v3
204 // NOGFX9
: error
: invalid literal operand
205 // GFX10
: v_pk_fma_f16 v5
, 0xaf123456, v2
, v3 ; encoding
: [0x05,0x40,0x0e,0xcc,0xff,0x04,0x0e,0x1c,0x56,0x34,0x12,0xaf]
207 v_pk_fma_f16 v5
, v1
, 0xaf123456, v3
208 // NOGFX9
: error
: invalid literal operand
209 // GFX10
: v_pk_fma_f16 v5
, v1
, 0xaf123456, v3 ; encoding
: [0x05,0x40,0x0e,0xcc,0x01,0xff,0x0d,0x1c,0x56,0x34,0x12,0xaf]
211 v_pk_fma_f16 v5
, v1
, v2
, 0xaf123456
212 // NOGFX9
: error
: invalid literal operand
213 // GFX10
: v_pk_fma_f16 v5
, v1
, v2
, 0xaf123456 ; encoding
: [0x05,0x40,0x0e,0xcc,0x01,0x05,0xfe,0x1b,0x56,0x34,0x12,0xaf]
215 v_pk_mad_i16 v5
, 0xaf123456, v2
, v3
216 // NOGFX9
: error
: invalid literal operand
217 // GFX10
: v_pk_mad_i16 v5
, 0xaf123456, v2
, v3 ; encoding
: [0x05,0x40,0x00,0xcc,0xff,0x04,0x0e,0x1c,0x56,0x34,0x12,0xaf]
219 v_pk_mad_i16 v5
, v1
, 0xaf123456, v3
220 // NOGFX9
: error
: invalid literal operand
221 // GFX10
: v_pk_mad_i16 v5
, v1
, 0xaf123456, v3 ; encoding
: [0x05,0x40,0x00,0xcc,0x01,0xff,0x0d,0x1c,0x56,0x34,0x12,0xaf]
223 v_pk_mad_i16 v5
, v1
, v2
, 0xaf123456
224 // NOGFX9
: error
: invalid literal operand
225 // GFX10
: v_pk_mad_i16 v5
, v1
, v2
, 0xaf123456 ; encoding
: [0x05,0x40,0x00,0xcc,0x01,0x05,0xfe,0x1b,0x56,0x34,0x12,0xaf]
227 v_pk_ashrrev_i16 v5
, 0x12345678, v2
228 // NOGFX9
: error
: invalid literal operand
229 // GFX10
: v_pk_ashrrev_i16 v5
, 0x12345678, v2 ; encoding
: [0x05,0x00,0x06,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
231 v_pk_ashrrev_i16 v5
, v1
, 0x12345678
232 // NOGFX9
: error
: invalid literal operand
233 // GFX10
: v_pk_ashrrev_i16 v5
, v1
, 0x12345678 ; encoding
: [0x05,0x00,0x06,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
235 //===----------------------------------------------------------------------===//
236 // Floating-point literals
(allowed if lossless conversion to
f16 is possible
)
237 //===----------------------------------------------------------------------===//
239 v_pk_add_f16 v5
, v1
, 0.1234
240 // NOGFX9
: error
: invalid literal operand
241 // GFX10
: v_pk_add_f16 v5
, v1
, 0x2fe6 ; encoding
: [0x05,0x00,0x0f,0xcc,0x01,0xff,0x01,0x18,0xe6,0x2f,0x00,0x00]
243 v_pk_add_u16 v5
, v1
, 0.1234
244 // NOGFX9
: error
: invalid literal operand
245 // GFX10
: v_pk_add_u16 v5
, v1
, 0x2fe6 ; encoding
: [0x05,0x00,0x0a,0xcc,0x01,0xff,0x01,0x18,0xe6,0x2f,0x00,0x00]
247 v_pk_fma_f16 v5
, 0.1234, v2
, v3
248 // NOGFX9
: error
: invalid literal operand
249 // GFX10
: v_pk_fma_f16 v5
, 0x2fe6, v2
, v3 ; encoding
: [0x05,0x40,0x0e,0xcc,0xff,0x04,0x0e,0x1c,0xe6,0x2f,0x00,0x00]
251 v_pk_fma_f16 v5
, v1
, 0.1234, v3
252 // NOGFX9
: error
: invalid literal operand
253 // GFX10
: v_pk_fma_f16 v5
, v1
, 0x2fe6, v3 ; encoding
: [0x05,0x40,0x0e,0xcc,0x01,0xff,0x0d,0x1c,0xe6,0x2f,0x00,0x00]
255 v_pk_fma_f16 v5
, v1
, v2
, 0.1234
256 // NOGFX9
: error
: invalid literal operand
257 // GFX10
: v_pk_fma_f16 v5
, v1
, v2
, 0x2fe6 ; encoding
: [0x05,0x40,0x0e,0xcc,0x01,0x05,0xfe,0x1b,0xe6,0x2f,0x00,0x00]
259 v_pk_mad_i16 v5
, 0.1234, v2
, v3
260 // NOGFX9
: error
: invalid literal operand
261 // GFX10
: v_pk_mad_i16 v5
, 0x2fe6, v2
, v3 ; encoding
: [0x05,0x40,0x00,0xcc,0xff,0x04,0x0e,0x1c,0xe6,0x2f,0x00,0x00]
263 v_pk_mad_i16 v5
, v1
, 0.1234, v3
264 // NOGFX9
: error
: invalid literal operand
265 // GFX10
: v_pk_mad_i16 v5
, v1
, 0x2fe6, v3 ; encoding
: [0x05,0x40,0x00,0xcc,0x01,0xff,0x0d,0x1c,0xe6,0x2f,0x00,0x00]
267 v_pk_mad_i16 v5
, v1
, v2
, 0.1234
268 // NOGFX9
: error
: invalid literal operand
269 // GFX10
: v_pk_mad_i16 v5
, v1
, v2
, 0x2fe6 ; encoding
: [0x05,0x40,0x00,0xcc,0x01,0x05,0xfe,0x1b,0xe6,0x2f,0x00,0x00]
271 v_pk_add_f16 v5
, v1
, 123456.0
272 // NOGFX9
: error
: invalid operand for instruction
273 // NOGFX10
: error
: invalid operand for instruction
275 v_pk_add_u16 v5
, v1
, 123456.0
276 // NOGFX9
: error
: invalid operand for instruction
277 // NOGFX10
: error
: invalid operand for instruction
279 //===----------------------------------------------------------------------===//
281 //===----------------------------------------------------------------------===//
283 // FIXME
: v_pk_fmac_f16 cannot
be promoted to VOP3 so
'_e32' suffix is
not valid
284 v_pk_fmac_f16 v5
, 0x12345678, v2
285 // NOGFX9
: error
: instruction
not supported on this GPU
286 // GFX10
: v_pk_fmac_f16_e32 v5
, 0x12345678, v2 ; encoding
: [0xff,0x04,0x0a,0x78,0x78,0x56,0x34,0x12]