OpenPOWER's SIMD VSX instruction set summary

Assessment carried out under https://bugs.libre-soc.org/show_bug.cgi?id=544

7.6.1.1.1 VSX Scalar Storage Access Instructions

Mnemonic      Instruction Name
lxsd          Load VSX Scalar Dword
lxsdx         Load VSX Scalar Dword Indexed
lxsibzx       Load VSX Scalar as Integer Byte & Zero Indexed
lxsihax       Load VSX Scalar as Integer Hword & Zero Indexed
lxsiwax       Load VSX Scalar as Integer Word Algebraic Indexed
lxsiwzx       Load VSX Scalar as Integer Word & Zero Indexed
lxssp         Load VSX Scalar Single-Prcsn
lxsspx        Load VSX Scalar Single-Prcsn Indexed
Table 8. VSX Scalar Load Instructions

Mnemonic      Instruction Name
stxsd         Store VSX Scalar Dword
stxsdx        Store VSX Scalar Dword Indexed
stxsibx       Store VSX Scalar as Integer Byte Indexed
stxsihx       Store VSX Scalar as Integer Hword Indexed
stxsiwx       Store VSX Scalar as Integer Word Indexed
stxssp        Store VSX Scalar Single-Prcsn
stxsspx       Store VSX Scalar Single-Prcsn Indexed
Table 9. VSX Scalar Store Instructions

7.6.1.1.2 VSX Vector Storage Access Instructions

Mnemonic      Instruction Name
lxv           Load VSX Vector
lxvb16x       Load VSX Vector Byte\*16 Indexed
lxvd2x        Load VSX Vector Dword\*2 Indexed
lxvh8x        Load VSX Vector Hword\*8 Indexed
lxvw4x        Load VSX Vector Word\*4 Indexed
lxvx          Load VSX Vector Indexed
Table 10.VSX Vector Load Instructions

Mnemonic      Instruction Name
lxvdsx        Load VSX Vector Dword and Splat Indexed
lxvwsx        Load VSX Vector Word & Splat Indexed
Table 11.VSX Vector Load & Splat Instructions

Mnemonic      Instruction Name
lxvl          Load VSX Vector with Length
lxvll         Load VSX Vector with Length Left-justified
Table 12.VSX Vector Load with Length Instructions

Mnemonic      Instruction Name
stxv          Store VSX Vector
stxvb16x      Store VSX Vector Byte\*16 Indexed
stxvd2x       Store VSX Vector Dword\*2 Indexed
stxvh8x       Store VSX Vector Hword\*8 Indexed
stxvw4x       Store VSX Vector Word\*4 Indexed
stxvx         Store VSX Vector Indexed
Table 13.VSX Vector Store Instructions

Mnemonic      Instruction Name
stxvl         Store VSX Vector with Length
stxvll        Store VSX Vector with Length Left-justified
Table 14.VSX Vector Store w/ Length Instructions

7.6.1.2 VSX Binary Floating-Point Sign Manipulation Instructions

7.6.1.2.1 VSX Scalar Binary Floating-Point Sign Manipulation Instructions

Mnemonic      Instruction Name
xsabsdp       VSX Scalar Absolute Double-Prcsn
xsabsqp       VSX Scalar Absolute Quad-Prcsn
xscpsgndp     VSX Scalar Copy Sign Double-Prcsn
xscpsgnqp     VSX Scalar Copy Sign Quad-Prcsn
xsnabsdp      VSX Scalar Negative Absolute Double-Prcsn
xsnabsqp      VSX Scalar Negative Absolute Quad-Prcsn
xsnegdp       VSX Scalar Negate Double-Prcsn
xsnegqp       VSX Scalar Negate Quad-Prcsn
Table 15.VSX Scalar BFP Sign Manipulation Instructions

7.6.1.2.2 VSX Vector Binary Floating-Point Sign Manipulation Instructions

