reformat openpower SIMD ops
[libreriscv.git] / openpower / simd_vsx.mdwn
1 # OpenPOWER's SIMD VSX instruction set summary
2
3 ## 7.6.1.1.1 VSX Scalar Storage Access Instructions
4
5 Mnemonic Instruction Name
6 lxsd Load VSX Scalar Dword
7 lxsdx Load VSX Scalar Dword Indexed
8 lxsibzx Load VSX Scalar as Integer Byte & Zero Indexed
9 lxsihax Load VSX Scalar as Integer Hword & Zero Indexed
10 lxsiwax Load VSX Scalar as Integer Word Algebraic Indexed
11 lxsiwzx Load VSX Scalar as Integer Word & Zero Indexed
12 lxssp Load VSX Scalar Single-Prcsn
13 lxsspx Load VSX Scalar Single-Prcsn Indexed
14 Table 8. VSX Scalar Load Instructions
15
16 Mnemonic Instruction Name
17 stxsd Store VSX Scalar Dword
18 stxsdx Store VSX Scalar Dword Indexed
19 stxsibx Store VSX Scalar as Integer Byte Indexed
20 stxsihx Store VSX Scalar as Integer Hword Indexed
21 stxsiwx Store VSX Scalar as Integer Word Indexed
22 stxssp Store VSX Scalar Single-Prcsn
23 stxsspx Store VSX Scalar Single-Prcsn Indexed
24 Table 9. VSX Scalar Store Instructions
25
26 ## 7.6.1.1.2 VSX Vector Storage Access Instructions
27
28 Mnemonic Instruction Name
29 lxv Load VSX Vector
30 lxvb16x Load VSX Vector Byte\*16 Indexed
31 lxvd2x Load VSX Vector Dword\*2 Indexed
32 lxvh8x Load VSX Vector Hword\*8 Indexed
33 lxvw4x Load VSX Vector Word\*4 Indexed
34 lxvx Load VSX Vector Indexed
35 Table 10.VSX Vector Load Instructions
36
37 Mnemonic Instruction Name
38 lxvdsx Load VSX Vector Dword and Splat Indexed
39 lxvwsx Load VSX Vector Word & Splat Indexed
40 Table 11.VSX Vector Load & Splat Instructions
41
42 Mnemonic Instruction Name
43 lxvl Load VSX Vector with Length
44 lxvll Load VSX Vector with Length Left-justified
45 Table 12.VSX Vector Load with Length Instructions
46
47 Mnemonic Instruction Name
48 stxv Store VSX Vector
49 stxvb16x Store VSX Vector Byte\*16 Indexed
50 stxvd2x Store VSX Vector Dword\*2 Indexed
51 stxvh8x Store VSX Vector Hword\*8 Indexed
52 stxvw4x Store VSX Vector Word\*4 Indexed
53 stxvx Store VSX Vector Indexed
54 Table 13.VSX Vector Store Instructions
55
56 Mnemonic Instruction Name
57 stxvl Store VSX Vector with Length
58 stxvll Store VSX Vector with Length Left-justified
59 Table 14.VSX Vector Store w/ Length Instructions
60
61 ## 7.6.1.2 VSX Binary Floating-Point Sign Manipulation Instructions
62 ### 7.6.1.2.1 VSX Scalar Binary Floating-Point Sign Manipulation Instructions
63
64 Mnemonic Instruction Name
65 xsabsdp VSX Scalar Absolute Double-Prcsn
66 xsabsqp VSX Scalar Absolute Quad-Prcsn
67 xscpsgndp VSX Scalar Copy Sign Double-Prcsn
68 xscpsgnqp VSX Scalar Copy Sign Quad-Prcsn
69 xsnabsdp VSX Scalar Negative Absolute Double-Prcsn
70 xsnabsqp VSX Scalar Negative Absolute Quad-Prcsn
71 xsnegdp VSX Scalar Negate Double-Prcsn
72 xsnegqp VSX Scalar Negate Quad-Prcsn
73 Table 15.VSX Scalar BFP Sign Manipulation Instructions
74
75 ### 7.6.1.2.2 VSX Vector Binary Floating-Point Sign Manipulation Instructions
76
77 Mnemonic Instruction Name
78 xvabsdp VSX Vector Absolute Value Double-Prcsn
79 xvabssp VSX Vector Absolute Value Single-Prcsn
80 xvcpsgndp VSX Vector Copy Sign Double-Prcsn
81 xvcpsgnsp VSX Vector Copy Sign Single-Prcsn
82 xvnabsdp VSX Vector Negative Absolute Value Double-Prcsn
83 xvnabssp VSX Vector Negative Absolute Value Single-Prcsn
84 xvnegdp VSX Vector Negate Double-Prcsn
85 xvnegsp VSX Vector Negate Single-Prcsn
86 Table 16.VSX Vector BFP Sign Manipulation Instructions
87
88 ## 7.6.1.3 VSX Binary Floating-Point Arithmetic Instructions
89
90 ### 7.6.1.3.1 VSX Scalar Binary Floating-Point Arithmetic Instructions
91
92 Mnemonic Instruction Name
93 xsadddp VSX Scalar Add Double-Prcsn
94 xsaddqp[o] VSX Scalar Add Quad-Prcsn [using round to Odd]
95 xsaddsp VSX Scalar Add Single-Prcsn
96 xsdivdp VSX Scalar Divide Double-Prcsn
97 xsdivqp[o] VSX Scalar Divide Quad-Prcsn [using round to Odd]
98 xsdivsp VSX Scalar Divide Single-Prcsn
99 xsmuldp VSX Scalar Multiply Double-Prcsn
100 xsmulqp[o] VSX Scalar Multiply Quad-Prcsn [using round to Odd]
101 xsmulsp VSX Scalar Multiply Single-Prcsn
102 xssqrtdp VSX Scalar Square Root Double-Prcsn
103 xssqrtqp[o] VSX Scalar Square Root Quad-Prcsn [using round to Odd]
104 xssqrtsp VSX Scalar Square Root Single-Prcsn
105 xssubdp VSX Scalar Subtract Double-Prcsn
106 xssubqp[o] VSX Scalar Subtract Quad-Prcsn [using round to Odd]
107 xssubsp VSX Scalar Subtract Single-Prcsn
108 Table 17.VSX Scalar BFP Elementary Arithmetic Instructions
109
110 Mnemonic Instruction Name
111 xsmaddadp VSX Scalar Multiply-Add Type-A Double-Prcsn
112 xsmaddasp VSX Scalar Multiply-Add Type-A Single-Prcsn
113 Table 18.VSX Scalar BFP Multiply-Add-class Instructions
114
115 Mnemonic Instruction Name
116 xsmaddmdp VSX Scalar Multiply-Add Type-M Double-Prcsn
117 xsmaddmsp VSX Scalar Multiply-Add Type-M Single-Prcsn
118 xsmaddqp[o] VSX Scalar Multiply-Add Quad-Prcsn [using round to Odd]
119 xsmsubadp VSX Scalar Multiply-Subtract Type-A Double-Prcsn
120 xsmsubasp VSX Scalar Multiply-Subtract Type-A Single-Prcsn
121 xsmsubmdp VSX Scalar Multiply-Subtract Type-M Double-Prcsn
122 xsmsubmsp VSX Scalar Multiply-Subtract Type-M Single-Prcsn
123 xsmsubqp[o] VSX Scalar Multiply-Subtract Quad-Prcsn [using round to Odd]
124 xsnmaddadp VSX Scalar Negative Multiply-Add Type-A Double-Prcsn
125 xsnmaddasp VSX Scalar Negative Multiply-Add Type-A Single-Prcsn
126 xsnmaddmdp VSX Scalar Negative Multiply-Add Type-M Double-Prcsn
127 xsnmaddmsp VSX Scalar Negative Multiply-Add Type-M Single-Prcsn
128 xsnmaddqp[o] VSX Scalar Negative Multiply-Add Quad-Prcsn [round to Odd]
129 xsnmsubadp VSX Scalar Negative Multiply-Subtract Type-A Double-Prcsn
130 xsnmsubasp VSX Scalar Negative Multiply-Subtract Type-A Single-Prcsn
131 xsnmsubmdp VSX Scalar Negative Multiply-Subtract Type-M Double-Prcsn
132 xsnmsubmsp VSX Scalar Negative Multiply-Subtract Type-M Single-Prcsn
133 xsnmsubqp[o] VSX Scalar Negative Multiply-Subtract Quad-Prcsn [rnd to Odd]
134 Table 18.VSX Scalar BFP Multiply-Add-class Instructions
135
136 Mnemonic Instruction Name
137 xsredp VSX Scalar Reciprocal Estimate Double-Prcsn
138 xsresp VSX Scalar Reciprocal Estimate Single-Prcsn
139 xsrsqrtedp VSX Scalar Reciprocal Square Root Estimate Double-Prcsn
140 xsrsqrtesp VSX Scalar Reciprocal Square Root Estimate Single-Prcsn
141 xstdivdp VSX Scalar Test for software Divide Double-Prcsn
142 xstsqrtdp VSX Scalar Test for software Square Root Double-Prcsn
143 Table 19.VSX Scalar Software BFP Divide/Square Root Instructions
144
145 ### 7.6.1.3.2 VSX Vector BFP Arithmetic Instructions
146
147 Mnemonic Instruction Name
148 xvadddp VSX Vector Add Double-Prcsn
149 xvaddsp VSX Vector Add Single-Prcsn
150 xvdivdp VSX Vector Divide Double-Prcsn
151 xvdivsp VSX Vector Divide Single-Prcsn
152 xvmuldp VSX Vector Multiply Double-Prcsn
153 xvmulsp VSX Vector Multiply Single-Prcsn
154 xvsqrtdp VSX Vector Square Root Double-Prcsn
155 xvsqrtsp VSX Vector Square Root Single-Prcsn
156 xvsubdp VSX Vector Subtract Double-Prcsn
157 xvsubsp VSX Vector Subtract Single-Prcsn
158 Table 20.VSX Vector BFP Elementary Arithmetic Instructions
159
160 Mnemonic Instruction Name
161 xvmaddadp VSX Vector Multiply-Add Type-A Double-Prcsn
162 xvmaddasp VSX Vector Multiply-Add Type-A Single-Prcsn
163 xvmaddmdp VSX Vector Multiply-Add Type-M Double-Prcsn
164 xvmaddmsp VSX Vector Multiply-Add Type-M Single-Prcsn
165 xvmsubadp VSX Vector Multiply-Subtract Type-A Double-Prcsn
166 xvmsubasp VSX Vector Multiply-Subtract Type-A Single-Prcsn
167 xvmsubmdp VSX Vector Multiply-Subtract Type-M Double-Prcsn
168 xvmsubmsp VSX Vector Multiply-Subtract Type-M Single-Prcsn
169 xvnmaddadp VSX Vector Negative Multiply-Add Type-A Double-Prcsn
170 xvnmaddasp VSX Vector Negative Multiply-Add Type-A Single-Prcsn
171 xvnmaddmdp VSX Vector Negative Multiply-Add Type-M Double-Prcsn
172 xvnmaddmsp VSX Vector Negative Multiply-Add Type-M Single-Prcsn
173 xvnmsubadp VSX Vector Negative Multiply-Subtract Type-A Double-Prcsn
174 xvnmsubasp VSX Vector Negative Multiply-Subtract Type-A Single-Prcsn
175 xvnmsubmdp VSX Vector Negative Multiply-Subtract Type-M Double-Prcsn
176 xvnmsubmsp VSX Vector Negative Multiply-Subtract Type-M Single-Prcsn
177 Table 21.VSX Vector BFP Multiply-Add-class Instructions
178
179 Mnemonic Instruction Name
180 xvredp VSX Vector Reciprocal Estimate Double-Prcsn
181 xvresp VSX Vector Reciprocal Estimate Single-Prcsn
182 xvrsqrtedp VSX Vector Reciprocal Square Root Estimate Double-Prcsn
183 xvrsqrtesp VSX Vector Reciprocal Square Root Estimate Single-Prcsn
184 xvtdivdp VSX Vector Test for software Divide Double-Prcsn
185 xvtdivsp VSX Vector Test for software Divide Single-Prcsn
186 xvtsqrtdp VSX Vector Test for software Square Root Double-Prcsn
187 xvtsqrtsp VSX Vector Test for software Square Root Single-Prcsn
188 Table 22.VSX Vector BFP Software Divide/Square Root Instructions
189
190 ## 7.6.1.4 VSX Binary Floating-Point Compare Instructions
191 ### 7.6.1.4.1 VSX Scalar BFP Compare Instructions
192
193 Mnemonic Instruction Name
194 xscmpodp VSX Scalar Compare Ordered Double-Prcsn
195 xscmpoqp VSX Scalar Compare Ordered Quad-Prcsn
196 xscmpudp VSX Scalar Compare Unordered Double-Prcsn
197 xscmpuqp VSX Scalar Compare Unordered Quad-Prcsn
198 Table 23.VSX Scalar BFP Compare Instructions
199
200 Mnemonic Instruction Name
201 xscmpeqdp VSX Scalar Compare Equal Double-Prcsn
202 xscmpgedp VSX Scalar Compare Greater Than or Equal Double-Prcsn
203 xscmpgtdp VSX Scalar Compare Greater Than Double-Prcsn
204 Table 24.VSX Scalar BFP Predicate Compare Instructions
205
206 Mnemonic Instruction Name
207 xsmaxcdp VSX Scalar Maximum Type-C Double-Prcsn
208 xsmaxdp VSX Scalar Maximum Double-Prcsn
209 xsmaxjdp VSX Scalar Maximum Type-J Double-Prcsn
210 xsmincdp VSX Scalar Minimum Type-C Double-Prcsn
211 xsmindp VSX Scalar Minimum Double-Prcsn
212 xsminjdp VSX Scalar Minimum Type-J Double-Prcsn
213 Table 25.VSX Scalar BFP Maximum/Minimum Instructions
214
215 ### 7.6.1.4.2 VSX Vector BFP Compare Instructions
216
217 Mnemonic Instruction Name
218 xvcmpeqdp[.] VSX Vector Compare Equal To Double-Prcsn
219 xvcmpeqsp[.] VSX Vector Compare Equal To Single-Prcsn
220 xvcmpgedp[.] VSX Vector Compare Greater Than or Equal To Double-Prcsn
221 xvcmpgesp[.] VSX Vector Compare Greater Than or Equal To Single-Prcsn
222 xvcmpgtdp[.] VSX Vector Compare Greater Than Double-Prcsn
223 xvcmpgtsp[.] VSX Vector Compare Greater Than Single-Prcsn
224 Table 26.VSX Vector BFP Predicate Compare Instructions
225
226 Mnemonic Instruction Name
227 xvmaxdp VSX Vector Maximum Double-Prcsn
228 xvmaxsp VSX Vector Maximum Single-Prcsn
229 xvmindp VSX Vector Minimum Double-Prcsn
230 xvminsp VSX Vector Minimum Single-Prcsn
231 Table 27.VSX Vector BFP Maximum/Minimum Instructions
232
233 ## 7.6.1.5 VSX Binary Floating-Point Round to Shorter Prcsn Instructions
234
235 Mnemonic Instruction Name
236 xsrqpxp VSX Scalar Round Quad-Prcsn to Double-Extended-Prcsn
237 xsrsp VSX Scalar Round Double-Prcsn to Single-Prcsn
238 Table 28.VSX Scalar BFP Round to Shorter Prcsn Instructions
239 ## 7.6.1.6 VSX Binary Floating-Point Convert to Shorter Prcsn Instructions
240
241 Mnemonic Instruction Name
242 xscvdphp VSX Scalar Convert w/ round Double-Prcsn to Half-Prcsn fmt
243 xscvdpsp VSX Scalar Convert w/ round Double-Prcsn to Single-Prcsn fmt
244 xscvdpspn VSX Scalar Convert Double-Prcsn to Single-Prcsn fmt Non-signalling
245 VSX Scalar Convert w/ round Quad-Prcsn to Double-Prcsn fmt [using round to xscvqpdp[o] Odd]
246 Table 29.VSX Scalar BFP Convert to Shorter Prcsn Instructions
247
248 Mnemonic Instruction Name
249 xvcvdpsp VSX Vector Convert w/ round Double-Prcsn to Single-Prcsn fmt
250 xvcvsphp VSX Vector Convert w/ round Single-Prcsn to Half-Prcsn fmt
251 Table 30.VSX Vector BFP Convert to Shorter Prcsn Instructions
252
253 ## 7.6.1.7 VSX Binary Floating-Point Convert to Longer Prcsn Instructions
254 Mnemonic Instruction Name
255 xscvdpqp VSX Scalar Convert Double-Prcsn to Quad-Prcsn fmt
256 xscvhpdp VSX Scalar Convert Half-Prcsn to Double-Prcsn fmt
257 xscvspdp VSX Scalar Convert Single-Prcsn to Double-Prcsn fmt
258 xscvspdpn VSX Scalar Convert Single-Prcsn to Double-Prcsn fmt Non-signalling
259 Table 31.VSX Scalar BFP Convert to Longer Prcsn Instructions
260
261 Mnemonic Instruction Name
262 xvcvhpsp VSX Vector Convert Half-Prcsn to Single-Prcsn fmt
263 xvcvspdp VSX Vector Convert Single-Prcsn to Double-Prcsn fmt
264 Table 32.VSX Vector BFP Convert to Longer Prcsn Instructions
265
266 ## 7.6.1.8 VSX Binary Floating-Point Round to Integral Instructions
267
268 ### 7.6.1.8.1 VSX Scalar BFP Round to Integral Instructions
269
270 Mnemonic Instruction Name
271 xsrdpi VSX Scalar Round to Double-Prcsn Integer using round to Nearest Away
272 xsrdpic VSX Scalar Round to Double-Prcsn Integer Exact using Current rounding mode
273 xsrdpim VSX Scalar Round to Double-Prcsn Integer using round towards -Infinity
274 xsrdpip VSX Scalar Round to Double-Prcsn Integer using round towards +Infinity
275 xsrdpiz VSX Scalar Round to Double-Prcsn Integer using round towards Zero
276 xsrqpi VSX Scalar Round to Quad-Prcsn Integer
277 xsrqpix VSX Scalar Round Quad-Prcsn to Integral Exact
278 xvrdpi VSX Vector Round to Double-Prcsn Integer using round to Nearest Away
279 xvrdpic VSX Vector Round to Double-Prcsn Integer Exact using Current rounding mode
280 xvrdpim VSX Vector Round to Double-Prcsn Integer using round towards -Infinity
281 xvrdpip VSX Vector Round to Double-Prcsn Integer using round towards +Infinity
282 xvrdpiz VSX Vector Round to Double-Prcsn Integer using round towards Zero
283 Table 33.VSX Scalar BFP Round to Integral Instructions
284
285 ### 7.6.1.8.2 VSX Vector BFP Round to Integral Instructions
286
287 Mnemonic Instruction Name
288 xvrdpi VSX Vector Round to Double-Prcsn Integer using round to Nearest Away
289 xvrdpic VSX Vector Round to Double-Prcsn Integer Exact using Current rounding mode
290 xvrdpim VSX Vector Round to Double-Prcsn Integer using round towards -Infinity
291 xvrdpip VSX Vector Round to Double-Prcsn Integer using round towards +Infinity
292 xvrdpiz VSX Vector Round to Double-Prcsn Integer using round towards Zero
293 xvrspi VSX Vector Round to Single-Prcsn Integer using round to Nearest Away
294 xvrspic VSX Vector Round to Single-Prcsn Integer Exact using Current rounding mode
295 xvrspim VSX Vector Round to Single-Prcsn Integer using round towards -Infinity
296 xvrspip VSX Vector Round to Single-Prcsn Integer using round towards +Infinity
297 xvrspiz VSX Vector Round to Single-Prcsn Integer using round towards Zero
298 Table 34.VSX Vector BFP Round to Integral Instructions
299
300 ## 7.6.1.9 VSX Binary Floating-Point Convert To Integer Instructions
301
302 ### 7.6.1.9.1 VSX Scalar BFP Convert To Integer Instructions
303
304 Mnemonic Instruction Name
305 xscvdpsxds VSX Scalar Convert w/ truncate Double-Prcsn to Signed Dword fmt
306 xscvdpsxws VSX Scalar Convert w/ truncate Double-Prcsn to Signed Word fmt
307 xscvdpuxds VSX Scalar Convert w/ truncate Double-Prcsn to Unsigned Dword fmt
308 xscvdpuxws VSX Scalar Convert w/ truncate Double-Prcsn to Unsigned Word fmt
309 xscvqpsdz VSX Scalar Convert w/ truncate Quad-Prcsn to Signed Dword fmt
310 xscvqpswz VSX Scalar Convert w/ truncate Quad-Prcsn to Signed Word fmt
311 xscvqpudz VSX Scalar Convert w/ truncate Quad-Prcsn to Unsigned Dword fmt
312 xscvqpuwz VSX Scalar Convert w/ truncate Quad-Prcsn to Unsigned Word fmt
313 Table 35.VSX Scalar BFP Convert to Integer Instructions
314
315 ### 7.6.1.9.2 VSX Vector BFP Convert To Integer Instructions
316
317 Mnemonic Instruction Name
318 xvcvdpsxds VSX Vector Convert w/ truncate Double-Prcsn to Signed Dword fmt
319 xvcvdpsxws VSX Vector Convert w/ truncate Double-Prcsn to Signed Word fmt
320 xvcvdpuxds VSX Vector Convert w/ truncate Double-Prcsn to Unsigned Dword fmt
321 xvcvdpuxws VSX Vector Convert w/ truncate Double-Prcsn to Unsigned Word fmt
322 xvcvspsxds VSX Vector Convert w/ truncate Single-Prcsn to Signed Dword fmt
323 xvcvspsxws VSX Vector Convert w/ truncate Single-Prcsn to Signed Word fmt
324 xvcvspuxds VSX Vector Convert w/ truncate Single-Prcsn to Unsigned Dword fmt
325 xvcvspuxws VSX Vector Convert w/ truncate Single-Prcsn to Unsigned Word fmt
326 Table 36.VSX Vector BFP Convert To Integer Instructions
327
328 ## 7.6.1.10 VSX Binary Floating-Point Convert From Integer Instructions
329
330 ### 7.6.1.10.1 VSX Scalar BFP Convert From Integer Instructions
331
332 Mnemonic Instruction Name
333 xscvsdqp VSX Scalar Convert Signed Dword to Quad-Prcsn fmt
334 xscvsxddp VSX Scalar Convert w/ round Signed Dword to Double-Prcsn fmt
335 xscvsxdsp VSX Scalar Convert w/ round Signed Dword to Single-Prcsn fmt
336 xscvudqp VSX Scalar Convert Unsigned Dword to Quad-Prcsn fmt
337 xscvuxddp VSX Scalar Convert w/ round Unsigned Dword to Double-Prcsn fmt
338 xscvuxdsp VSX Scalar Convert w/ round Unsigned Dword to Single-Prcsn fmt
339 Table 37.VSX Scalar BFP Convert from Integer Instructions
340
341 ### 7.6.1.10.2 VSX Vector BFP Convert From Integer Instructions
342
343 Mnemonic Instruction Name
344 xvcvsxddp VSX Vector Convert w/ round Signed Dword to Double-Prcsn fmt
345 xvcvsxwdp VSX Vector Convert Signed Word to Double-Prcsn fmt
346 xvcvuxddp VSX Vector Convert w/ round Unsigned Dword to Double-Prcsn fmt
347 xvcvuxwdp VSX Vector Convert Unsigned Word to Double-Prcsn fmt
348 xvcvsxdsp VSX Vector Convert w/ round Signed Dword to Single-Prcsn fmt
349 xvcvsxwsp VSX Vector Convert w/ round Signed Word to Single-Prcsn fmt
350 xvcvuxdsp VSX Vector Convert w/ round Unsigned Dword to Single-Prcsn fmt
351 xvcvuxwsp VSX Vector Convert w/ round Unsigned Word to Single-Prcsn fmt
352 Table 38.VSX Vector BFP Convert From Integer Instructions
353
354 ## 7.6.1.11 VSX Binary Floating-Point Math Support Instructions
355
356 ### 7.6.1.11.1 VSX Scalar BFP Math Support Instructions
357
358 Mnemonic Instruction Name
359 xscmpexpdp VSX Scalar Compare Exponents Double-Prcsn
360 xscmpexpqp VSX Scalar Compare Exponents Quad-Prcsn
361 xsiexpdp VSX Scalar Insert Exponent Double-Prcsn
362 xsiexpqp VSX Scalar Insert Exponent Quad-Prcsn
363 xststdcdp VSX Scalar Test Data Class Double-Prcsn
364 xststdcqp VSX Scalar Test Data Class Quad-Prcsn
365 xststdcsp VSX Scalar Test Data Class Single-Prcsn
366 xsxexpdp VSX Scalar Extract Exponent Double-Prcsn
367 xsxexpqp VSX Scalar Extract Exponent Quad-Prcsn
368 Table 39. VSX Scalar BFP Math Support Instructions
369
370 Mnemonic Instruction Name
371 xsxsigdp VSX Scalar Extract Significand Double-Prcsn
372 xsxsigqp VSX Scalar Extract Significand Quad-Prcsn
373 Table 39. VSX Scalar BFP Math Support Instructions
374
375 ### 7.6.1.11.2 VSX Vector BFP Math Support Instructions
376
377 Mnemonic Instruction Name
378 xviexpdp VSX Vector Insert Exponent Double-Prcsn
379 xviexpsp VSX Vector Insert Exponent Single-Prcsn
380 xvtstdcdp VSX Vector Test Data Class Double-Prcsn
381 xvtstdcsp VSX Vector Test Data Class Single-Prcsn
382 xvxexpdp VSX Vector Extract Exponent Double-Prcsn
383 xvxexpsp VSX Vector Extract Exponent Single-Prcsn
384 xvxsigdp VSX Vector Extract Significand Double-Prcsn
385 xvxsigsp VSX Vector Extract Significand Single-Prcsn
386 Table 40. VSX Vector BFP Math Support Instructions
387
388 ## 7.6.1.12 VSX Vector Logical Instructions
389
390 ### 7.6.1.12.1 VSX Vector Logical Instructions
391
392 Mnemonic Instruction Name
393 xxland VSX Vector Logical AND
394 xxlandc VSX Vector Logical AND with Complement
395 xxleqv VSX Vector Logical Equivalence
396 xxlnand VSX Vector Logical NAND
397 xxlnor VSX Vector Logical NOR
398 xxlor VSX Vector Logical OR
399 xxlorc VSX Vector Logical OR with Complement
400 xxlxor VSX Vector Logical XOR
401 Table 41.VSX Logical Instructions
402
403 ### 7.6.1.12.2 VSX Vector Select Instruction
404
405 Mnemonic Instruction Name
406 xxsel VSX Vector Select
407 Table 42.VSX Vector Select Instruction
408
409 ## 7.6.1.13 VSX Vector Permute-class Instructions
410
411 ### 7.6.1.13.1 VSX Vector Byte-Reverse Instructions
412
413 Mnemonic Instruction Name
414 xxbrd VSX Vector Byte-Reverse Dword
415 xxbrh VSX Vector Byte-Reverse Hword
416 xxbrq VSX Vector Byte-Reverse Qword
417 xxbrw VSX Vector Byte-Reverse Word
418 Table 43.VSX Vector Byte-Reverse Instructions
419
420 ### 7.6.1.13.2 VSX Vector Insert/Extract Instructions
421
422 Mnemonic Instruction Name
423 xxextractuw VSX Vector Extract Unsigned Word
424 xxinsertw VSX Vector Insert Word
425 Table 44.VSX Vector Insert/Extract Instructions
426
427 ### 7.6.1.13.3 VSX Vector Merge Instructions
428
429 Mnemonic Instruction Name
430 xxmrghw VSX Vector Merge High Word
431 xxmrglw VSX Vector Merge Low Word
432 Table 45.VSX Vector Merge Instructions
433
434 ### 7.6.1.13.4 VSX Vector Splat Instructions
435
436 Mnemonic Instruction Name
437 xxspltib VSX Vector Splat Immediate Byte
438 xxspltw VSX Vector Splat Word
439 Table 46.VSX Vector Splat Instructions
440
441 ### 7.6.1.13.5 VSX Vector Permute Instructions
442
443 Mnemonic Instruction Name
444 xxpermdi VSX Vector Permute Dword Immediate
445 xxperm VSX Vector Permute
446 xxpermr VSX Vector Permute Right-indexed
447 Table 47.VSX Vector Permute Instruction
448
449 ### 7.6.1.13.6 VSX Vector Shift Left Double Instructions
450
451 Mnemonic Instruction Name
452 xxsldwi VSX Vector Shift Left Double by Word Immediate
453 Table 48.VSX Vector Shift Left Double Instruction
454