Module altivec

Source
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Β§

endian πŸ”’
Endian-biased intrinsics
sealed πŸ”’

StructsΒ§

vector_bool_charExperimental
PowerPC-specific 128-bit wide vector mask of sixteen packed elements
vector_bool_intExperimental
PowerPC-specific 128-bit wide vector mask of four packed elements
vector_bool_shortExperimental
PowerPC-specific 128-bit wide vector mask of eight packed elements
vector_floatExperimental
PowerPC-specific 128-bit wide vector of four packed f32
vector_signed_charExperimental
PowerPC-specific 128-bit wide vector of sixteen packed i8
vector_signed_intExperimental
PowerPC-specific 128-bit wide vector of four packed i32
vector_signed_shortExperimental
PowerPC-specific 128-bit wide vector of eight packed i16
vector_unsigned_charExperimental
PowerPC-specific 128-bit wide vector of sixteen packed u8
vector_unsigned_intExperimental
PowerPC-specific 128-bit wide vector of four packed u32
vector_unsigned_shortExperimental
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⚠Experimentalaltivec
Vector abs.
vec_abss⚠Experimentalaltivec
Vector abss.
vec_add⚠Experimentalaltivec
Vector add.
vec_addc⚠Experimentalaltivec
Vector addc.
vec_adde⚠Experimentalaltivec
Vector Add Extended
vec_adds⚠Experimentalaltivec
Vector adds.
vec_all_eq⚠Experimentalaltivec
Vector All Elements Equal
vec_all_ge⚠Experimentalaltivec
Vector All Elements Greater or Equal
vec_all_gt⚠Experimentalaltivec
Vector All Elements Greater Than
vec_all_in⚠Experimentalaltivec
Vector All In
vec_all_le⚠Experimentalaltivec
Vector All Elements Less Than or Equal
vec_all_lt⚠Experimentalaltivec
Vector All Elements Less Than
vec_all_nan⚠Experimentalaltivec
All Elements Not a Number
vec_all_ne⚠Experimentalaltivec
Vector All Elements Not Equal
vec_all_nge⚠Experimentalaltivec
All Elements Not Greater Than or Equal
vec_all_ngt⚠Experimentalaltivec
All Elements Not Greater Than
vec_all_nle⚠Experimentalaltivec
All Elements Not Less Than or Equal
vec_all_nlt⚠Experimentalaltivec
All Elements Not Less Than
vec_all_numeric⚠Experimentalaltivec
All Elements Numeric
vec_and⚠Experimentalaltivec
Vector and.
vec_andc⚠Experimentalaltivec
Vector andc.
vec_any_eq⚠Experimentalaltivec
Vector All Elements Equal
vec_any_ge⚠Experimentalaltivec
Vector Any Element Greater or Equal
vec_any_gt⚠Experimentalaltivec
Vector Any Element Greater Than
vec_any_le⚠Experimentalaltivec
Vector Any Element Less Than or Equal
vec_any_lt⚠Experimentalaltivec
Vector Any Element Less Than
vec_any_nan⚠Experimentalaltivec
Any Elements Not a Number
vec_any_ne⚠Experimentalaltivec
Vector Any Elements Not Equal
vec_any_nge⚠Experimentalaltivec
Any Elements Not Greater Than or Equal
vec_any_ngt⚠Experimentalaltivec
Any Elements Not Greater Than
vec_any_nle⚠Experimentalaltivec
Any Elements Not Less Than or Equal
vec_any_nlt⚠Experimentalaltivec
Any Elements Not Less Than
vec_any_numeric⚠Experimentalaltivec
Any Elements Numeric
vec_any_out⚠Experimentalaltivec
Any Element Out of Bounds
vec_avg⚠Experimentalaltivec
Vector avg.
vec_ceil⚠Experimentalaltivec
Vector ceil.
vec_cmpb⚠Experimentalaltivec
Vector cmpb.
vec_cmpeq⚠Experimentalaltivec
Vector cmpeq.
vec_cmpge⚠Experimentalaltivec
Vector cmpge.
vec_cmpgt⚠Experimentalaltivec
Vector cmpgt.
vec_cmple⚠Experimentalaltivec
Vector cmple.
vec_cmplt⚠Experimentalaltivec
Vector cmplt.
vec_cmpne⚠Experimentalaltivec
Vector Compare Not Equal
vec_cntlz⚠Experimentalaltivec
Vector Count Leading Zeros
vec_ctf⚠Experimentalaltivec
Vector Convert to Floating-Point
vec_cts⚠Experimentalaltivec
Vector Convert to Signed Integer
vec_ctu⚠Experimentalaltivec
Vector Convert to Unsigned Integer
vec_expte⚠Experimentalaltivec
Vector expte.
vec_extract⚠Experimentalaltivec
Vector Extract
vec_floor⚠Experimentalaltivec
Vector floor.
vec_insert⚠Experimentalaltivec
Vector Insert
vec_ld⚠Experimentalaltivec
Vector Load Indexed.
vec_lde⚠Experimentalaltivec
Vector Load Element Indexed.
vec_ldl⚠Experimentalaltivec
Vector Load Indexed Least Recently Used.
vec_loge⚠Experimentalaltivec
Vector Base-2 Logarithm Estimate
vec_madd⚠Experimentalaltivec
Vector Multiply Add
vec_madds⚠Experimentalaltivec
Vector Multiply Add Saturated
vec_max⚠Experimentalaltivec
Vector max.
vec_mergeh⚠Experimentalaltivec
Vector Merge High
vec_mergel⚠Experimentalaltivec
Vector Merge Low
vec_mfvscr⚠Experimentalaltivec
Move From Vector Status and Control Register.
vec_min⚠Experimentalaltivec
Vector min.
vec_mladd⚠Experimentalaltivec
Vector Multiply Low and Add Unsigned Half Word
vec_mradds⚠Experimentalaltivec
Vector Multiply Round and Add Saturated
vec_msum⚠Experimentalaltivec
Vector Multiply Sum
vec_msums⚠Experimentalaltivec
Vector Multiply Sum Saturated
vec_mul⚠Experimentalaltivec
Vector Multiply
vec_nand⚠Experimentalaltivec
Vector NAND
vec_nmsub⚠Experimentalaltivec
Vector Negative Multiply Subtract
vec_nor⚠Experimentalaltivec
Vector nor.
vec_or⚠Experimentalaltivec
Vector or.
vec_orc⚠Experimentalaltivec
Vector OR with Complement
vec_pack⚠Experimentalaltivec
Vector Pack
vec_packs⚠Experimentalaltivec
Vector Pack Saturated
vec_packsu⚠Experimentalaltivec
Vector Pack Saturated Unsigned
vec_rl⚠Experimentalaltivec
Vector Rotate Left
vec_round⚠Experimentalaltivec
Vector Round
vec_sel⚠Experimentalaltivec
Vector Select
vec_sl⚠Experimentalaltivec
Vector Shift Left
vec_sld⚠Experimentalaltivec
Vector Shift Left Double
vec_sldw⚠Experimentalaltivec
Vector Shift Left Double by Words
vec_sll⚠Experimentalaltivec
Vector Shift Left Long
vec_slo⚠Experimentalaltivec
Vector Shift Left by Octets
vec_slv⚠Experimentalpower9-altivec
Vector Shift Left Variable
vec_splat⚠Experimentalaltivec
Vector Splat
vec_splat_s8⚠Experimentalaltivec
Vector Splat to Signed Byte
vec_splat_s16⚠Experimentalaltivec
Vector Splat to Signed Halfword
vec_splat_s32⚠Experimentalaltivec
Vector Splat to Signed Word
vec_splat_u8⚠Experimentalaltivec
Vector Splat to Unsigned Byte
vec_splat_u16⚠Experimentalaltivec
Vector Splat to Unsigned Halfword
vec_splat_u32⚠Experimentalaltivec
Vector Splat to Unsigned Word
vec_splats⚠Experimentalaltivec
Vector splats.
vec_sr⚠Experimentalaltivec
Vector Shift Right
vec_sra⚠Experimentalaltivec
Vector Shift Right Algebraic
vec_srl⚠Experimentalaltivec
Vector Shift Right Long
vec_sro⚠Experimentalaltivec
Vector Shift Right by Octets
vec_srv⚠Experimentalpower9-altivec
Vector Shift Right Variable
vec_st⚠Experimentalaltivec
Vector Store Indexed
vec_ste⚠Experimentalaltivec
Vector Store Element Indexed
vec_stl⚠Experimentalaltivec
Vector Store Indexed Least Recently Used
vec_sub⚠Experimentalaltivec
Vector sub.
vec_subc⚠Experimentalaltivec
Vector Subtract Carryout
vec_subs⚠Experimentalaltivec
Vector subs.
vec_sum4s⚠Experimentalaltivec
Vector Sum Across Partial (1/4) Saturated
vec_unpackh⚠Experimentalaltivec
Vector Unpack High
vec_unpackl⚠Experimentalaltivec
Vector Unpack Low
vec_xl⚠Experimentalaltivec
VSX Unaligned Load
vec_xor⚠Experimentalaltivec
Vector xor.
vec_xst⚠Experimentalaltivec
VSX Unaligned Store