Mnemonic      Instruction Name
xvabsdp       VSX Vector Absolute Value Double-Prcsn
xvabssp       VSX Vector Absolute Value Single-Prcsn
xvcpsgndp     VSX Vector Copy Sign Double-Prcsn
xvcpsgnsp     VSX Vector Copy Sign Single-Prcsn
xvnabsdp      VSX Vector Negative Absolute Value Double-Prcsn
xvnabssp      VSX Vector Negative Absolute Value Single-Prcsn
xvnegdp       VSX Vector Negate Double-Prcsn
xvnegsp       VSX Vector Negate Single-Prcsn
Table 16.VSX Vector BFP Sign Manipulation Instructions

7.6.1.3 VSX Binary Floating-Point Arithmetic Instructions

7.6.1.3.1 VSX Scalar Binary Floating-Point Arithmetic Instructions

Mnemonic      Instruction Name
xsadddp       VSX Scalar Add Double-Prcsn
xsaddqp[o]    VSX Scalar Add Quad-Prcsn [using round to Odd]
xsaddsp       VSX Scalar Add Single-Prcsn
xsdivdp       VSX Scalar Divide Double-Prcsn
xsdivqp[o]    VSX Scalar Divide Quad-Prcsn [using round to Odd]
xsdivsp       VSX Scalar Divide Single-Prcsn
xsmuldp       VSX Scalar Multiply Double-Prcsn
xsmulqp[o]    VSX Scalar Multiply Quad-Prcsn [using round to Odd]
xsmulsp       VSX Scalar Multiply Single-Prcsn
xssqrtdp      VSX Scalar Square Root Double-Prcsn
xssqrtqp[o]   VSX Scalar Square Root Quad-Prcsn [using round to Odd]
xssqrtsp      VSX Scalar Square Root Single-Prcsn
xssubdp       VSX Scalar Subtract Double-Prcsn
xssubqp[o]    VSX Scalar Subtract Quad-Prcsn [using round to Odd]
xssubsp       VSX Scalar Subtract Single-Prcsn
Table 17.VSX Scalar BFP Elementary Arithmetic Instructions

Mnemonic      Instruction Name
xsmaddadp     VSX Scalar Multiply-Add Type-A Double-Prcsn
xsmaddasp     VSX Scalar Multiply-Add Type-A Single-Prcsn
Table 18.VSX Scalar BFP Multiply-Add-class Instructions

Mnemonic      Instruction Name
xsmaddmdp     VSX Scalar Multiply-Add Type-M Double-Prcsn
xsmaddmsp     VSX Scalar Multiply-Add Type-M Single-Prcsn
xsmaddqp[o]   VSX Scalar Multiply-Add Quad-Prcsn [using round to Odd]
xsmsubadp     VSX Scalar Multiply-Subtract Type-A Double-Prcsn
xsmsubasp     VSX Scalar Multiply-Subtract Type-A Single-Prcsn
xsmsubmdp     VSX Scalar Multiply-Subtract Type-M Double-Prcsn
xsmsubmsp     VSX Scalar Multiply-Subtract Type-M Single-Prcsn
xsmsubqp[o]   VSX Scalar Multiply-Subtract Quad-Prcsn [using round to Odd]
xsnmaddadp    VSX Scalar Negative Multiply-Add Type-A Double-Prcsn
xsnmaddasp    VSX Scalar Negative Multiply-Add Type-A Single-Prcsn
xsnmaddmdp    VSX Scalar Negative Multiply-Add Type-M Double-Prcsn
xsnmaddmsp    VSX Scalar Negative Multiply-Add Type-M Single-Prcsn
xsnmaddqp[o]  VSX Scalar Negative Multiply-Add Quad-Prcsn [round to Odd]
xsnmsubadp    VSX Scalar Negative Multiply-Subtract Type-A Double-Prcsn
xsnmsubasp    VSX Scalar Negative Multiply-Subtract Type-A Single-Prcsn
xsnmsubmdp    VSX Scalar Negative Multiply-Subtract Type-M Double-Prcsn
xsnmsubmsp    VSX Scalar Negative Multiply-Subtract Type-M Single-Prcsn
xsnmsubqp[o]  VSX Scalar Negative Multiply-Subtract Quad-Prcsn [rnd to Odd]
Table 18.VSX Scalar BFP Multiply-Add-class Instructions

