1 # RUN: llvm-mc -triple powerpc64-unknown-linux-gnu --show-encoding %s | FileCheck -check-prefix=CHECK-BE %s
2 # RUN: llvm-mc -triple powerpc64le-unknown-linux-gnu --show-encoding %s | FileCheck -check-prefix=CHECK-LE %s
4 # CHECK-BE: xxswapd 7, 63 # encoding: [0xf0,0xff,0xfa,0x56]
5 # CHECK-LE: xxswapd 7, 63 # encoding: [0x56,0xfa,0xff,0xf0]
8 # CHECK-BE: lxsdx 39, 5, 31 # encoding: [0x7c,0xe5,0xfc,0x99]
9 # CHECK-LE: lxsdx 39, 5, 31 # encoding: [0x99,0xfc,0xe5,0x7c]
11 # CHECK-BE: lxsiwax 39, 5, 31 # encoding: [0x7c,0xe5,0xf8,0x99]
12 # CHECK-LE: lxsiwax 39, 5, 31 # encoding: [0x99,0xf8,0xe5,0x7c]
14 # CHECK-BE: lxsiwzx 39, 5, 31 # encoding: [0x7c,0xe5,0xf8,0x19]
15 # CHECK-LE: lxsiwzx 39, 5, 31 # encoding: [0x19,0xf8,0xe5,0x7c]
17 # CHECK-BE: lxsspx 39, 5, 31 # encoding: [0x7c,0xe5,0xfc,0x19]
18 # CHECK-LE: lxsspx 39, 5, 31 # encoding: [0x19,0xfc,0xe5,0x7c]
20 # CHECK-BE: lxvd2x 39, 5, 31 # encoding: [0x7c,0xe5,0xfe,0x99]
21 # CHECK-LE: lxvd2x 39, 5, 31 # encoding: [0x99,0xfe,0xe5,0x7c]
23 # CHECK-BE: lxvdsx 39, 5, 31 # encoding: [0x7c,0xe5,0xfa,0x99]
24 # CHECK-LE: lxvdsx 39, 5, 31 # encoding: [0x99,0xfa,0xe5,0x7c]
26 # CHECK-BE: lxvw4x 39, 5, 31 # encoding: [0x7c,0xe5,0xfe,0x19]
27 # CHECK-LE: lxvw4x 39, 5, 31 # encoding: [0x19,0xfe,0xe5,0x7c]
29 # CHECK-BE: stxsdx 40, 5, 31 # encoding: [0x7d,0x05,0xfd,0x99]
30 # CHECK-LE: stxsdx 40, 5, 31 # encoding: [0x99,0xfd,0x05,0x7d]
32 # CHECK-BE: stxsiwx 40, 5, 31 # encoding: [0x7d,0x05,0xf9,0x19]
33 # CHECK-LE: stxsiwx 40, 5, 31 # encoding: [0x19,0xf9,0x05,0x7d]
35 # CHECK-BE: stxsspx 40, 5, 31 # encoding: [0x7d,0x05,0xfd,0x19]
36 # CHECK-LE: stxsspx 40, 5, 31 # encoding: [0x19,0xfd,0x05,0x7d]
38 # CHECK-BE: stxvd2x 40, 5, 31 # encoding: [0x7d,0x05,0xff,0x99]
39 # CHECK-LE: stxvd2x 40, 5, 31 # encoding: [0x99,0xff,0x05,0x7d]
41 # CHECK-BE: stxvw4x 40, 5, 31 # encoding: [0x7d,0x05,0xff,0x19]
42 # CHECK-LE: stxvw4x 40, 5, 31 # encoding: [0x19,0xff,0x05,0x7d]
44 # CHECK-BE: xsabsdp 7, 27 # encoding: [0xf0,0xe0,0xdd,0x64]
45 # CHECK-LE: xsabsdp 7, 27 # encoding: [0x64,0xdd,0xe0,0xf0]
47 # CHECK-BE: xsaddsp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x04]
48 # CHECK-LE: xsaddsp 7, 63, 27 # encoding: [0x04,0xd8,0xff,0xf0]
50 # CHECK-BE: xsadddp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x04]
51 # CHECK-LE: xsadddp 7, 63, 27 # encoding: [0x04,0xd9,0xff,0xf0]
53 # CHECK-BE: xscmpodp 6, 63, 27 # encoding: [0xf3,0x1f,0xd9,0x5c]
54 # CHECK-LE: xscmpodp 6, 63, 27 # encoding: [0x5c,0xd9,0x1f,0xf3]
56 # CHECK-BE: xscmpudp 6, 63, 27 # encoding: [0xf3,0x1f,0xd9,0x1c]
57 # CHECK-LE: xscmpudp 6, 63, 27 # encoding: [0x1c,0xd9,0x1f,0xf3]
59 # CHECK-BE: xscpsgndp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x84]
60 # CHECK-LE: xscpsgndp 7, 63, 27 # encoding: [0x84,0xdd,0xff,0xf0]
62 # CHECK-BE: xscvdpsp 7, 27 # encoding: [0xf0,0xe0,0xdc,0x24]
63 # CHECK-LE: xscvdpsp 7, 27 # encoding: [0x24,0xdc,0xe0,0xf0]
65 # CHECK-BE: xscvdpspn 7, 27 # encoding: [0xf0,0xe0,0xdc,0x2c]
66 # CHECK-LE: xscvdpspn 7, 27 # encoding: [0x2c,0xdc,0xe0,0xf0]
68 # CHECK-BE: xscvdpsxds 7, 27 # encoding: [0xf0,0xe0,0xdd,0x60]
69 # CHECK-LE: xscvdpsxds 7, 27 # encoding: [0x60,0xdd,0xe0,0xf0]
71 # CHECK-BE: xscvdpsxws 7, 27 # encoding: [0xf0,0xe0,0xd9,0x60]
72 # CHECK-LE: xscvdpsxws 7, 27 # encoding: [0x60,0xd9,0xe0,0xf0]
74 # CHECK-BE: xscvdpuxds 7, 27 # encoding: [0xf0,0xe0,0xdd,0x20]
75 # CHECK-LE: xscvdpuxds 7, 27 # encoding: [0x20,0xdd,0xe0,0xf0]
77 # CHECK-BE: xscvdpuxws 7, 27 # encoding: [0xf0,0xe0,0xd9,0x20]
78 # CHECK-LE: xscvdpuxws 7, 27 # encoding: [0x20,0xd9,0xe0,0xf0]
80 # CHECK-BE: xscvspdp 7, 27 # encoding: [0xf0,0xe0,0xdd,0x24]
81 # CHECK-LE: xscvspdp 7, 27 # encoding: [0x24,0xdd,0xe0,0xf0]
83 # CHECK-BE: xscvspdpn 7, 27 # encoding: [0xf0,0xe0,0xdd,0x2c]
84 # CHECK-LE: xscvspdpn 7, 27 # encoding: [0x2c,0xdd,0xe0,0xf0]
86 # CHECK-BE: xscvsxdsp 7, 27 # encoding: [0xf0,0xe0,0xdc,0xe0]
87 # CHECK-LE: xscvsxdsp 7, 27 # encoding: [0xe0,0xdc,0xe0,0xf0]
89 # CHECK-BE: xscvsxddp 7, 27 # encoding: [0xf0,0xe0,0xdd,0xe0]
90 # CHECK-LE: xscvsxddp 7, 27 # encoding: [0xe0,0xdd,0xe0,0xf0]
92 # CHECK-BE: xscvuxdsp 7, 27 # encoding: [0xf0,0xe0,0xdc,0xa0]
93 # CHECK-LE: xscvuxdsp 7, 27 # encoding: [0xa0,0xdc,0xe0,0xf0]
95 # CHECK-BE: xscvuxddp 7, 27 # encoding: [0xf0,0xe0,0xdd,0xa0]
96 # CHECK-LE: xscvuxddp 7, 27 # encoding: [0xa0,0xdd,0xe0,0xf0]
98 # CHECK-BE: xsdivsp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0xc4]
99 # CHECK-LE: xsdivsp 7, 63, 27 # encoding: [0xc4,0xd8,0xff,0xf0]
101 # CHECK-BE: xsdivdp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0xc4]
102 # CHECK-LE: xsdivdp 7, 63, 27 # encoding: [0xc4,0xd9,0xff,0xf0]
104 # CHECK-BE: xsmaddadp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x0c]
105 # CHECK-LE: xsmaddadp 7, 63, 27 # encoding: [0x0c,0xd9,0xff,0xf0]
107 # CHECK-BE: xsmaddmdp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x4c]
108 # CHECK-LE: xsmaddmdp 7, 63, 27 # encoding: [0x4c,0xd9,0xff,0xf0]
110 # CHECK-BE: xsmaddasp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x0c]
111 # CHECK-LE: xsmaddasp 7, 63, 27 # encoding: [0x0c,0xd8,0xff,0xf0]
113 # CHECK-BE: xsmaddmsp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x4c]
114 # CHECK-LE: xsmaddmsp 7, 63, 27 # encoding: [0x4c,0xd8,0xff,0xf0]
116 # CHECK-BE: xsmaxdp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x04]
117 # CHECK-LE: xsmaxdp 7, 63, 27 # encoding: [0x04,0xdd,0xff,0xf0]
119 # CHECK-BE: xsmindp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x44]
120 # CHECK-LE: xsmindp 7, 63, 27 # encoding: [0x44,0xdd,0xff,0xf0]
122 # CHECK-BE: xsmsubadp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x8c]
123 # CHECK-LE: xsmsubadp 7, 63, 27 # encoding: [0x8c,0xd9,0xff,0xf0]
125 # CHECK-BE: xsmsubmdp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0xcc]
126 # CHECK-LE: xsmsubmdp 7, 63, 27 # encoding: [0xcc,0xd9,0xff,0xf0]
128 # CHECK-BE: xsmsubasp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x8c]
129 # CHECK-LE: xsmsubasp 7, 63, 27 # encoding: [0x8c,0xd8,0xff,0xf0]
131 # CHECK-BE: xsmsubmsp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0xcc]
132 # CHECK-LE: xsmsubmsp 7, 63, 27 # encoding: [0xcc,0xd8,0xff,0xf0]
134 # CHECK-BE: xsmulsp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x84]
135 # CHECK-LE: xsmulsp 7, 63, 27 # encoding: [0x84,0xd8,0xff,0xf0]
137 # CHECK-BE: xsmuldp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x84]
138 # CHECK-LE: xsmuldp 7, 63, 27 # encoding: [0x84,0xd9,0xff,0xf0]
140 # CHECK-BE: xsnabsdp 7, 27 # encoding: [0xf0,0xe0,0xdd,0xa4]
141 # CHECK-LE: xsnabsdp 7, 27 # encoding: [0xa4,0xdd,0xe0,0xf0]
143 # CHECK-BE: xsnegdp 7, 27 # encoding: [0xf0,0xe0,0xdd,0xe4]
144 # CHECK-LE: xsnegdp 7, 27 # encoding: [0xe4,0xdd,0xe0,0xf0]
146 # CHECK-BE: xsnmaddadp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x0c]
147 # CHECK-LE: xsnmaddadp 7, 63, 27 # encoding: [0x0c,0xdd,0xff,0xf0]
149 # CHECK-BE: xsnmaddmdp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x4c]
150 # CHECK-LE: xsnmaddmdp 7, 63, 27 # encoding: [0x4c,0xdd,0xff,0xf0]
152 # CHECK-BE: xsnmsubadp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x8c]
153 # CHECK-LE: xsnmsubadp 7, 63, 27 # encoding: [0x8c,0xdd,0xff,0xf0]
155 # CHECK-BE: xsnmsubmdp 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0xcc]
156 # CHECK-LE: xsnmsubmdp 7, 63, 27 # encoding: [0xcc,0xdd,0xff,0xf0]
158 # CHECK-BE: xsnmaddasp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x0c]
159 # CHECK-LE: xsnmaddasp 7, 63, 27 # encoding: [0x0c,0xdc,0xff,0xf0]
161 # CHECK-BE: xsnmaddmsp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x4c]
162 # CHECK-LE: xsnmaddmsp 7, 63, 27 # encoding: [0x4c,0xdc,0xff,0xf0]
164 # CHECK-BE: xsnmsubasp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x8c]
165 # CHECK-LE: xsnmsubasp 7, 63, 27 # encoding: [0x8c,0xdc,0xff,0xf0]
167 # CHECK-BE: xsnmsubmsp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0xcc]
168 # CHECK-LE: xsnmsubmsp 7, 63, 27 # encoding: [0xcc,0xdc,0xff,0xf0]
170 # CHECK-BE: xsrdpi 7, 27 # encoding: [0xf0,0xe0,0xd9,0x24]
171 # CHECK-LE: xsrdpi 7, 27 # encoding: [0x24,0xd9,0xe0,0xf0]
173 # CHECK-BE: xsrdpic 7, 27 # encoding: [0xf0,0xe0,0xd9,0xac]
174 # CHECK-LE: xsrdpic 7, 27 # encoding: [0xac,0xd9,0xe0,0xf0]
176 # CHECK-BE: xsrdpim 7, 27 # encoding: [0xf0,0xe0,0xd9,0xe4]
177 # CHECK-LE: xsrdpim 7, 27 # encoding: [0xe4,0xd9,0xe0,0xf0]
179 # CHECK-BE: xsrdpip 7, 27 # encoding: [0xf0,0xe0,0xd9,0xa4]
180 # CHECK-LE: xsrdpip 7, 27 # encoding: [0xa4,0xd9,0xe0,0xf0]
182 # CHECK-BE: xsrdpiz 7, 27 # encoding: [0xf0,0xe0,0xd9,0x64]
183 # CHECK-LE: xsrdpiz 7, 27 # encoding: [0x64,0xd9,0xe0,0xf0]
185 # CHECK-BE: xsresp 7, 27 # encoding: [0xf0,0xe0,0xd8,0x68]
186 # CHECK-LE: xsresp 7, 27 # encoding: [0x68,0xd8,0xe0,0xf0]
188 # CHECK-BE: xsredp 7, 27 # encoding: [0xf0,0xe0,0xd9,0x68]
189 # CHECK-LE: xsredp 7, 27 # encoding: [0x68,0xd9,0xe0,0xf0]
191 # CHECK-BE: xsrsqrtesp 7, 27 # encoding: [0xf0,0xe0,0xd8,0x28]
192 # CHECK-LE: xsrsqrtesp 7, 27 # encoding: [0x28,0xd8,0xe0,0xf0]
194 # CHECK-BE: xsrsqrtedp 7, 27 # encoding: [0xf0,0xe0,0xd9,0x28]
195 # CHECK-LE: xsrsqrtedp 7, 27 # encoding: [0x28,0xd9,0xe0,0xf0]
197 # CHECK-BE: xssqrtsp 7, 27 # encoding: [0xf0,0xe0,0xd8,0x2c]
198 # CHECK-LE: xssqrtsp 7, 27 # encoding: [0x2c,0xd8,0xe0,0xf0]
200 # CHECK-BE: xssqrtdp 7, 27 # encoding: [0xf0,0xe0,0xd9,0x2c]
201 # CHECK-LE: xssqrtdp 7, 27 # encoding: [0x2c,0xd9,0xe0,0xf0]
203 # CHECK-BE: xssubsp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x44]
204 # CHECK-LE: xssubsp 7, 63, 27 # encoding: [0x44,0xd8,0xff,0xf0]
206 # CHECK-BE: xssubdp 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x44]
207 # CHECK-LE: xssubdp 7, 63, 27 # encoding: [0x44,0xd9,0xff,0xf0]
209 # CHECK-BE: xstdivdp 6, 63, 27 # encoding: [0xf3,0x1f,0xd9,0xec]
210 # CHECK-LE: xstdivdp 6, 63, 27 # encoding: [0xec,0xd9,0x1f,0xf3]
212 # CHECK-BE: xstsqrtdp 6, 27 # encoding: [0xf3,0x00,0xd9,0xa8]
213 # CHECK-LE: xstsqrtdp 6, 27 # encoding: [0xa8,0xd9,0x00,0xf3]
215 # CHECK-BE: xvabsdp 7, 27 # encoding: [0xf0,0xe0,0xdf,0x64]
216 # CHECK-LE: xvabsdp 7, 27 # encoding: [0x64,0xdf,0xe0,0xf0]
218 # CHECK-BE: xvabssp 7, 27 # encoding: [0xf0,0xe0,0xde,0x64]
219 # CHECK-LE: xvabssp 7, 27 # encoding: [0x64,0xde,0xe0,0xf0]
221 # CHECK-BE: xvadddp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x04]
222 # CHECK-LE: xvadddp 7, 63, 27 # encoding: [0x04,0xdb,0xff,0xf0]
224 # CHECK-BE: xvaddsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x04]
225 # CHECK-LE: xvaddsp 7, 63, 27 # encoding: [0x04,0xda,0xff,0xf0]
227 # CHECK-BE: xvcmpeqdp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x1c]
228 # CHECK-LE: xvcmpeqdp 7, 63, 27 # encoding: [0x1c,0xdb,0xff,0xf0]
230 # CHECK-BE: xvcmpeqdp. 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x1c]
231 # CHECK-LE: xvcmpeqdp. 7, 63, 27 # encoding: [0x1c,0xdf,0xff,0xf0]
233 # CHECK-BE: xvcmpeqsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x1c]
234 # CHECK-LE: xvcmpeqsp 7, 63, 27 # encoding: [0x1c,0xda,0xff,0xf0]
236 # CHECK-BE: xvcmpeqsp. 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x1c]
237 # CHECK-LE: xvcmpeqsp. 7, 63, 27 # encoding: [0x1c,0xde,0xff,0xf0]
239 # CHECK-BE: xvcmpgedp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x9c]
240 # CHECK-LE: xvcmpgedp 7, 63, 27 # encoding: [0x9c,0xdb,0xff,0xf0]
242 # CHECK-BE: xvcmpgedp. 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x9c]
243 # CHECK-LE: xvcmpgedp. 7, 63, 27 # encoding: [0x9c,0xdf,0xff,0xf0]
245 # CHECK-BE: xvcmpgesp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x9c]
246 # CHECK-LE: xvcmpgesp 7, 63, 27 # encoding: [0x9c,0xda,0xff,0xf0]
248 # CHECK-BE: xvcmpgesp. 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x9c]
249 # CHECK-LE: xvcmpgesp. 7, 63, 27 # encoding: [0x9c,0xde,0xff,0xf0]
251 # CHECK-BE: xvcmpgtdp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x5c]
252 # CHECK-LE: xvcmpgtdp 7, 63, 27 # encoding: [0x5c,0xdb,0xff,0xf0]
254 # CHECK-BE: xvcmpgtdp. 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x5c]
255 # CHECK-LE: xvcmpgtdp. 7, 63, 27 # encoding: [0x5c,0xdf,0xff,0xf0]
257 # CHECK-BE: xvcmpgtsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x5c]
258 # CHECK-LE: xvcmpgtsp 7, 63, 27 # encoding: [0x5c,0xda,0xff,0xf0]
260 # CHECK-BE: xvcmpgtsp. 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x5c]
261 # CHECK-LE: xvcmpgtsp. 7, 63, 27 # encoding: [0x5c,0xde,0xff,0xf0]
263 # CHECK-BE: xvcpsgndp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x84]
264 # CHECK-LE: xvcpsgndp 7, 63, 27 # encoding: [0x84,0xdf,0xff,0xf0]
266 # CHECK-BE: xvcpsgnsp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x84]
267 # CHECK-LE: xvcpsgnsp 7, 63, 27 # encoding: [0x84,0xde,0xff,0xf0]
269 # CHECK-BE: xvcvdpsp 7, 27 # encoding: [0xf0,0xe0,0xde,0x24]
270 # CHECK-LE: xvcvdpsp 7, 27 # encoding: [0x24,0xde,0xe0,0xf0]
272 # CHECK-BE: xvcvdpsxds 7, 27 # encoding: [0xf0,0xe0,0xdf,0x60]
273 # CHECK-LE: xvcvdpsxds 7, 27 # encoding: [0x60,0xdf,0xe0,0xf0]
275 # CHECK-BE: xvcvdpsxws 7, 27 # encoding: [0xf0,0xe0,0xdb,0x60]
276 # CHECK-LE: xvcvdpsxws 7, 27 # encoding: [0x60,0xdb,0xe0,0xf0]
278 # CHECK-BE: xvcvdpuxds 7, 27 # encoding: [0xf0,0xe0,0xdf,0x20]
279 # CHECK-LE: xvcvdpuxds 7, 27 # encoding: [0x20,0xdf,0xe0,0xf0]
281 # CHECK-BE: xvcvdpuxws 7, 27 # encoding: [0xf0,0xe0,0xdb,0x20]
282 # CHECK-LE: xvcvdpuxws 7, 27 # encoding: [0x20,0xdb,0xe0,0xf0]
284 # CHECK-BE: xvcvspdp 7, 27 # encoding: [0xf0,0xe0,0xdf,0x24]
285 # CHECK-LE: xvcvspdp 7, 27 # encoding: [0x24,0xdf,0xe0,0xf0]
287 # CHECK-BE: xvcvspsxds 7, 27 # encoding: [0xf0,0xe0,0xde,0x60]
288 # CHECK-LE: xvcvspsxds 7, 27 # encoding: [0x60,0xde,0xe0,0xf0]
290 # CHECK-BE: xvcvspsxws 7, 27 # encoding: [0xf0,0xe0,0xda,0x60]
291 # CHECK-LE: xvcvspsxws 7, 27 # encoding: [0x60,0xda,0xe0,0xf0]
293 # CHECK-BE: xvcvspuxds 7, 27 # encoding: [0xf0,0xe0,0xde,0x20]
294 # CHECK-LE: xvcvspuxds 7, 27 # encoding: [0x20,0xde,0xe0,0xf0]
296 # CHECK-BE: xvcvspuxws 7, 27 # encoding: [0xf0,0xe0,0xda,0x20]
297 # CHECK-LE: xvcvspuxws 7, 27 # encoding: [0x20,0xda,0xe0,0xf0]
299 # CHECK-BE: xvcvsxddp 7, 27 # encoding: [0xf0,0xe0,0xdf,0xe0]
300 # CHECK-LE: xvcvsxddp 7, 27 # encoding: [0xe0,0xdf,0xe0,0xf0]
302 # CHECK-BE: xvcvsxdsp 7, 27 # encoding: [0xf0,0xe0,0xde,0xe0]
303 # CHECK-LE: xvcvsxdsp 7, 27 # encoding: [0xe0,0xde,0xe0,0xf0]
305 # CHECK-BE: xvcvsxwdp 7, 27 # encoding: [0xf0,0xe0,0xdb,0xe0]
306 # CHECK-LE: xvcvsxwdp 7, 27 # encoding: [0xe0,0xdb,0xe0,0xf0]
308 # CHECK-BE: xvcvsxwsp 7, 27 # encoding: [0xf0,0xe0,0xda,0xe0]
309 # CHECK-LE: xvcvsxwsp 7, 27 # encoding: [0xe0,0xda,0xe0,0xf0]
311 # CHECK-BE: xvcvuxddp 7, 27 # encoding: [0xf0,0xe0,0xdf,0xa0]
312 # CHECK-LE: xvcvuxddp 7, 27 # encoding: [0xa0,0xdf,0xe0,0xf0]
314 # CHECK-BE: xvcvuxdsp 7, 27 # encoding: [0xf0,0xe0,0xde,0xa0]
315 # CHECK-LE: xvcvuxdsp 7, 27 # encoding: [0xa0,0xde,0xe0,0xf0]
317 # CHECK-BE: xvcvuxwdp 7, 27 # encoding: [0xf0,0xe0,0xdb,0xa0]
318 # CHECK-LE: xvcvuxwdp 7, 27 # encoding: [0xa0,0xdb,0xe0,0xf0]
320 # CHECK-BE: xvcvuxwsp 7, 27 # encoding: [0xf0,0xe0,0xda,0xa0]
321 # CHECK-LE: xvcvuxwsp 7, 27 # encoding: [0xa0,0xda,0xe0,0xf0]
323 # CHECK-BE: xvdivdp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0xc4]
324 # CHECK-LE: xvdivdp 7, 63, 27 # encoding: [0xc4,0xdb,0xff,0xf0]
326 # CHECK-BE: xvdivsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0xc4]
327 # CHECK-LE: xvdivsp 7, 63, 27 # encoding: [0xc4,0xda,0xff,0xf0]
329 # CHECK-BE: xvmaddadp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x0c]
330 # CHECK-LE: xvmaddadp 7, 63, 27 # encoding: [0x0c,0xdb,0xff,0xf0]
332 # CHECK-BE: xvmaddasp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x0c]
333 # CHECK-LE: xvmaddasp 7, 63, 27 # encoding: [0x0c,0xda,0xff,0xf0]
335 # CHECK-BE: xvmaddmdp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x4c]
336 # CHECK-LE: xvmaddmdp 7, 63, 27 # encoding: [0x4c,0xdb,0xff,0xf0]
338 # CHECK-BE: xvmaddmsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x4c]
339 # CHECK-LE: xvmaddmsp 7, 63, 27 # encoding: [0x4c,0xda,0xff,0xf0]
341 # CHECK-BE: xvmaxdp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x04]
342 # CHECK-LE: xvmaxdp 7, 63, 27 # encoding: [0x04,0xdf,0xff,0xf0]
344 # CHECK-BE: xvmaxsp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x04]
345 # CHECK-LE: xvmaxsp 7, 63, 27 # encoding: [0x04,0xde,0xff,0xf0]
347 # CHECK-BE: xvmindp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x44]
348 # CHECK-LE: xvmindp 7, 63, 27 # encoding: [0x44,0xdf,0xff,0xf0]
350 # CHECK-BE: xvminsp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x44]
351 # CHECK-LE: xvminsp 7, 63, 27 # encoding: [0x44,0xde,0xff,0xf0]
353 # CHECK-BE: xvmovdp 7, 63 # encoding: [0xf0,0xff,0xff,0x86]
354 # CHECK-LE: xvmovdp 7, 63 # encoding: [0x86,0xff,0xff,0xf0]
356 # CHECK-BE: xvmovsp 7, 63 # encoding: [0xf0,0xff,0xfe,0x86]
357 # CHECK-LE: xvmovsp 7, 63 # encoding: [0x86,0xfe,0xff,0xf0]
359 # CHECK-BE: xvmsubadp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x8c]
360 # CHECK-LE: xvmsubadp 7, 63, 27 # encoding: [0x8c,0xdb,0xff,0xf0]
362 # CHECK-BE: xvmsubasp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x8c]
363 # CHECK-LE: xvmsubasp 7, 63, 27 # encoding: [0x8c,0xda,0xff,0xf0]
365 # CHECK-BE: xvmsubmdp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0xcc]
366 # CHECK-LE: xvmsubmdp 7, 63, 27 # encoding: [0xcc,0xdb,0xff,0xf0]
368 # CHECK-BE: xvmsubmsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0xcc]
369 # CHECK-LE: xvmsubmsp 7, 63, 27 # encoding: [0xcc,0xda,0xff,0xf0]
371 # CHECK-BE: xvmuldp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x84]
372 # CHECK-LE: xvmuldp 7, 63, 27 # encoding: [0x84,0xdb,0xff,0xf0]
374 # CHECK-BE: xvmulsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x84]
375 # CHECK-LE: xvmulsp 7, 63, 27 # encoding: [0x84,0xda,0xff,0xf0]
377 # CHECK-BE: xvnabsdp 7, 27 # encoding: [0xf0,0xe0,0xdf,0xa4]
378 # CHECK-LE: xvnabsdp 7, 27 # encoding: [0xa4,0xdf,0xe0,0xf0]
380 # CHECK-BE: xvnabssp 7, 27 # encoding: [0xf0,0xe0,0xde,0xa4]
381 # CHECK-LE: xvnabssp 7, 27 # encoding: [0xa4,0xde,0xe0,0xf0]
383 # CHECK-BE: xvnegdp 7, 27 # encoding: [0xf0,0xe0,0xdf,0xe4]
384 # CHECK-LE: xvnegdp 7, 27 # encoding: [0xe4,0xdf,0xe0,0xf0]
386 # CHECK-BE: xvnegsp 7, 27 # encoding: [0xf0,0xe0,0xde,0xe4]
387 # CHECK-LE: xvnegsp 7, 27 # encoding: [0xe4,0xde,0xe0,0xf0]
389 # CHECK-BE: xvnmaddadp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x0c]
390 # CHECK-LE: xvnmaddadp 7, 63, 27 # encoding: [0x0c,0xdf,0xff,0xf0]
392 # CHECK-BE: xvnmaddasp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x0c]
393 # CHECK-LE: xvnmaddasp 7, 63, 27 # encoding: [0x0c,0xde,0xff,0xf0]
395 # CHECK-BE: xvnmaddmdp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x4c]
396 # CHECK-LE: xvnmaddmdp 7, 63, 27 # encoding: [0x4c,0xdf,0xff,0xf0]
398 # CHECK-BE: xvnmaddmsp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x4c]
399 # CHECK-LE: xvnmaddmsp 7, 63, 27 # encoding: [0x4c,0xde,0xff,0xf0]
401 # CHECK-BE: xvnmsubadp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0x8c]
402 # CHECK-LE: xvnmsubadp 7, 63, 27 # encoding: [0x8c,0xdf,0xff,0xf0]
404 # CHECK-BE: xvnmsubasp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0x8c]
405 # CHECK-LE: xvnmsubasp 7, 63, 27 # encoding: [0x8c,0xde,0xff,0xf0]
407 # CHECK-BE: xvnmsubmdp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0xcc]
408 # CHECK-LE: xvnmsubmdp 7, 63, 27 # encoding: [0xcc,0xdf,0xff,0xf0]
410 # CHECK-BE: xvnmsubmsp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0xcc]
411 # CHECK-LE: xvnmsubmsp 7, 63, 27 # encoding: [0xcc,0xde,0xff,0xf0]
413 # CHECK-BE: xvrdpi 7, 27 # encoding: [0xf0,0xe0,0xdb,0x24]
414 # CHECK-LE: xvrdpi 7, 27 # encoding: [0x24,0xdb,0xe0,0xf0]
416 # CHECK-BE: xvrdpic 7, 27 # encoding: [0xf0,0xe0,0xdb,0xac]
417 # CHECK-LE: xvrdpic 7, 27 # encoding: [0xac,0xdb,0xe0,0xf0]
419 # CHECK-BE: xvrdpim 7, 27 # encoding: [0xf0,0xe0,0xdb,0xe4]
420 # CHECK-LE: xvrdpim 7, 27 # encoding: [0xe4,0xdb,0xe0,0xf0]
422 # CHECK-BE: xvrdpip 7, 27 # encoding: [0xf0,0xe0,0xdb,0xa4]
423 # CHECK-LE: xvrdpip 7, 27 # encoding: [0xa4,0xdb,0xe0,0xf0]
425 # CHECK-BE: xvrdpiz 7, 27 # encoding: [0xf0,0xe0,0xdb,0x64]
426 # CHECK-LE: xvrdpiz 7, 27 # encoding: [0x64,0xdb,0xe0,0xf0]
428 # CHECK-BE: xvredp 7, 27 # encoding: [0xf0,0xe0,0xdb,0x68]
429 # CHECK-LE: xvredp 7, 27 # encoding: [0x68,0xdb,0xe0,0xf0]
431 # CHECK-BE: xvresp 7, 27 # encoding: [0xf0,0xe0,0xda,0x68]
432 # CHECK-LE: xvresp 7, 27 # encoding: [0x68,0xda,0xe0,0xf0]
434 # CHECK-BE: xvrspi 7, 27 # encoding: [0xf0,0xe0,0xda,0x24]
435 # CHECK-LE: xvrspi 7, 27 # encoding: [0x24,0xda,0xe0,0xf0]
437 # CHECK-BE: xvrspic 7, 27 # encoding: [0xf0,0xe0,0xda,0xac]
438 # CHECK-LE: xvrspic 7, 27 # encoding: [0xac,0xda,0xe0,0xf0]
440 # CHECK-BE: xvrspim 7, 27 # encoding: [0xf0,0xe0,0xda,0xe4]
441 # CHECK-LE: xvrspim 7, 27 # encoding: [0xe4,0xda,0xe0,0xf0]
443 # CHECK-BE: xvrspip 7, 27 # encoding: [0xf0,0xe0,0xda,0xa4]
444 # CHECK-LE: xvrspip 7, 27 # encoding: [0xa4,0xda,0xe0,0xf0]
446 # CHECK-BE: xvrspiz 7, 27 # encoding: [0xf0,0xe0,0xda,0x64]
447 # CHECK-LE: xvrspiz 7, 27 # encoding: [0x64,0xda,0xe0,0xf0]
449 # CHECK-BE: xvrsqrtedp 7, 27 # encoding: [0xf0,0xe0,0xdb,0x28]
450 # CHECK-LE: xvrsqrtedp 7, 27 # encoding: [0x28,0xdb,0xe0,0xf0]
452 # CHECK-BE: xvrsqrtesp 7, 27 # encoding: [0xf0,0xe0,0xda,0x28]
453 # CHECK-LE: xvrsqrtesp 7, 27 # encoding: [0x28,0xda,0xe0,0xf0]
455 # CHECK-BE: xvsqrtdp 7, 27 # encoding: [0xf0,0xe0,0xdb,0x2c]
456 # CHECK-LE: xvsqrtdp 7, 27 # encoding: [0x2c,0xdb,0xe0,0xf0]
458 # CHECK-BE: xvsqrtsp 7, 27 # encoding: [0xf0,0xe0,0xda,0x2c]
459 # CHECK-LE: xvsqrtsp 7, 27 # encoding: [0x2c,0xda,0xe0,0xf0]
461 # CHECK-BE: xvsubdp 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x44]
462 # CHECK-LE: xvsubdp 7, 63, 27 # encoding: [0x44,0xdb,0xff,0xf0]
464 # CHECK-BE: xvsubsp 7, 63, 27 # encoding: [0xf0,0xff,0xda,0x44]
465 # CHECK-LE: xvsubsp 7, 63, 27 # encoding: [0x44,0xda,0xff,0xf0]
467 # CHECK-BE: xvtdivdp 6, 63, 27 # encoding: [0xf3,0x1f,0xdb,0xec]
468 # CHECK-LE: xvtdivdp 6, 63, 27 # encoding: [0xec,0xdb,0x1f,0xf3]
470 # CHECK-BE: xvtdivsp 6, 63, 27 # encoding: [0xf3,0x1f,0xda,0xec]
471 # CHECK-LE: xvtdivsp 6, 63, 27 # encoding: [0xec,0xda,0x1f,0xf3]
473 # CHECK-BE: xvtsqrtdp 6, 27 # encoding: [0xf3,0x00,0xdb,0xa8]
474 # CHECK-LE: xvtsqrtdp 6, 27 # encoding: [0xa8,0xdb,0x00,0xf3]
476 # CHECK-BE: xvtsqrtsp 6, 27 # encoding: [0xf3,0x00,0xda,0xa8]
477 # CHECK-LE: xvtsqrtsp 6, 27 # encoding: [0xa8,0xda,0x00,0xf3]
479 # CHECK-BE: xxland 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x14]
480 # CHECK-LE: xxland 7, 63, 27 # encoding: [0x14,0xdc,0xff,0xf0]
482 # CHECK-BE: xxleqv 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0xd4]
483 # CHECK-LE: xxleqv 7, 63, 27 # encoding: [0xd4,0xdd,0xff,0xf0]
485 # CHECK-BE: xxlnand 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x94]
486 # CHECK-LE: xxlnand 7, 63, 27 # encoding: [0x94,0xdd,0xff,0xf0]
488 # CHECK-BE: xxlorc 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x54]
489 # CHECK-LE: xxlorc 7, 63, 27 # encoding: [0x54,0xdd,0xff,0xf0]
491 # CHECK-BE: xxlandc 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x54]
492 # CHECK-LE: xxlandc 7, 63, 27 # encoding: [0x54,0xdc,0xff,0xf0]
494 # CHECK-BE: xxlnor 7, 63, 27 # encoding: [0xf0,0xff,0xdd,0x14]
495 # CHECK-LE: xxlnor 7, 63, 27 # encoding: [0x14,0xdd,0xff,0xf0]
497 # CHECK-BE: xxlor 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x94]
498 # CHECK-LE: xxlor 7, 63, 27 # encoding: [0x94,0xdc,0xff,0xf0]
500 # CHECK-BE: xxlxor 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0xd4]
501 # CHECK-LE: xxlxor 7, 63, 27 # encoding: [0xd4,0xdc,0xff,0xf0]
503 # CHECK-BE: xxmrghd 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x54]
504 # CHECK-LE: xxmrghd 7, 63, 27 # encoding: [0x54,0xd8,0xff,0xf0]
506 # CHECK-BE: xxmrghw 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x94]
507 # CHECK-LE: xxmrghw 7, 63, 27 # encoding: [0x94,0xd8,0xff,0xf0]
509 # CHECK-BE: xxmrgld 7, 63, 27 # encoding: [0xf0,0xff,0xdb,0x54]
510 # CHECK-LE: xxmrgld 7, 63, 27 # encoding: [0x54,0xdb,0xff,0xf0]
512 # CHECK-BE: xxmrglw 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0x94]
513 # CHECK-LE: xxmrglw 7, 63, 27 # encoding: [0x94,0xd9,0xff,0xf0]
515 # CHECK-BE: xxpermdi 7, 63, 27, 2 # encoding: [0xf0,0xff,0xda,0x54]
516 # CHECK-LE: xxpermdi 7, 63, 27, 2 # encoding: [0x54,0xda,0xff,0xf0]
517 xxpermdi
7, 63, 27, 2
518 # CHECK-BE: xxsel 7, 63, 27, 14 # encoding: [0xf0,0xff,0xdb,0xb4]
519 # CHECK-LE: xxsel 7, 63, 27, 14 # encoding: [0xb4,0xdb,0xff,0xf0]
521 # CHECK-BE: xxsldwi 7, 63, 27, 1 # encoding: [0xf0,0xff,0xd9,0x14]
522 # CHECK-LE: xxsldwi 7, 63, 27, 1 # encoding: [0x14,0xd9,0xff,0xf0]
524 # CHECK-BE: xxspltd 7, 63, 1 # encoding: [0xf0,0xff,0xfb,0x56]
525 # CHECK-LE: xxspltd 7, 63, 1 # encoding: [0x56,0xfb,0xff,0xf0]
527 # CHECK-BE: xxspltw 7, 27, 3 # encoding: [0xf0,0xe3,0xda,0x90]
528 # CHECK-LE: xxspltw 7, 27, 3 # encoding: [0x90,0xda,0xe3,0xf0]
530 # CHECK-BE: xxswapd 7, 63 # encoding: [0xf0,0xff,0xfa,0x56]
531 # CHECK-LE: xxswapd 7, 63 # encoding: [0x56,0xfa,0xff,0xf0]
535 # CHECK-BE: mfvsrd 3, 40 # encoding: [0x7d,0x03,0x00,0x67]
536 # CHECK-LE: mfvsrd 3, 40 # encoding: [0x67,0x00,0x03,0x7d]
538 # CHECK-BE: mfvsrd 3, 40 # encoding: [0x7d,0x03,0x00,0x67]
539 # CHECK-LE: mfvsrd 3, 40 # encoding: [0x67,0x00,0x03,0x7d]
541 # CHECK-BE: mfvsrwz 5, 0 # encoding: [0x7c,0x05,0x00,0xe6]
542 # CHECK-LE: mfvsrwz 5, 0 # encoding: [0xe6,0x00,0x05,0x7c]
544 # CHECK-BE: mtvsrd 0, 3 # encoding: [0x7c,0x03,0x01,0x66]
545 # CHECK-LE: mtvsrd 0, 3 # encoding: [0x66,0x01,0x03,0x7c]
547 # CHECK-BE: mtvsrwa 0, 3 # encoding: [0x7c,0x03,0x01,0xa6]
548 # CHECK-LE: mtvsrwa 0, 3 # encoding: [0xa6,0x01,0x03,0x7c]
550 # CHECK-BE: mtvsrwz 0, 3 # encoding: [0x7c,0x03,0x01,0xe6]
551 # CHECK-LE: mtvsrwz 0, 3 # encoding: [0xe6,0x01,0x03,0x7c]
554 # Power9 Instructions:
557 # CHECK-BE: xscpsgnqp 7, 31, 27 # encoding: [0xfc,0xff,0xd8,0xc8]
558 # CHECK-LE: xscpsgnqp 7, 31, 27 # encoding: [0xc8,0xd8,0xff,0xfc]
561 # Absolute/Negative Absolute/Negate
562 # CHECK-BE: xsabsqp 7, 27 # encoding: [0xfc,0xe0,0xde,0x48]
563 # CHECK-LE: xsabsqp 7, 27 # encoding: [0x48,0xde,0xe0,0xfc]
565 # CHECK-BE: xsnegqp 7, 27 # encoding: [0xfc,0xf0,0xde,0x48]
566 # CHECK-LE: xsnegqp 7, 27 # encoding: [0x48,0xde,0xf0,0xfc]
568 # CHECK-BE: xsnabsqp 7, 27 # encoding: [0xfc,0xe8,0xde,0x48]
569 # CHECK-LE: xsnabsqp 7, 27 # encoding: [0x48,0xde,0xe8,0xfc]
572 # Add/Divide/Multiply/Square-Root/Subtract
573 # CHECK-BE: xsaddqp 7, 31, 27 # encoding: [0xfc,0xff,0xd8,0x08]
574 # CHECK-LE: xsaddqp 7, 31, 27 # encoding: [0x08,0xd8,0xff,0xfc]
576 # CHECK-BE: xsaddqpo 7, 31, 27 # encoding: [0xfc,0xff,0xd8,0x09]
577 # CHECK-LE: xsaddqpo 7, 31, 27 # encoding: [0x09,0xd8,0xff,0xfc]
579 # CHECK-BE: xsdivqp 7, 31, 27 # encoding: [0xfc,0xff,0xdc,0x48]
580 # CHECK-LE: xsdivqp 7, 31, 27 # encoding: [0x48,0xdc,0xff,0xfc]
582 # CHECK-BE: xsdivqpo 7, 31, 27 # encoding: [0xfc,0xff,0xdc,0x49]
583 # CHECK-LE: xsdivqpo 7, 31, 27 # encoding: [0x49,0xdc,0xff,0xfc]
585 # CHECK-BE: xsmulqp 7, 31, 27 # encoding: [0xfc,0xff,0xd8,0x48]
586 # CHECK-LE: xsmulqp 7, 31, 27 # encoding: [0x48,0xd8,0xff,0xfc]
588 # CHECK-BE: xsmulqpo 7, 31, 27 # encoding: [0xfc,0xff,0xd8,0x49]
589 # CHECK-LE: xsmulqpo 7, 31, 27 # encoding: [0x49,0xd8,0xff,0xfc]
591 # CHECK-BE: xssqrtqp 7, 31 # encoding: [0xfc,0xfb,0xfe,0x48]
592 # CHECK-LE: xssqrtqp 7, 31 # encoding: [0x48,0xfe,0xfb,0xfc]
594 # CHECK-BE: xssqrtqpo 7, 31 # encoding: [0xfc,0xfb,0xfe,0x49]
595 # CHECK-LE: xssqrtqpo 7, 31 # encoding: [0x49,0xfe,0xfb,0xfc]
597 # CHECK-BE: xssubqp 7, 31, 27 # encoding: [0xfc,0xff,0xdc,0x08]
598 # CHECK-LE: xssubqp 7, 31, 27 # encoding: [0x08,0xdc,0xff,0xfc]
600 # CHECK-BE: xssubqpo 7, 31, 27 # encoding: [0xfc,0xff,0xdc,0x09]
601 # CHECK-LE: xssubqpo 7, 31, 27 # encoding: [0x09,0xdc,0xff,0xfc]
604 # (Negative) Multiply-Add/Subtract
605 # CHECK-BE: xsmaddqp 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0x08]
606 # CHECK-LE: xsmaddqp 7, 31, 27 # encoding: [0x08,0xdb,0xff,0xfc]
608 # CHECK-BE: xsmaddqpo 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0x09]
609 # CHECK-LE: xsmaddqpo 7, 31, 27 # encoding: [0x09,0xdb,0xff,0xfc]
611 # CHECK-BE: xsmsubqp 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0x48]
612 # CHECK-LE: xsmsubqp 7, 31, 27 # encoding: [0x48,0xdb,0xff,0xfc]
614 # CHECK-BE: xsmsubqpo 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0x49]
615 # CHECK-LE: xsmsubqpo 7, 31, 27 # encoding: [0x49,0xdb,0xff,0xfc]
617 # CHECK-BE: xsnmaddqp 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0x88]
618 # CHECK-LE: xsnmaddqp 7, 31, 27 # encoding: [0x88,0xdb,0xff,0xfc]
620 # CHECK-BE: xsnmaddqpo 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0x89]
621 # CHECK-LE: xsnmaddqpo 7, 31, 27 # encoding: [0x89,0xdb,0xff,0xfc]
623 # CHECK-BE: xsnmsubqp 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0xc8]
624 # CHECK-LE: xsnmsubqp 7, 31, 27 # encoding: [0xc8,0xdb,0xff,0xfc]
626 # CHECK-BE: xsnmsubqpo 7, 31, 27 # encoding: [0xfc,0xff,0xdb,0xc9]
627 # CHECK-LE: xsnmsubqpo 7, 31, 27 # encoding: [0xc9,0xdb,0xff,0xfc]
630 # Compare Ordered/Unordered
631 # CHECK-BE: xscmpoqp 6, 31, 27 # encoding: [0xff,0x1f,0xd9,0x08]
632 # CHECK-LE: xscmpoqp 6, 31, 27 # encoding: [0x08,0xd9,0x1f,0xff]
634 # CHECK-BE: xscmpuqp 6, 31, 27 # encoding: [0xff,0x1f,0xdd,0x08]
635 # CHECK-LE: xscmpuqp 6, 31, 27 # encoding: [0x08,0xdd,0x1f,0xff]
639 # CHECK-BE: xscmpexpdp 6, 63, 27 # encoding: [0xf3,0x1f,0xd9,0xdc]
640 # CHECK-LE: xscmpexpdp 6, 63, 27 # encoding: [0xdc,0xd9,0x1f,0xf3]
642 # CHECK-BE: xscmpexpqp 6, 31, 27 # encoding: [0xff,0x1f,0xd9,0x48]
643 # CHECK-LE: xscmpexpqp 6, 31, 27 # encoding: [0x48,0xd9,0x1f,0xff]
647 # CHECK-BE: xscmpeqdp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x1c]
648 # CHECK-LE: xscmpeqdp 7, 63, 27 # encoding: [0x1c,0xd8,0xff,0xf0]
650 # CHECK-BE: xscmpgedp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x9c]
651 # CHECK-LE: xscmpgedp 7, 63, 27 # encoding: [0x9c,0xd8,0xff,0xf0]
653 # CHECK-BE: xscmpgtdp 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0x5c]
654 # CHECK-LE: xscmpgtdp 7, 63, 27 # encoding: [0x5c,0xd8,0xff,0xf0]
658 # CHECK-BE: xscvdpqp 7, 27 # encoding: [0xfc,0xf6,0xde,0x88]
659 # CHECK-LE: xscvdpqp 7, 27 # encoding: [0x88,0xde,0xf6,0xfc]
662 # Round & Convert QP -> DP
663 # CHECK-BE: xscvqpdp 7, 27 # encoding: [0xfc,0xf4,0xde,0x88]
664 # CHECK-LE: xscvqpdp 7, 27 # encoding: [0x88,0xde,0xf4,0xfc]
666 # CHECK-BE: xscvqpdpo 7, 27 # encoding: [0xfc,0xf4,0xde,0x89]
667 # CHECK-LE: xscvqpdpo 7, 27 # encoding: [0x89,0xde,0xf4,0xfc]
670 # Truncate & Convert QP -> (Un)Signed (D)Word
671 # CHECK-BE: xscvqpsdz 7, 27 # encoding: [0xfc,0xf9,0xde,0x88]
672 # CHECK-LE: xscvqpsdz 7, 27 # encoding: [0x88,0xde,0xf9,0xfc]
674 # CHECK-BE: xscvqpswz 7, 27 # encoding: [0xfc,0xe9,0xde,0x88]
675 # CHECK-LE: xscvqpswz 7, 27 # encoding: [0x88,0xde,0xe9,0xfc]
677 # CHECK-BE: xscvqpudz 7, 27 # encoding: [0xfc,0xf1,0xde,0x88]
678 # CHECK-LE: xscvqpudz 7, 27 # encoding: [0x88,0xde,0xf1,0xfc]
680 # CHECK-BE: xscvqpuwz 7, 27 # encoding: [0xfc,0xe1,0xde,0x88]
681 # CHECK-LE: xscvqpuwz 7, 27 # encoding: [0x88,0xde,0xe1,0xfc]
684 # Convert (Un)Signed DWord -> QP
685 # CHECK-BE: xscvsdqp 7, 27 # encoding: [0xfc,0xea,0xde,0x88]
686 # CHECK-LE: xscvsdqp 7, 27 # encoding: [0x88,0xde,0xea,0xfc]
688 # CHECK-BE: xscvudqp 7, 27 # encoding: [0xfc,0xe2,0xde,0x88]
689 # CHECK-LE: xscvudqp 7, 27 # encoding: [0x88,0xde,0xe2,0xfc]
692 # (Round &) Convert DP <-> HP
693 # CHECK-BE: xscvdphp 7, 63 # encoding: [0xf0,0xf1,0xfd,0x6e]
694 # CHECK-LE: xscvdphp 7, 63 # encoding: [0x6e,0xfd,0xf1,0xf0]
696 # CHECK-BE: xscvhpdp 7, 63 # encoding: [0xf0,0xf0,0xfd,0x6e]
697 # CHECK-LE: xscvhpdp 7, 63 # encoding: [0x6e,0xfd,0xf0,0xf0]
701 # CHECK-BE: xvcvhpsp 7, 63 # encoding: [0xf0,0xf8,0xff,0x6e]
702 # CHECK-LE: xvcvhpsp 7, 63 # encoding: [0x6e,0xff,0xf8,0xf0]
704 # CHECK-BE: xvcvsphp 7, 63 # encoding: [0xf0,0xf9,0xff,0x6e]
705 # CHECK-LE: xvcvsphp 7, 63 # encoding: [0x6e,0xff,0xf9,0xf0]
708 # Round to Quad-Precision Integer [with Inexact]
709 # CHECK-BE: xsrqpi 1, 7, 27, 2 # encoding: [0xfc,0xe1,0xdc,0x0a]
710 # CHECK-LE: xsrqpi 1, 7, 27, 2 # encoding: [0x0a,0xdc,0xe1,0xfc]
712 # CHECK-BE: xsrqpix 1, 7, 27, 2 # encoding: [0xfc,0xe1,0xdc,0x0b]
713 # CHECK-LE: xsrqpix 1, 7, 27, 2 # encoding: [0x0b,0xdc,0xe1,0xfc]
716 # Round Quad-Precision to Double-Extended Precision
717 # CHECK-BE: xsrqpxp 1, 7, 27, 2 # encoding: [0xfc,0xe1,0xdc,0x4a]
718 # CHECK-LE: xsrqpxp 1, 7, 27, 2 # encoding: [0x4a,0xdc,0xe1,0xfc]
721 # Insert Exponent DP/QP
722 # CHECK-BE: xsiexpdp 63, 3, 4 # encoding: [0xf3,0xe3,0x27,0x2d]
723 # CHECK-LE: xsiexpdp 63, 3, 4 # encoding: [0x2d,0x27,0xe3,0xf3]
725 # CHECK-BE: xsiexpqp 7, 31, 27 # encoding: [0xfc,0xff,0xde,0xc8]
726 # CHECK-LE: xsiexpqp 7, 31, 27 # encoding: [0xc8,0xde,0xff,0xfc]
729 # Vector Insert Exponent DP
730 # CHECK-BE: xviexpdp 7, 63, 27 # encoding: [0xf0,0xff,0xdf,0xc4]
731 # CHECK-LE: xviexpdp 7, 63, 27 # encoding: [0xc4,0xdf,0xff,0xf0]
733 # CHECK-BE: xviexpsp 7, 63, 27 # encoding: [0xf0,0xff,0xde,0xc4]
734 # CHECK-LE: xviexpsp 7, 63, 27 # encoding: [0xc4,0xde,0xff,0xf0]
737 # Vector Extract Unsigned Word
738 # CHECK-BE: xxextractuw 7, 63, 15 # encoding: [0xf0,0xef,0xfa,0x96]
739 # CHECK-LE: xxextractuw 7, 63, 15 # encoding: [0x96,0xfa,0xef,0xf0]
740 xxextractuw
7, 63, 15
743 # CHECK-BE: xxinsertw 7, 63, 15 # encoding: [0xf0,0xef,0xfa,0xd6]
744 # CHECK-LE: xxinsertw 7, 63, 15 # encoding: [0xd6,0xfa,0xef,0xf0]
747 # Extract Exponent/Significand DP/QP
748 # CHECK-BE: xsxexpdp 7, 63 # encoding: [0xf0,0xe0,0xfd,0x6e]
749 # CHECK-LE: xsxexpdp 7, 63 # encoding: [0x6e,0xfd,0xe0,0xf0]
751 # CHECK-BE: xsxsigdp 7, 63 # encoding: [0xf0,0xe1,0xfd,0x6e]
752 # CHECK-LE: xsxsigdp 7, 63 # encoding: [0x6e,0xfd,0xe1,0xf0]
754 # CHECK-BE: xsxexpqp 7, 31 # encoding: [0xfc,0xe2,0xfe,0x48]
755 # CHECK-LE: xsxexpqp 7, 31 # encoding: [0x48,0xfe,0xe2,0xfc]
757 # CHECK-BE: xsxsigqp 7, 31 # encoding: [0xfc,0xf2,0xfe,0x48]
758 # CHECK-LE: xsxsigqp 7, 31 # encoding: [0x48,0xfe,0xf2,0xfc]
761 # Vector Extract Exponent/Significand DP
762 # CHECK-BE: xvxexpdp 7, 63 # encoding: [0xf0,0xe0,0xff,0x6e]
763 # CHECK-LE: xvxexpdp 7, 63 # encoding: [0x6e,0xff,0xe0,0xf0]
765 # CHECK-BE: xvxexpsp 7, 63 # encoding: [0xf0,0xe8,0xff,0x6e]
766 # CHECK-LE: xvxexpsp 7, 63 # encoding: [0x6e,0xff,0xe8,0xf0]
768 # CHECK-BE: xvxsigdp 7, 63 # encoding: [0xf0,0xe1,0xff,0x6e]
769 # CHECK-LE: xvxsigdp 7, 63 # encoding: [0x6e,0xff,0xe1,0xf0]
771 # CHECK-BE: xvxsigsp 7, 63 # encoding: [0xf0,0xe9,0xff,0x6e]
772 # CHECK-LE: xvxsigsp 7, 63 # encoding: [0x6e,0xff,0xe9,0xf0]
775 # Test Data Class SP/DP/QP
776 # CHECK-BE: xststdcsp 7, 63, 127 # encoding: [0xf3,0xff,0xfc,0xaa]
777 # CHECK-LE: xststdcsp 7, 63, 127 # encoding: [0xaa,0xfc,0xff,0xf3]
779 # CHECK-BE: xststdcdp 7, 63, 127 # encoding: [0xf3,0xff,0xfd,0xaa]
780 # CHECK-LE: xststdcdp 7, 63, 127 # encoding: [0xaa,0xfd,0xff,0xf3]
782 # CHECK-BE: xststdcqp 7, 31, 127 # encoding: [0xff,0xff,0xfd,0x88]
783 # CHECK-LE: xststdcqp 7, 31, 127 # encoding: [0x88,0xfd,0xff,0xff]
786 # Vector Test Data Class SP/DP
787 # CHECK-BE: xststdcsp 7, 63, 127 # encoding: [0xf3,0xff,0xfc,0xaa]
788 # CHECK-LE: xststdcsp 7, 63, 127 # encoding: [0xaa,0xfc,0xff,0xf3]
790 # CHECK-BE: xststdcdp 7, 63, 127 # encoding: [0xf3,0xff,0xfd,0xaa]
791 # CHECK-LE: xststdcdp 7, 63, 127 # encoding: [0xaa,0xfd,0xff,0xf3]
793 # CHECK-BE: xststdcqp 7, 31, 127 # encoding: [0xff,0xff,0xfd,0x88]
794 # CHECK-LE: xststdcqp 7, 31, 127 # encoding: [0x88,0xfd,0xff,0xff]
797 # Maximum/Minimum Type-C/Type-J DP
798 # CHECK-BE: xsmaxcdp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x04]
799 # CHECK-LE: xsmaxcdp 7, 63, 27 # encoding: [0x04,0xdc,0xff,0xf0]
801 # CHECK-BE: xsmaxjdp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x84]
802 # CHECK-LE: xsmaxjdp 7, 63, 27 # encoding: [0x84,0xdc,0xff,0xf0]
804 # CHECK-BE: xsmincdp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0x44]
805 # CHECK-LE: xsmincdp 7, 63, 27 # encoding: [0x44,0xdc,0xff,0xf0]
807 # CHECK-BE: xsminjdp 7, 63, 27 # encoding: [0xf0,0xff,0xdc,0xc4]
808 # CHECK-LE: xsminjdp 7, 63, 27 # encoding: [0xc4,0xdc,0xff,0xf0]
811 # Vector Byte-Reverse H/W/D/Q Word
812 # CHECK-BE: xxbrh 7, 63 # encoding: [0xf0,0xe7,0xff,0x6e]
813 # CHECK-LE: xxbrh 7, 63 # encoding: [0x6e,0xff,0xe7,0xf0]
815 # CHECK-BE: xxbrw 7, 63 # encoding: [0xf0,0xef,0xff,0x6e]
816 # CHECK-LE: xxbrw 7, 63 # encoding: [0x6e,0xff,0xef,0xf0]
818 # CHECK-BE: xxbrd 7, 63 # encoding: [0xf0,0xf7,0xff,0x6e]
819 # CHECK-LE: xxbrd 7, 63 # encoding: [0x6e,0xff,0xf7,0xf0]
821 # CHECK-BE: xxbrq 7, 63 # encoding: [0xf0,0xff,0xff,0x6e]
822 # CHECK-LE: xxbrq 7, 63 # encoding: [0x6e,0xff,0xff,0xf0]
826 # CHECK-BE: xxperm 7, 63, 27 # encoding: [0xf0,0xff,0xd8,0xd4]
827 # CHECK-LE: xxperm 7, 63, 27 # encoding: [0xd4,0xd8,0xff,0xf0]
829 # CHECK-BE: xxpermr 7, 63, 27 # encoding: [0xf0,0xff,0xd9,0xd4]
830 # CHECK-LE: xxpermr 7, 63, 27 # encoding: [0xd4,0xd9,0xff,0xf0]
833 # Vector Splat Immediate Byte
834 # CHECK-BE: xxspltib 63, 255 # encoding: [0xf3,0xe7,0xfa,0xd1]
835 # CHECK-LE: xxspltib 63, 255 # encoding: [0xd1,0xfa,0xe7,0xf3]
838 # Load/Store Vector, test maximum and minimum displacement value
839 # CHECK-BE: lxv 61, 32752(31) # encoding: [0xf7,0xbf,0x7f,0xf9]
840 # CHECK-LE: lxv 61, 32752(31) # encoding: [0xf9,0x7f,0xbf,0xf7]
842 # CHECK-BE: lxv 61, -32768(0) # encoding: [0xf7,0xa0,0x80,0x09]
843 # CHECK-LE: lxv 61, -32768(0) # encoding: [0x09,0x80,0xa0,0xf7]
845 # CHECK-BE: stxv 61, 32752(31) # encoding: [0xf7,0xbf,0x7f,0xfd]
846 # CHECK-LE: stxv 61, 32752(31) # encoding: [0xfd,0x7f,0xbf,0xf7]
848 # CHECK-BE: stxv 61, -32768(0) # encoding: [0xf7,0xa0,0x80,0x0d]
849 # CHECK-LE: stxv 61, -32768(0) # encoding: [0x0d,0x80,0xa0,0xf7]
853 # CHECK-BE: lxsd 31, -32768(0) # encoding: [0xe7,0xe0,0x80,0x02]
854 # CHECK-LE: lxsd 31, -32768(0) # encoding: [0x02,0x80,0xe0,0xe7]
856 # CHECK-BE: lxsd 31, 32764(12) # encoding: [0xe7,0xec,0x7f,0xfe]
857 # CHECK-LE: lxsd 31, 32764(12) # encoding: [0xfe,0x7f,0xec,0xe7]
859 # CHECK-BE: stxsd 31, 32764(12) # encoding: [0xf7,0xec,0x7f,0xfe]
860 # CHECK-LE: stxsd 31, 32764(12) # encoding: [0xfe,0x7f,0xec,0xf7]
863 # Load SP from src, convert it to DP, and place in dword[0]
864 # CHECK-BE: lxssp 31, -32768(0) # encoding: [0xe7,0xe0,0x80,0x03]
865 # CHECK-LE: lxssp 31, -32768(0) # encoding: [0x03,0x80,0xe0,0xe7]
867 # CHECK-BE: lxssp 31, 32764(12) # encoding: [0xe7,0xec,0x7f,0xff]
868 # CHECK-LE: lxssp 31, 32764(12) # encoding: [0xff,0x7f,0xec,0xe7]
871 # Convert DP of dword[0] to SP, and Store to dst
872 # CHECK-BE: stxssp 31, -32768(0) # encoding: [0xf7,0xe0,0x80,0x03]
873 # CHECK-LE: stxssp 31, -32768(0) # encoding: [0x03,0x80,0xe0,0xf7]
876 # Load as Integer Byte/Halfword & Zero Indexed
877 # CHECK-BE: lxsibzx 57, 12, 27 # encoding: [0x7f,0x2c,0xde,0x1b]
878 # CHECK-LE: lxsibzx 57, 12, 27 # encoding: [0x1b,0xde,0x2c,0x7f]
880 # CHECK-BE: lxsihzx 57, 12, 27 # encoding: [0x7f,0x2c,0xde,0x5b]
881 # CHECK-LE: lxsihzx 57, 12, 27 # encoding: [0x5b,0xde,0x2c,0x7f]
884 # Load Vector Halfword*8/Byte*16 Indexed
885 # CHECK-BE: lxvh8x 57, 12, 27 # encoding: [0x7f,0x2c,0xde,0x59]
886 # CHECK-LE: lxvh8x 57, 12, 27 # encoding: [0x59,0xde,0x2c,0x7f]
888 # CHECK-BE: lxvb16x 57, 12, 27 # encoding: [0x7f,0x2c,0xde,0xd9]
889 # CHECK-LE: lxvb16x 57, 12, 27 # encoding: [0xd9,0xde,0x2c,0x7f]
892 # Load Vector Indexed
893 # CHECK-BE: lxvx 57, 12, 27 # encoding: [0x7f,0x2c,0xda,0x19]
894 # CHECK-LE: lxvx 57, 12, 27 # encoding: [0x19,0xda,0x2c,0x7f]
897 # Load Vector (Left-justified) with Length
898 # CHECK-BE: lxvl 57, 12, 27 # encoding: [0x7f,0x2c,0xda,0x1b]
899 # CHECK-LE: lxvl 57, 12, 27 # encoding: [0x1b,0xda,0x2c,0x7f]
901 # CHECK-BE: lxvll 57, 12, 27 # encoding: [0x7f,0x2c,0xda,0x5b]
902 # CHECK-LE: lxvll 57, 12, 27 # encoding: [0x5b,0xda,0x2c,0x7f]
905 # Load Vector Word & Splat Indexed
906 # CHECK-BE: lxvwsx 57, 12, 27 # encoding: [0x7f,0x2c,0xda,0xd9]
907 # CHECK-LE: lxvwsx 57, 12, 27 # encoding: [0xd9,0xda,0x2c,0x7f]
910 # Store as Integer Byte/Halfword Indexed
911 # CHECK-BE: stxsibx 57, 12, 27 # encoding: [0x7f,0x2c,0xdf,0x1b]
912 # CHECK-LE: stxsibx 57, 12, 27 # encoding: [0x1b,0xdf,0x2c,0x7f]
914 # CHECK-BE: stxsihx 57, 12, 27 # encoding: [0x7f,0x2c,0xdf,0x5b]
915 # CHECK-LE: stxsihx 57, 12, 27 # encoding: [0x5b,0xdf,0x2c,0x7f]
918 # Store Vector Halfword*8/Byte*16 Indexed
919 # CHECK-BE: stxvh8x 57, 12, 27 # encoding: [0x7f,0x2c,0xdf,0x59]
920 # CHECK-LE: stxvh8x 57, 12, 27 # encoding: [0x59,0xdf,0x2c,0x7f]
922 # CHECK-BE: stxvb16x 57, 12, 27 # encoding: [0x7f,0x2c,0xdf,0xd9]
923 # CHECK-LE: stxvb16x 57, 12, 27 # encoding: [0xd9,0xdf,0x2c,0x7f]
926 # Store Vector Indexed
927 # CHECK-BE: stxvx 57, 12, 27 # encoding: [0x7f,0x2c,0xdb,0x19]
928 # CHECK-LE: stxvx 57, 12, 27 # encoding: [0x19,0xdb,0x2c,0x7f]
931 # Store Vector (Left-justified) with Length
932 # CHECK-BE: stxvl 57, 12, 27 # encoding: [0x7f,0x2c,0xdb,0x1b]
933 # CHECK-LE: stxvl 57, 12, 27 # encoding: [0x1b,0xdb,0x2c,0x7f]
935 # CHECK-BE: stxvll 57, 12, 27 # encoding: [0x7f,0x2c,0xdb,0x5b]
936 # CHECK-LE: stxvll 57, 12, 27 # encoding: [0x5b,0xdb,0x2c,0x7f]
939 # P9 Direct Move Instructions
940 # CHECK-BE: mtvsrws 34, 3 # encoding: [0x7c,0x43,0x03,0x27]
941 # CHECK-LE: mtvsrws 34, 3 # encoding: [0x27,0x03,0x43,0x7c]
944 # CHECK-BE: mtvsrdd 34, 3, 12 # encoding: [0x7c,0x43,0x63,0x67]
945 # CHECK-LE: mtvsrdd 34, 3, 12 # encoding: [0x67,0x63,0x43,0x7c]
948 # CHECK-BE: mfvsrld 3, 34 # encoding: [0x7c,0x43,0x02,0x67]
949 # CHECK-LE: mfvsrld 3, 34 # encoding: [0x67,0x02,0x43,0x7c]
952 # CHECK-BE: xvtstdcdp 63, 63, 65 # encoding: [0xf3,0xe1,0xff,0xeb]
953 # CHECK-LE: xvtstdcdp 63, 63, 65 # encoding: [0xeb,0xff,0xe1,0xf3]
955 # CHECK-BE: xvtstdcsp 63, 63, 34 # encoding: [0xf3,0xe2,0xfe,0xaf]
956 # CHECK-LE: xvtstdcsp 63, 63, 34 # encoding: [0xaf,0xfe,0xe2,0xf3]