.. default-domain:: chpl .. module:: IntrinX86_256 IntrinX86_256 ============= **Usage** .. code-block:: chapel use IntrinX86_256; or .. code-block:: chapel import IntrinX86_256; .. type:: type vec32x8r .. type:: type vec64x4r .. type:: type vec8x32i .. type:: type vec16x16i .. type:: type vec32x8i .. type:: type vec64x4i .. type:: type vec8x32u .. type:: type vec16x16u .. type:: type vec32x8u .. type:: type vec64x4u .. function:: proc numBits(type t) param: int where t == vec32x8r || t == vec64x4r || t == vec8x32i || t == vec16x16i || t == vec32x8i || t == vec64x4i || t == vec8x32u || t == vec16x16u || t == vec32x8u || t == vec64x4u .. method:: proc type vec32x8r.numBits param: int .. method:: proc type vec64x4r.numBits param: int .. method:: proc type vec8x32i.numBits param: int .. method:: proc type vec16x16i.numBits param: int .. method:: proc type vec32x8i.numBits param: int .. method:: proc type vec64x4i.numBits param: int .. method:: proc type vec8x32u.numBits param: int .. method:: proc type vec16x16u.numBits param: int .. method:: proc type vec32x8u.numBits param: int .. method:: proc type vec64x4u.numBits param: int .. function:: proc typeToSuffix(type t) param: string .. method:: proc type vec32x8r.typeSuffix param: string .. method:: proc type vec64x4r.typeSuffix param: string .. method:: proc type vec8x32i.typeSuffix param: string .. method:: proc type vec16x16i.typeSuffix param: string .. method:: proc type vec32x8i.typeSuffix param: string .. method:: proc type vec64x4i.typeSuffix param: string .. method:: proc type vec8x32u.typeSuffix param: string .. method:: proc type vec16x16u.typeSuffix param: string .. method:: proc type vec32x8u.typeSuffix param: string .. method:: proc type vec64x4u.typeSuffix param: string .. function:: proc vecTypeStr(type t) param: string .. method:: proc type vec32x8r.typeStr param: string .. method:: proc type vec64x4r.typeStr param: string .. method:: proc type vec8x32i.typeStr param: string .. method:: proc type vec16x16i.typeStr param: string .. method:: proc type vec32x8i.typeStr param: string .. method:: proc type vec64x4i.typeStr param: string .. method:: proc type vec8x32u.typeStr param: string .. method:: proc type vec16x16u.typeStr param: string .. method:: proc type vec32x8u.typeStr param: string .. method:: proc type vec64x4u.typeStr param: string .. function:: proc halfVectorHW(type t) type .. function:: proc offset(type vecType, type laneType) param: int .. function:: proc numLanes(type vecType, type laneType) param: int .. function:: proc x8664_32x8r type .. function:: proc x8664_64x4r type .. function:: proc x8664_8x32i type .. function:: proc x8664_16x16i type .. function:: proc x8664_32x8i type .. function:: proc x8664_64x4i type .. function:: proc getGenericInsertExtractName(param base: string, type laneType, param i: int) param: string .. function:: proc generic256Extract(type laneType, x: ?vecType, param idx: int, type halfVectorTy): laneType .. function:: proc generic256Insert(x: ?vecType, y: ?laneType, param idx: int, type halfVectorTy): vecType .. record:: x8664_32x8r_extension .. attribute:: type base .. method:: proc type vecType type .. method:: proc type laneType type .. method:: proc type mmPrefix param: string .. method:: proc type extract() .. method:: proc type extract(x: vecType, param idx: int): laneType .. method:: proc type insert() .. method:: proc type insert(x: vecType, y: laneType, param idx: int): vecType .. method:: proc type interleaveLower(x: vecType, y: vecType): vecType .. method:: proc type interleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type deinterleaveLower(x: vecType, y: vecType): vecType .. method:: proc type deinterleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type hadd(x: vecType, y: vecType): vecType .. method:: proc type abs(x: vecType): vecType .. record:: x8664_64x4r_extension .. attribute:: type base .. method:: proc type vecType type .. method:: proc type laneType type .. method:: proc type mmPrefix param: string .. method:: proc type insert() .. method:: proc type insert(x: vecType, y: laneType, param idx: int): vecType .. method:: proc type interleaveLower(x: vecType, y: vecType): vecType .. method:: proc type interleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type rsqrt(x: vecType): vecType .. method:: proc type abs(x: vecType): vecType .. record:: x8664_8x32i_extension .. attribute:: type base .. method:: proc type vecType type .. method:: proc type laneType type .. method:: proc type mmPrefix param: string .. method:: proc type extract() .. method:: proc type extract(x: vecType, param idx: int): laneType .. method:: proc type insert() .. method:: proc type insert(x: vecType, y: laneType, param idx: int): vecType .. method:: proc type interleaveLower(x: vecType, y: vecType): vecType .. method:: proc type interleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type mul(x: vecType, y: vecType): vecType .. method:: proc type div(x: vecType, y: vecType): vecType .. method:: proc type hadd(x: vecType, y: vecType): vecType .. method:: proc type fmadd(x: vecType, y: vecType, z: vecType): vecType .. method:: proc type fmsub(x: vecType, y: vecType, z: vecType): vecType .. record:: x8664_16x16i_extension .. attribute:: type base .. method:: proc type vecType type .. method:: proc type laneType type .. method:: proc type mmPrefix param: string .. method:: proc type extract() .. method:: proc type extract(x: vecType, param idx: int): laneType .. method:: proc type insert() .. method:: proc type insert(x: vecType, y: laneType, param idx: int): vecType .. method:: proc type interleaveLower(x: vecType, y: vecType): vecType .. method:: proc type interleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type mul(x: vecType, y: vecType): vecType .. method:: proc type div(x: vecType, y: vecType): vecType .. method:: proc type hadd(x: vecType, y: vecType): vecType .. method:: proc type fmadd(x: vecType, y: vecType, z: vecType): vecType .. method:: proc type fmsub(x: vecType, y: vecType, z: vecType): vecType .. record:: x8664_32x8i_extension .. attribute:: type base .. method:: proc type vecType type .. method:: proc type laneType type .. method:: proc type mmPrefix param: string .. method:: proc type extract() .. method:: proc type extract(x: vecType, param idx: int): laneType .. method:: proc type insert() .. method:: proc type insert(x: vecType, y: laneType, param idx: int): vecType .. method:: proc type interleaveLower(x: vecType, y: vecType): vecType .. method:: proc type interleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type deinterleaveLower(x: vecType, y: vecType): vecType .. method:: proc type deinterleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type mul(x: vecType, y: vecType): vecType .. method:: proc type div(x: vecType, y: vecType): vecType .. method:: proc type hadd(x: vecType, y: vecType): vecType .. method:: proc type fmadd(x: vecType, y: vecType, z: vecType): vecType .. method:: proc type fmsub(x: vecType, y: vecType, z: vecType): vecType .. record:: x8664_64x4i_extension .. attribute:: type base .. method:: proc type vecType type .. method:: proc type laneType type .. method:: proc type mmPrefix param: string .. method:: proc type extract() .. method:: proc type extract(x: vecType, param idx: int): laneType .. method:: proc type insert() .. method:: proc type insert(x: vecType, y: laneType, param idx: int): vecType .. method:: proc type interleaveLower(x: vecType, y: vecType): vecType .. method:: proc type interleaveUpper(x: vecType, y: vecType): vecType .. method:: proc type splat(x: laneType): vecType .. method:: proc type set(xs ...): vecType .. method:: proc type div(x: vecType, y: vecType): vecType .. method:: proc type hadd(x: vecType, y: vecType): vecType .. method:: proc type fmadd(x: vecType, y: vecType, z: vecType): vecType .. method:: proc type fmsub(x: vecType, y: vecType, z: vecType): vecType