Mnemonic      Instruction Name
xsredp        VSX Scalar Reciprocal Estimate Double-Prcsn
xsresp        VSX Scalar Reciprocal Estimate Single-Prcsn
xsrsqrtedp    VSX Scalar Reciprocal Square Root Estimate Double-Prcsn
xsrsqrtesp    VSX Scalar Reciprocal Square Root Estimate Single-Prcsn
xstdivdp      VSX Scalar Test for software Divide Double-Prcsn
xstsqrtdp     VSX Scalar Test for software Square Root Double-Prcsn
Table 19.VSX Scalar Software BFP Divide/Square Root Instructions

7.6.1.3.2 VSX Vector BFP Arithmetic Instructions

Mnemonic      Instruction Name
xvadddp       VSX Vector Add Double-Prcsn
xvaddsp       VSX Vector Add Single-Prcsn
xvdivdp       VSX Vector Divide Double-Prcsn
xvdivsp       VSX Vector Divide Single-Prcsn
xvmuldp       VSX Vector Multiply Double-Prcsn
xvmulsp       VSX Vector Multiply Single-Prcsn
xvsqrtdp      VSX Vector Square Root Double-Prcsn
xvsqrtsp      VSX Vector Square Root Single-Prcsn
xvsubdp       VSX Vector Subtract Double-Prcsn
xvsubsp       VSX Vector Subtract Single-Prcsn
Table 20.VSX Vector BFP Elementary Arithmetic Instructions

Mnemonic      Instruction Name
xvmaddadp     VSX Vector Multiply-Add Type-A Double-Prcsn
xvmaddasp     VSX Vector Multiply-Add Type-A Single-Prcsn
xvmaddmdp     VSX Vector Multiply-Add Type-M Double-Prcsn
xvmaddmsp     VSX Vector Multiply-Add Type-M Single-Prcsn
xvmsubadp     VSX Vector Multiply-Subtract Type-A Double-Prcsn
xvmsubasp     VSX Vector Multiply-Subtract Type-A Single-Prcsn
xvmsubmdp     VSX Vector Multiply-Subtract Type-M Double-Prcsn
xvmsubmsp     VSX Vector Multiply-Subtract Type-M Single-Prcsn
xvnmaddadp    VSX Vector Negative Multiply-Add Type-A Double-Prcsn
xvnmaddasp    VSX Vector Negative Multiply-Add Type-A Single-Prcsn
xvnmaddmdp    VSX Vector Negative Multiply-Add Type-M Double-Prcsn
xvnmaddmsp    VSX Vector Negative Multiply-Add Type-M Single-Prcsn
xvnmsubadp    VSX Vector Negative Multiply-Subtract Type-A Double-Prcsn
xvnmsubasp    VSX Vector Negative Multiply-Subtract Type-A Single-Prcsn
xvnmsubmdp    VSX Vector Negative Multiply-Subtract Type-M Double-Prcsn
xvnmsubmsp    VSX Vector Negative Multiply-Subtract Type-M Single-Prcsn
Table 21.VSX Vector BFP Multiply-Add-class Instructions

Mnemonic      Instruction Name
xvredp        VSX Vector Reciprocal Estimate Double-Prcsn
xvresp        VSX Vector Reciprocal Estimate Single-Prcsn
xvrsqrtedp    VSX Vector Reciprocal Square Root Estimate Double-Prcsn
xvrsqrtesp    VSX Vector Reciprocal Square Root Estimate Single-Prcsn
xvtdivdp      VSX Vector Test for software Divide Double-Prcsn
xvtdivsp      VSX Vector Test for software Divide Single-Prcsn
xvtsqrtdp     VSX Vector Test for software Square Root Double-Prcsn
xvtsqrtsp     VSX Vector Test for software Square Root Single-Prcsn
Table 22.VSX Vector BFP Software Divide/Square Root Instructions

