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Β§
- fshlb π β
- fshlh π β
- fshlw π β
- 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