Available on PowerPC or PowerPC-64 only.
Expand description
PowerPC AltiVec intrinsics.
AltiVec is a brandname trademarked by Freescale (previously Motorola) for
the standard Category:Vector
part of the Power ISA v.2.03 specification.
This Category is also known as VMX (used by IBM), and “Velocity Engine” (a
brand name previously used by Apple).
The references are: POWER ISA v2.07B (for POWER8 & POWER8 with NVIDIA NVlink) and POWER ISA v3.0B (for POWER9).
Re-exports§
pub use self::endian::*;
Modules§
Structs§
- vector_
bool_ char Experimental - PowerPC-specific 128-bit wide vector mask of sixteen packed elements
- vector_
bool_ int Experimental - PowerPC-specific 128-bit wide vector mask of four packed elements
- vector_
bool_ short Experimental - PowerPC-specific 128-bit wide vector mask of eight packed elements
- vector_
float Experimental - PowerPC-specific 128-bit wide vector of four packed
f32
- vector_
signed_ char Experimental - PowerPC-specific 128-bit wide vector of sixteen packed
i8
- vector_
signed_ int Experimental - PowerPC-specific 128-bit wide vector of four packed
i32
- vector_
signed_ short Experimental - PowerPC-specific 128-bit wide vector of eight packed
i16
- vector_
unsigned_ char Experimental - PowerPC-specific 128-bit wide vector of sixteen packed
u8
- vector_
unsigned_ int Experimental - PowerPC-specific 128-bit wide vector of four packed
u32
- vector_
unsigned_ short Experimental - PowerPC-specific 128-bit wide vector of eight packed
u16
Functions§
- lvebx 🔒 ⚠
- lvehx 🔒 ⚠
- lvewx 🔒 ⚠
- lvx 🔒 ⚠
- lvxl 🔒 ⚠
- mfvscr 🔒 ⚠
- stvebx 🔒 ⚠
- stvehx 🔒 ⚠
- stvewx 🔒 ⚠
- stvx 🔒 ⚠
- stvxl 🔒 ⚠
- vaddcuw 🔒 ⚠
- vaddsbs 🔒 ⚠
- vaddshs 🔒 ⚠
- vaddsws 🔒 ⚠
- vaddubs 🔒 ⚠
- vadduhs 🔒 ⚠
- vadduws 🔒 ⚠
- vavgsb 🔒 ⚠
- vavgsh 🔒 ⚠
- vavgsw 🔒 ⚠
- vavgub 🔒 ⚠
- vavguh 🔒 ⚠
- vavguw 🔒 ⚠
- vcfsx 🔒 ⚠
- vcfux 🔒 ⚠
- vcmpbfp 🔒 ⚠
- vcmpbfp_
p 🔒 ⚠ - vcmpeqfp_
p 🔒 ⚠ - vcmpequb 🔒 ⚠
- vcmpequb_
p 🔒 ⚠ - vcmpequh 🔒 ⚠
- vcmpequh_
p 🔒 ⚠ - vcmpequw 🔒 ⚠
- vcmpequw_
p 🔒 ⚠ - vcmpgefp 🔒 ⚠
- vcmpgefp_
p 🔒 ⚠ - vcmpgtfp_
p 🔒 ⚠ - vcmpgtsb 🔒 ⚠
- vcmpgtsb_
p 🔒 ⚠ - vcmpgtsh 🔒 ⚠
- vcmpgtsh_
p 🔒 ⚠ - vcmpgtsw 🔒 ⚠
- vcmpgtsw_
p 🔒 ⚠ - vcmpgtub 🔒 ⚠
- vcmpgtub_
p 🔒 ⚠ - vcmpgtuh 🔒 ⚠
- vcmpgtuh_
p 🔒 ⚠ - vcmpgtuw 🔒 ⚠
- vcmpgtuw_
p 🔒 ⚠ - vcmpneb 🔒 ⚠
- vcmpneh 🔒 ⚠
- vcmpnew 🔒 ⚠
- vctsxs 🔒 ⚠
- vctuxs 🔒 ⚠
- vexptefp 🔒 ⚠
- vlogefp 🔒 ⚠
- vmaxsb 🔒 ⚠
- vmaxsh 🔒 ⚠
- vmaxsw 🔒 ⚠
- vmaxub 🔒 ⚠
- vmaxuh 🔒 ⚠
- vmaxuw 🔒 ⚠
- vmhaddshs 🔒 ⚠
- vmhraddshs 🔒 ⚠
- vminsb 🔒 ⚠
- vminsh 🔒 ⚠
- vminsw 🔒 ⚠
- vminub 🔒 ⚠
- vminuh 🔒 ⚠
- vminuw 🔒 ⚠
- vmsummbm 🔒 ⚠
- vmsumshm 🔒 ⚠
- vmsumshs 🔒 ⚠
- vmsumubm 🔒 ⚠
- vmsumuhm 🔒 ⚠
- vmsumuhs 🔒 ⚠
- vmulesb 🔒 ⚠
- vmulesh 🔒 ⚠
- vmuleub 🔒 ⚠
- vmuleuh 🔒 ⚠
- vmulosb 🔒 ⚠
- vmulosh 🔒 ⚠
- vmuloub 🔒 ⚠
- vmulouh 🔒 ⚠
- vnmsubfp 🔒 ⚠
- vperm 🔒 ⚠
- vpkshss 🔒 ⚠
- vpkshus 🔒 ⚠
- vpkswss 🔒 ⚠
- vpkswus 🔒 ⚠
- vpkuhus 🔒 ⚠
- vpkuwus 🔒 ⚠
- vrfin 🔒 ⚠
- vsl 🔒 ⚠
- vslo 🔒 ⚠
- vslv 🔒 ⚠
- vsr 🔒 ⚠
- vsrab 🔒 ⚠
- vsrah 🔒 ⚠
- vsraw 🔒 ⚠
- vsro 🔒 ⚠
- vsrv 🔒 ⚠
- vsubcuw 🔒 ⚠
- vsubsbs 🔒 ⚠
- vsubshs 🔒 ⚠
- vsubsws 🔒 ⚠
- vsububs 🔒 ⚠
- vsubuhs 🔒 ⚠
- vsubuws 🔒 ⚠
- vsum2sws 🔒 ⚠
- vsum4sbs 🔒 ⚠
- vsum4shs 🔒 ⚠
- vsum4ubs 🔒 ⚠
- vupkhsb 🔒 ⚠
- vupkhsh 🔒 ⚠
- vupklsb 🔒 ⚠
- vupklsh 🔒 ⚠
- vec_abs⚠
Experimental altivec
- Vector abs.
- vec_
abss ⚠Experimental altivec
- Vector abss.
- vec_add⚠
Experimental altivec
- Vector add.
- vec_
addc ⚠Experimental altivec
- Vector addc.
- vec_
adde ⚠Experimental altivec
- Vector Add Extended
- vec_
adds ⚠Experimental altivec
- Vector adds.
- vec_
all_ ⚠eq Experimental altivec
- Vector All Elements Equal
- vec_
all_ ⚠ge Experimental altivec
- Vector All Elements Greater or Equal
- vec_
all_ ⚠gt Experimental altivec
- Vector All Elements Greater Than
- vec_
all_ ⚠in Experimental altivec
- Vector All In
- vec_
all_ ⚠le Experimental altivec
- Vector All Elements Less Than or Equal
- vec_
all_ ⚠lt Experimental altivec
- Vector All Elements Less Than
- vec_
all_ ⚠nan Experimental altivec
- All Elements Not a Number
- vec_
all_ ⚠ne Experimental altivec
- Vector All Elements Not Equal
- vec_
all_ ⚠nge Experimental altivec
- All Elements Not Greater Than or Equal
- vec_
all_ ⚠ngt Experimental altivec
- All Elements Not Greater Than
- vec_
all_ ⚠nle Experimental altivec
- All Elements Not Less Than or Equal
- vec_
all_ ⚠nlt Experimental altivec
- All Elements Not Less Than
- vec_
all_ ⚠numeric Experimental altivec
- All Elements Numeric
- vec_and⚠
Experimental altivec
- Vector and.
- vec_
andc ⚠Experimental altivec
- Vector andc.
- vec_
any_ ⚠eq Experimental altivec
- Vector All Elements Equal
- vec_
any_ ⚠ge Experimental altivec
- Vector Any Element Greater or Equal
- vec_
any_ ⚠gt Experimental altivec
- Vector Any Element Greater Than
- vec_
any_ ⚠le Experimental altivec
- Vector Any Element Less Than or Equal
- vec_
any_ ⚠lt Experimental altivec
- Vector Any Element Less Than
- vec_
any_ ⚠nan Experimental altivec
- Any Elements Not a Number
- vec_
any_ ⚠ne Experimental altivec
- Vector Any Elements Not Equal
- vec_
any_ ⚠nge Experimental altivec
- Any Elements Not Greater Than or Equal
- vec_
any_ ⚠ngt Experimental altivec
- Any Elements Not Greater Than
- vec_
any_ ⚠nle Experimental altivec
- Any Elements Not Less Than or Equal
- vec_
any_ ⚠nlt Experimental altivec
- Any Elements Not Less Than
- vec_
any_ ⚠numeric Experimental altivec
- Any Elements Numeric
- vec_
any_ ⚠out Experimental altivec
- Any Element Out of Bounds
- vec_avg⚠
Experimental altivec
- Vector avg.
- vec_
ceil ⚠Experimental altivec
- Vector ceil.
- vec_
cmpb ⚠Experimental altivec
- Vector cmpb.
- vec_
cmpeq ⚠Experimental altivec
- Vector cmpeq.
- vec_
cmpge ⚠Experimental altivec
- Vector cmpge.
- vec_
cmpgt ⚠Experimental altivec
- Vector cmpgt.
- vec_
cmple ⚠Experimental altivec
- Vector cmple.
- vec_
cmplt ⚠Experimental altivec
- Vector cmplt.
- vec_
cmpne ⚠Experimental altivec
- Vector Compare Not Equal
- vec_
cntlz ⚠Experimental altivec
- Vector Count Leading Zeros
- vec_ctf⚠
Experimental altivec
- Vector Convert to Floating-Point
- vec_cts⚠
Experimental altivec
- Vector Convert to Signed Integer
- vec_ctu⚠
Experimental altivec
- Vector Convert to Unsigned Integer
- vec_
expte ⚠Experimental altivec
- Vector expte.
- vec_
extract ⚠Experimental altivec
- Vector Extract
- vec_
floor ⚠Experimental altivec
- Vector floor.
- vec_
insert ⚠Experimental altivec
- Vector Insert
- vec_ld⚠
Experimental altivec
- Vector Load Indexed.
- vec_lde⚠
Experimental altivec
- Vector Load Element Indexed.
- vec_ldl⚠
Experimental altivec
- Vector Load Indexed Least Recently Used.
- vec_
loge ⚠Experimental altivec
- Vector Base-2 Logarithm Estimate
- vec_
madd ⚠Experimental altivec
- Vector Multiply Add
- vec_
madds ⚠Experimental altivec
- Vector Multiply Add Saturated
- vec_max⚠
Experimental altivec
- Vector max.
- vec_
mergeh ⚠Experimental altivec
- Vector Merge High
- vec_
mergel ⚠Experimental altivec
- Vector Merge Low
- vec_
mfvscr ⚠Experimental altivec
- Move From Vector Status and Control Register.
- vec_min⚠
Experimental altivec
- Vector min.
- vec_
mladd ⚠Experimental altivec
- Vector Multiply Low and Add Unsigned Half Word
- vec_
mradds ⚠Experimental altivec
- Vector Multiply Round and Add Saturated
- vec_
msum ⚠Experimental altivec
- Vector Multiply Sum
- vec_
msums ⚠Experimental altivec
- Vector Multiply Sum Saturated
- vec_mul⚠
Experimental altivec
- Vector Multiply
- vec_
nand ⚠Experimental altivec
- Vector NAND
- vec_
nmsub ⚠Experimental altivec
- Vector Negative Multiply Subtract
- vec_nor⚠
Experimental altivec
- Vector nor.
- vec_or⚠
Experimental altivec
- Vector or.
- vec_orc⚠
Experimental altivec
- Vector OR with Complement
- vec_
pack ⚠Experimental altivec
- Vector Pack
- vec_
packs ⚠Experimental altivec
- Vector Pack Saturated
- vec_
packsu ⚠Experimental altivec
- Vector Pack Saturated Unsigned
- vec_rl⚠
Experimental altivec
- Vector Rotate Left
- vec_
round ⚠Experimental altivec
- Vector Round
- vec_sel⚠
Experimental altivec
- Vector Select
- vec_sl⚠
Experimental altivec
- Vector Shift Left
- vec_sld⚠
Experimental altivec
- Vector Shift Left Double
- vec_
sldw ⚠Experimental altivec
- Vector Shift Left Double by Words
- vec_sll⚠
Experimental altivec
- Vector Shift Left Long
- vec_slo⚠
Experimental altivec
- Vector Shift Left by Octets
- vec_slv⚠
Experimental power9-altivec
- Vector Shift Left Variable
- vec_
splat ⚠Experimental altivec
- Vector Splat
- vec_
splat_ ⚠s8 Experimental altivec
- Vector Splat to Signed Byte
- vec_
splat_ ⚠s16 Experimental altivec
- Vector Splat to Signed Halfword
- vec_
splat_ ⚠s32 Experimental altivec
- Vector Splat to Signed Word
- vec_
splat_ ⚠u8 Experimental altivec
- Vector Splat to Unsigned Byte
- vec_
splat_ ⚠u16 Experimental altivec
- Vector Splat to Unsigned Halfword
- vec_
splat_ ⚠u32 Experimental altivec
- Vector Splat to Unsigned Word
- vec_
splats ⚠Experimental altivec
- Vector splats.
- vec_sr⚠
Experimental altivec
- Vector Shift Right
- vec_sra⚠
Experimental altivec
- Vector Shift Right Algebraic
- vec_srl⚠
Experimental altivec
- Vector Shift Right Long
- vec_sro⚠
Experimental altivec
- Vector Shift Right by Octets
- vec_srv⚠
Experimental power9-altivec
- Vector Shift Right Variable
- vec_st⚠
Experimental altivec
- Vector Store Indexed
- vec_ste⚠
Experimental altivec
- Vector Store Element Indexed
- vec_stl⚠
Experimental altivec
- Vector Store Indexed Least Recently Used
- vec_sub⚠
Experimental altivec
- Vector sub.
- vec_
subc ⚠Experimental altivec
- Vector Subtract Carryout
- vec_
subs ⚠Experimental altivec
- Vector subs.
- vec_
sum4s ⚠Experimental altivec
- Vector Sum Across Partial (1/4) Saturated
- vec_
unpackh ⚠Experimental altivec
- Vector Unpack High
- vec_
unpackl ⚠Experimental altivec
- Vector Unpack Low
- vec_xl⚠
Experimental altivec
- VSX Unaligned Load
- vec_xor⚠
Experimental altivec
- Vector xor.
- vec_xst⚠
Experimental altivec
- VSX Unaligned Store