7.6.1.4 VSX Binary Floating-Point Compare Instructions

7.6.1.4.1 VSX Scalar BFP Compare Instructions

Mnemonic      Instruction Name
xscmpodp      VSX Scalar Compare Ordered Double-Prcsn
xscmpoqp      VSX Scalar Compare Ordered Quad-Prcsn
xscmpudp      VSX Scalar Compare Unordered Double-Prcsn
xscmpuqp      VSX Scalar Compare Unordered Quad-Prcsn
Table 23.VSX Scalar BFP Compare Instructions

Mnemonic      Instruction Name
xscmpeqdp     VSX Scalar Compare Equal Double-Prcsn
xscmpgedp     VSX Scalar Compare Greater Than or Equal Double-Prcsn
xscmpgtdp     VSX Scalar Compare Greater Than Double-Prcsn
Table 24.VSX Scalar BFP Predicate Compare Instructions

Mnemonic      Instruction Name
xsmaxcdp      VSX Scalar Maximum Type-C Double-Prcsn
xsmaxdp       VSX Scalar Maximum Double-Prcsn
xsmaxjdp      VSX Scalar Maximum Type-J Double-Prcsn
xsmincdp      VSX Scalar Minimum Type-C Double-Prcsn
xsmindp       VSX Scalar Minimum Double-Prcsn
xsminjdp      VSX Scalar Minimum Type-J Double-Prcsn
Table 25.VSX Scalar BFP Maximum/Minimum Instructions

7.6.1.4.2 VSX Vector BFP Compare Instructions

Mnemonic      Instruction Name
xvcmpeqdp[.]  VSX Vector Compare Equal To Double-Prcsn
xvcmpeqsp[.]  VSX Vector Compare Equal To Single-Prcsn
xvcmpgedp[.]  VSX Vector Compare Greater Than or Equal To Double-Prcsn
xvcmpgesp[.]  VSX Vector Compare Greater Than or Equal To Single-Prcsn
xvcmpgtdp[.]  VSX Vector Compare Greater Than Double-Prcsn
xvcmpgtsp[.]  VSX Vector Compare Greater Than Single-Prcsn
Table 26.VSX Vector BFP Predicate Compare Instructions

Mnemonic      Instruction Name
xvmaxdp       VSX Vector Maximum Double-Prcsn
xvmaxsp       VSX Vector Maximum Single-Prcsn
xvmindp       VSX Vector Minimum Double-Prcsn
xvminsp       VSX Vector Minimum Single-Prcsn
Table 27.VSX Vector BFP Maximum/Minimum Instructions

7.6.1.5 VSX Binary Floating-Point Round to Shorter Prcsn Instructions

Mnemonic      Instruction Name
xsrqpxp       VSX Scalar Round Quad-Prcsn to Double-Extended-Prcsn
xsrsp         VSX Scalar Round Double-Prcsn to Single-Prcsn
Table 28.VSX Scalar BFP Round to Shorter Prcsn Instructions

7.6.1.6 VSX Binary Floating-Point Convert to Shorter Prcsn Instructions

Mnemonic      Instruction Name
xscvdphp      VSX Scalar Convert w/ round Double-Prcsn to Half-Prcsn fmt
xscvdpsp      VSX Scalar Convert w/ round Double-Prcsn to Single-Prcsn fmt
xscvdpspn     VSX Scalar Convert Double-Prcsn to Single-Prcsn fmt Non-signalling
              VSX Scalar Convert w/ round Quad-Prcsn to Double-Prcsn fmt [using round to xscvqpdp[o] Odd]
Table 29.VSX Scalar BFP Convert to Shorter Prcsn Instructions

Mnemonic      Instruction Name
xvcvdpsp      VSX Vector Convert w/ round Double-Prcsn to Single-Prcsn fmt
xvcvsphp      VSX Vector Convert w/ round Single-Prcsn to Half-Prcsn fmt
Table 30.VSX Vector BFP Convert to Shorter Prcsn Instructions

7.6.1.7 VSX Binary Floating-Point Convert to Longer Prcsn Instructions

Mnemonic      Instruction Name
xscvdpqp      VSX Scalar Convert Double-Prcsn to Quad-Prcsn fmt
xscvhpdp      VSX Scalar Convert Half-Prcsn to Double-Prcsn fmt
xscvspdp      VSX Scalar Convert Single-Prcsn to Double-Prcsn fmt
xscvspdpn     VSX Scalar Convert Single-Prcsn to Double-Prcsn fmt Non-signalling
Table 31.VSX Scalar BFP Convert to Longer Prcsn Instructions

Mnemonic      Instruction Name
xvcvhpsp      VSX Vector Convert Half-Prcsn to Single-Prcsn fmt
xvcvspdp      VSX Vector Convert Single-Prcsn to Double-Prcsn fmt
Table 32.VSX Vector BFP Convert to Longer Prcsn Instructions

7.6.1.8 VSX Binary Floating-Point Round to Integral Instructions

7.6.1.8.1 VSX Scalar BFP Round to Integral Instructions

Mnemonic      Instruction Name
xsrdpi        VSX Scalar Round to Double-Prcsn Integer using round to Nearest Away
xsrdpic       VSX Scalar Round to Double-Prcsn Integer Exact using Current rounding mode
xsrdpim       VSX Scalar Round to Double-Prcsn Integer using round towards -Infinity
xsrdpip       VSX Scalar Round to Double-Prcsn Integer using round towards +Infinity
xsrdpiz       VSX Scalar Round to Double-Prcsn Integer using round towards Zero
xsrqpi        VSX Scalar Round to Quad-Prcsn Integer
xsrqpix       VSX Scalar Round Quad-Prcsn to Integral Exact
xvrdpi        VSX Vector Round to Double-Prcsn Integer using round to Nearest Away
xvrdpic       VSX Vector Round to Double-Prcsn Integer Exact using Current rounding mode
xvrdpim       VSX Vector Round to Double-Prcsn Integer using round towards -Infinity
xvrdpip       VSX Vector Round to Double-Prcsn Integer using round towards +Infinity
xvrdpiz       VSX Vector Round to Double-Prcsn Integer using round towards Zero
Table 33.VSX Scalar BFP Round to Integral Instructions

7.6.1.8.2 VSX Vector BFP Round to Integral Instructions

Mnemonic      Instruction Name
xvrdpi        VSX Vector Round to Double-Prcsn Integer using round to Nearest Away
xvrdpic       VSX Vector Round to Double-Prcsn Integer Exact using Current rounding mode
xvrdpim       VSX Vector Round to Double-Prcsn Integer using round towards -Infinity
xvrdpip       VSX Vector Round to Double-Prcsn Integer using round towards +Infinity
xvrdpiz       VSX Vector Round to Double-Prcsn Integer using round towards Zero
xvrspi        VSX Vector Round to Single-Prcsn Integer using round to Nearest Away
xvrspic       VSX Vector Round to Single-Prcsn Integer Exact using Current rounding mode
xvrspim       VSX Vector Round to Single-Prcsn Integer using round towards -Infinity
xvrspip       VSX Vector Round to Single-Prcsn Integer using round towards +Infinity
xvrspiz       VSX Vector Round to Single-Prcsn Integer using round towards Zero
Table 34.VSX Vector BFP Round to Integral Instructions

7.6.1.9 VSX Binary Floating-Point Convert To Integer Instructions

7.6.1.9.1 VSX Scalar BFP Convert To Integer Instructions

Mnemonic      Instruction Name
xscvdpsxds    VSX Scalar Convert w/ truncate Double-Prcsn to Signed Dword fmt
xscvdpsxws    VSX Scalar Convert w/ truncate Double-Prcsn to Signed Word fmt
xscvdpuxds    VSX Scalar Convert w/ truncate Double-Prcsn to Unsigned Dword fmt
xscvdpuxws    VSX Scalar Convert w/ truncate Double-Prcsn to Unsigned Word fmt
xscvqpsdz     VSX Scalar Convert w/ truncate Quad-Prcsn to Signed Dword fmt
xscvqpswz     VSX Scalar Convert w/ truncate Quad-Prcsn to Signed Word fmt
xscvqpudz     VSX Scalar Convert w/ truncate Quad-Prcsn to Unsigned Dword fmt
xscvqpuwz     VSX Scalar Convert w/ truncate Quad-Prcsn to Unsigned Word fmt
Table 35.VSX Scalar BFP Convert to Integer Instructions

7.6.1.9.2 VSX Vector BFP Convert To Integer Instructions

Mnemonic      Instruction Name
xvcvdpsxds    VSX Vector Convert w/ truncate Double-Prcsn to Signed Dword fmt
xvcvdpsxws    VSX Vector Convert w/ truncate Double-Prcsn to Signed Word fmt
xvcvdpuxds    VSX Vector Convert w/ truncate Double-Prcsn to Unsigned Dword fmt
xvcvdpuxws    VSX Vector Convert w/ truncate Double-Prcsn to Unsigned Word fmt
xvcvspsxds    VSX Vector Convert w/ truncate Single-Prcsn to Signed Dword fmt
xvcvspsxws    VSX Vector Convert w/ truncate Single-Prcsn to Signed Word fmt
xvcvspuxds    VSX Vector Convert w/ truncate Single-Prcsn to Unsigned Dword fmt
xvcvspuxws    VSX Vector Convert w/ truncate Single-Prcsn to Unsigned Word fmt
Table 36.VSX Vector BFP Convert To Integer Instructions

7.6.1.10 VSX Binary Floating-Point Convert From Integer Instructions

7.6.1.10.1 VSX Scalar BFP Convert From Integer Instructions

Mnemonic      Instruction Name
xscvsdqp      VSX Scalar Convert Signed Dword to Quad-Prcsn fmt
xscvsxddp     VSX Scalar Convert w/ round Signed Dword to Double-Prcsn fmt
xscvsxdsp     VSX Scalar Convert w/ round Signed Dword to Single-Prcsn fmt
xscvudqp      VSX Scalar Convert Unsigned Dword to Quad-Prcsn fmt
xscvuxddp     VSX Scalar Convert w/ round Unsigned Dword to Double-Prcsn fmt
xscvuxdsp     VSX Scalar Convert w/ round Unsigned Dword to Single-Prcsn fmt
Table 37.VSX Scalar BFP Convert from Integer Instructions

7.6.1.10.2 VSX Vector BFP Convert From Integer Instructions

Mnemonic      Instruction Name
xvcvsxddp     VSX Vector Convert w/ round Signed Dword to Double-Prcsn fmt
xvcvsxwdp     VSX Vector Convert Signed Word to Double-Prcsn fmt
xvcvuxddp     VSX Vector Convert w/ round Unsigned Dword to Double-Prcsn fmt
xvcvuxwdp     VSX Vector Convert Unsigned Word to Double-Prcsn fmt
xvcvsxdsp     VSX Vector Convert w/ round Signed Dword to Single-Prcsn fmt
xvcvsxwsp     VSX Vector Convert w/ round Signed Word to Single-Prcsn fmt
xvcvuxdsp     VSX Vector Convert w/ round Unsigned Dword to Single-Prcsn fmt
xvcvuxwsp     VSX Vector Convert w/ round Unsigned Word to Single-Prcsn fmt
Table 38.VSX Vector BFP Convert From Integer Instructions

7.6.1.11 VSX Binary Floating-Point Math Support Instructions

7.6.1.11.1 VSX Scalar BFP Math Support Instructions

Mnemonic      Instruction Name
xscmpexpdp    VSX Scalar Compare Exponents Double-Prcsn
xscmpexpqp    VSX Scalar Compare Exponents Quad-Prcsn
xsiexpdp      VSX Scalar Insert Exponent Double-Prcsn
xsiexpqp      VSX Scalar Insert Exponent Quad-Prcsn
xststdcdp     VSX Scalar Test Data Class Double-Prcsn
xststdcqp     VSX Scalar Test Data Class Quad-Prcsn
xststdcsp     VSX Scalar Test Data Class Single-Prcsn
xsxexpdp      VSX Scalar Extract Exponent Double-Prcsn
xsxexpqp      VSX Scalar Extract Exponent Quad-Prcsn
Table 39. VSX Scalar BFP Math Support Instructions

Mnemonic      Instruction Name
xsxsigdp      VSX Scalar Extract Significand Double-Prcsn
xsxsigqp      VSX Scalar Extract Significand Quad-Prcsn
Table 39. VSX Scalar BFP Math Support Instructions

7.6.1.11.2 VSX Vector BFP Math Support Instructions

Mnemonic      Instruction Name
xviexpdp      VSX Vector Insert Exponent Double-Prcsn
xviexpsp      VSX Vector Insert Exponent Single-Prcsn
xvtstdcdp     VSX Vector Test Data Class Double-Prcsn
xvtstdcsp     VSX Vector Test Data Class Single-Prcsn
xvxexpdp      VSX Vector Extract Exponent Double-Prcsn
xvxexpsp      VSX Vector Extract Exponent Single-Prcsn
xvxsigdp      VSX Vector Extract Significand Double-Prcsn
xvxsigsp      VSX Vector Extract Significand Single-Prcsn
Table 40. VSX Vector BFP Math Support Instructions

7.6.1.12 VSX Vector Logical Instructions

7.6.1.12.1 VSX Vector Logical Instructions

Mnemonic      Instruction Name
xxland        VSX Vector Logical AND
xxlandc       VSX Vector Logical AND with Complement
xxleqv        VSX Vector Logical Equivalence
xxlnand       VSX Vector Logical NAND
xxlnor        VSX Vector Logical NOR
xxlor         VSX Vector Logical OR
xxlorc        VSX Vector Logical OR with Complement
xxlxor        VSX Vector Logical XOR
Table 41.VSX Logical Instructions

7.6.1.12.2 VSX Vector Select Instruction

Mnemonic      Instruction Name
xxsel         VSX Vector Select
Table 42.VSX Vector Select Instruction

7.6.1.13 VSX Vector Permute-class Instructions

7.6.1.13.1 VSX Vector Byte-Reverse Instructions

Mnemonic      Instruction Name
xxbrd         VSX Vector Byte-Reverse Dword
xxbrh         VSX Vector Byte-Reverse Hword
xxbrq         VSX Vector Byte-Reverse Qword
xxbrw         VSX Vector Byte-Reverse Word
Table 43.VSX Vector Byte-Reverse Instructions

7.6.1.13.2 VSX Vector Insert/Extract Instructions

Mnemonic      Instruction Name
xxextractuw   VSX Vector Extract Unsigned Word
xxinsertw     VSX Vector Insert Word
Table 44.VSX Vector Insert/Extract Instructions

7.6.1.13.3 VSX Vector Merge Instructions

Mnemonic      Instruction Name
xxmrghw       VSX Vector Merge High Word
xxmrglw       VSX Vector Merge Low Word
Table 45.VSX Vector Merge Instructions

7.6.1.13.4 VSX Vector Splat Instructions

Mnemonic      Instruction Name
xxspltib      VSX Vector Splat Immediate Byte
xxspltw       VSX Vector Splat Word
Table 46.VSX Vector Splat Instructions

7.6.1.13.5 VSX Vector Permute Instructions

Mnemonic      Instruction Name
xxpermdi      VSX Vector Permute Dword Immediate
xxperm        VSX Vector Permute
xxpermr       VSX Vector Permute Right-indexed
Table 47.VSX Vector Permute Instruction

7.6.1.13.6 VSX Vector Shift Left Double Instructions

Mnemonic      Instruction Name
xxsldwi       VSX Vector Shift Left Double by Word Immediate
Table 48.VSX Vector Shift Left Double Instruction