mirror of
https://github.com/golang/go.git
synced 2025-12-28 06:34:04 +00:00
simd/archsimd: reword documentation for conversion ops
Use more compact wording for extension, truncation, and saturation. Say that we pack the results to the low elements and zero the high elements if and only if the result has more elements. Change-Id: Iae98d3c6ea6b5b5fa0acd548471e8d6c70a26d2d Reviewed-on: https://go-review.googlesource.com/c/go/+/730940 LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com> Reviewed-by: David Chase <drchase@google.com>
This commit is contained in:
parent
ad91f5d241
commit
cfc024daeb
@ -135,6 +135,19 @@ func (o *Operation) DecodeUnified(v *unify.Value) error {
|
||||
|
||||
o.In = append(o.rawOperation.In, o.rawOperation.InVariant...)
|
||||
|
||||
// For down conversions, the high elements are zeroed if the result has more elements.
|
||||
// TODO: we should encode this logic in the YAML file, instead of hardcoding it here.
|
||||
if len(o.In) > 0 && len(o.Out) > 0 {
|
||||
inLanes := o.In[0].Lanes
|
||||
outLanes := o.Out[0].Lanes
|
||||
if inLanes != nil && outLanes != nil && *inLanes < *outLanes {
|
||||
if (strings.Contains(o.Go, "Saturate") || strings.Contains(o.Go, "Truncate")) &&
|
||||
!strings.HasSuffix(o.Go, "Concat") {
|
||||
o.Documentation += "\n// Results are packed to low elements in the returned vector, its upper elements are zeroed."
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@ -44,124 +44,174 @@
|
||||
// NAME converts element values to float64.
|
||||
|
||||
# Int <-> Int conversions
|
||||
- go: "(Extend|Saturate|Truncate)?ToInt8"
|
||||
- go: "TruncateToInt8"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to int8.
|
||||
- go: "(Extend|Saturate|Truncate)?ToInt16(Concat)?"
|
||||
// NAME truncates element values to int8.
|
||||
- go: "SaturateToInt8"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to int16.
|
||||
- go: "(Extend|Saturate|Truncate)?ToInt32"
|
||||
// NAME converts element values to int8 with signed saturation.
|
||||
- go: "ExtendToInt16(Concat)?"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to int32.
|
||||
- go: "(Extend|Saturate|Truncate)?ToInt64"
|
||||
// NAME sign-extends element values to int16.
|
||||
- go: "TruncateToInt16(Concat)?"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to int64.
|
||||
- go: "(Extend|Saturate|Truncate)?ToUint8"
|
||||
// NAME truncates element values to int16.
|
||||
- go: "SaturateToInt16(Concat)?"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint8.
|
||||
- go: "(Extend|Saturate|Truncate)?ToUint16(Concat)?"
|
||||
// NAME converts element values to int16 with signed saturation.
|
||||
- go: "ExtendToInt32"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint16.
|
||||
- go: "(Extend|Saturate|Truncate)?ToUint32"
|
||||
// NAME sign-extends element values to int32.
|
||||
- go: "TruncateToInt32"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME truncates element values to int32.
|
||||
- go: "SaturateToInt32"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to int32 with signed saturation.
|
||||
- go: "ExtendToInt64"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME sign-extends element values to int64.
|
||||
- go: "TruncateToUint8"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME truncates element values to uint8.
|
||||
- go: "SaturateToUint8"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint8 with unsigned saturation.
|
||||
- go: "ExtendToUint16(Concat)?"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME zero-extends element values to uint16.
|
||||
- go: "TruncateToUint16(Concat)?"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME truncates element values to uint16.
|
||||
- go: "SaturateToUint16(Concat)?"
|
||||
commutative: false
|
||||
regexpTag: "convert"
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint16 with unsigned saturation.
|
||||
- go: "ExtendToUint32"
|
||||
regexpTag: "convert"
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint32.
|
||||
- go: "(Extend|Saturate|Truncate)?ToUint64"
|
||||
// NAME zero-extends element values to uint32.
|
||||
- go: "TruncateToUint32"
|
||||
regexpTag: "convert"
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint64.
|
||||
// NAME truncates element values to uint32.
|
||||
- go: "SaturateToUint32"
|
||||
regexpTag: "convert"
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts element values to uint32 with unsigned saturation.
|
||||
- go: "ExtendToUint64"
|
||||
regexpTag: "convert"
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME zero-extends element values to uint64.
|
||||
# low-part only Int <-> Int conversions
|
||||
- go: ExtendLo8ToUint16x8
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 8 lowest vector element values to uint16.
|
||||
// NAME zero-extends 8 lowest vector element values to uint16.
|
||||
- go: ExtendLo8ToInt16x8
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 8 lowest vector element values to int16.
|
||||
// NAME sign-extends 8 lowest vector element values to int16.
|
||||
- go: ExtendLo4ToUint32x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to uint32.
|
||||
// NAME zero-extends 4 lowest vector element values to uint32.
|
||||
- go: ExtendLo4ToInt32x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to int32.
|
||||
// NAME sign-extends 4 lowest vector element values to int32.
|
||||
- go: ExtendLo2ToUint64x2
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 2 lowest vector element values to uint64.
|
||||
// NAME zero-extends 2 lowest vector element values to uint64.
|
||||
- go: ExtendLo2ToInt64x2
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 2 lowest vector element values to int64.
|
||||
// NAME sign-extends 2 lowest vector element values to int64.
|
||||
- go: ExtendLo2ToUint64x2
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 2 lowest vector element values to uint64.
|
||||
// NAME zero-extends 2 lowest vector element values to uint64.
|
||||
- go: ExtendLo4ToUint64x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to uint64.
|
||||
// NAME zero-extends 4 lowest vector element values to uint64.
|
||||
- go: ExtendLo2ToInt64x2
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 2 lowest vector element values to int64.
|
||||
// NAME sign-extends 2 lowest vector element values to int64.
|
||||
- go: ExtendLo4ToInt64x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to int64.
|
||||
// NAME sign-extends 4 lowest vector element values to int64.
|
||||
- go: ExtendLo4ToUint32x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to uint32.
|
||||
// NAME zero-extends 4 lowest vector element values to uint32.
|
||||
- go: ExtendLo8ToUint32x8
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 8 lowest vector element values to uint32.
|
||||
// NAME zero-extends 8 lowest vector element values to uint32.
|
||||
- go: ExtendLo4ToInt32x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to int32.
|
||||
// NAME sign-extends 4 lowest vector element values to int32.
|
||||
- go: ExtendLo8ToInt32x8
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 8 lowest vector element values to int32.
|
||||
// NAME sign-extends 8 lowest vector element values to int32.
|
||||
- go: ExtendLo2ToUint64x2
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 2 lowest vector element values to uint64.
|
||||
// NAME zero-extends 2 lowest vector element values to uint64.
|
||||
- go: ExtendLo4ToUint64x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to uint64.
|
||||
// NAME zero-extends 4 lowest vector element values to uint64.
|
||||
- go: ExtendLo8ToUint64x8
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 8 lowest vector element values to uint64.
|
||||
// NAME zero-extends 8 lowest vector element values to uint64.
|
||||
- go: ExtendLo2ToInt64x2
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 2 lowest vector element values to int64.
|
||||
// NAME sign-extends 2 lowest vector element values to int64.
|
||||
- go: ExtendLo4ToInt64x4
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 4 lowest vector element values to int64.
|
||||
// NAME sign-extends 4 lowest vector element values to int64.
|
||||
- go: ExtendLo8ToInt64x8
|
||||
commutative: false
|
||||
documentation: !string |-
|
||||
// NAME converts 8 lowest vector element values to int64.
|
||||
// NAME sign-extends 8 lowest vector element values to int64.
|
||||
|
||||
@ -138,9 +138,6 @@
|
||||
# Widening integer conversions.
|
||||
# uint8 -> uint16
|
||||
- go: ExtendToUint16
|
||||
addDoc: &zeroExtendDoc
|
||||
!string |-
|
||||
// The result vector's elements are zero-extended.
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBW"
|
||||
in:
|
||||
@ -156,7 +153,6 @@
|
||||
- go: ExtendToUint16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBW"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- &u8x32
|
||||
base: uint
|
||||
@ -171,9 +167,6 @@
|
||||
- go: ExtendToInt16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBW"
|
||||
addDoc: &signExtendDoc
|
||||
!string |-
|
||||
// The result vector's elements are sign-extended.
|
||||
in:
|
||||
- &i8x16
|
||||
base: int
|
||||
@ -187,7 +180,6 @@
|
||||
- go: ExtendToInt16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBW"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- &i8x32
|
||||
base: int
|
||||
@ -202,7 +194,6 @@
|
||||
- go: ExtendToUint32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXWD"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- &u16x8
|
||||
base: uint
|
||||
@ -216,7 +207,6 @@
|
||||
- go: ExtendToUint32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXWD"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u16x16
|
||||
out:
|
||||
@ -228,7 +218,6 @@
|
||||
- go: ExtendToInt32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXWD"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- &i16x8
|
||||
base: int
|
||||
@ -242,7 +231,6 @@
|
||||
- go: ExtendToInt32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXWD"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i16x16
|
||||
out:
|
||||
@ -254,7 +242,6 @@
|
||||
- go: ExtendToUint64
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXDQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- &u32x4
|
||||
base: uint
|
||||
@ -268,7 +255,6 @@
|
||||
- go: ExtendToUint64
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXDQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u32x8
|
||||
out:
|
||||
@ -280,7 +266,6 @@
|
||||
- go: ExtendToInt64
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXDQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- &i32x4
|
||||
base: int
|
||||
@ -294,7 +279,6 @@
|
||||
- go: ExtendToInt64
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXDQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i32x8
|
||||
out:
|
||||
@ -306,7 +290,6 @@
|
||||
- go: ExtendToUint64
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXWQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u16x8
|
||||
out:
|
||||
@ -315,7 +298,6 @@
|
||||
- go: ExtendToInt64
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXWQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i16x8
|
||||
out:
|
||||
@ -324,7 +306,6 @@
|
||||
- go: ExtendToUint32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBD"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -333,7 +314,6 @@
|
||||
- go: ExtendToInt32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBD"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
@ -342,10 +322,6 @@
|
||||
- go: TruncateToInt8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOV[WDQ]B"
|
||||
addDoc: &truncDocZeroUpper
|
||||
!string |-
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -354,7 +330,6 @@
|
||||
- go: TruncateToUint8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOV[WDQ]B"
|
||||
addDoc: *truncDocZeroUpper
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -363,9 +338,6 @@
|
||||
- go: TruncateToInt8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOV[WDQ]B"
|
||||
addDoc: &truncDoc
|
||||
!string |-
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -374,7 +346,6 @@
|
||||
- go: TruncateToUint8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOV[WDQ]B"
|
||||
addDoc: *truncDoc
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -383,7 +354,6 @@
|
||||
- go: TruncateToInt16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOV[DQ]W"
|
||||
addDoc: *truncDoc
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -391,7 +361,6 @@
|
||||
- go: TruncateToUint16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOV[DQ]W"
|
||||
addDoc: *truncDoc
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -399,7 +368,6 @@
|
||||
- go: TruncateToInt32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVQD"
|
||||
addDoc: *truncDoc
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -407,7 +375,6 @@
|
||||
- go: TruncateToUint32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVQD"
|
||||
addDoc: *truncDoc
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -416,10 +383,6 @@
|
||||
- go: SaturateToInt8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVS[WDQ]B"
|
||||
addDoc: &satDocZeroUpper
|
||||
!string |-
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -428,7 +391,6 @@
|
||||
- go: SaturateToUint8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVS[WDQ]B"
|
||||
addDoc: *satDocZeroUpper
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -437,9 +399,6 @@
|
||||
- go: SaturateToInt8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVS[WDQ]B"
|
||||
addDoc: &satDoc
|
||||
!string |-
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -448,7 +407,6 @@
|
||||
- go: SaturateToUint8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVUS[WDQ]B"
|
||||
addDoc: *satDoc
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -457,7 +415,6 @@
|
||||
- go: SaturateToInt16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVS[DQ]W"
|
||||
addDoc: *satDoc
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -465,7 +422,6 @@
|
||||
- go: SaturateToUint16
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVUS[DQ]W"
|
||||
addDoc: *satDoc
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -473,7 +429,6 @@
|
||||
- go: SaturateToInt32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSQD"
|
||||
addDoc: *satDoc
|
||||
in:
|
||||
- base: int
|
||||
out:
|
||||
@ -481,7 +436,6 @@
|
||||
- go: SaturateToUint32
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVUSQD"
|
||||
addDoc: *satDoc
|
||||
in:
|
||||
- base: uint
|
||||
out:
|
||||
@ -495,7 +449,6 @@
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
in:
|
||||
- base: int
|
||||
- base: int
|
||||
@ -504,7 +457,6 @@
|
||||
- go: SaturateToUint16Concat
|
||||
regexpTag: "convert"
|
||||
asm: "VPACKUSDW"
|
||||
addDoc: *satDocConcat
|
||||
in:
|
||||
- base: uint
|
||||
- base: uint
|
||||
@ -516,7 +468,6 @@
|
||||
- go: ExtendLo8ToUint16x8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBW"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -525,7 +476,6 @@
|
||||
- go: ExtendLo8ToInt16x8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBW"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
@ -534,7 +484,6 @@
|
||||
- go: ExtendLo4ToUint32x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXWD"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u16x8
|
||||
out:
|
||||
@ -543,7 +492,6 @@
|
||||
- go: ExtendLo4ToInt32x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXWD"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i16x8
|
||||
out:
|
||||
@ -552,7 +500,6 @@
|
||||
- go: ExtendLo2ToUint64x2
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXDQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u32x4
|
||||
out:
|
||||
@ -564,7 +511,6 @@
|
||||
- go: ExtendLo2ToInt64x2
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXDQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i32x4
|
||||
out:
|
||||
@ -576,7 +522,6 @@
|
||||
- go: ExtendLo2ToUint64x2
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXWQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u16x8
|
||||
out:
|
||||
@ -584,7 +529,6 @@
|
||||
- go: ExtendLo4ToUint64x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXWQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u16x8
|
||||
out:
|
||||
@ -593,7 +537,6 @@
|
||||
- go: ExtendLo2ToInt64x2
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXWQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i16x8
|
||||
out:
|
||||
@ -601,7 +544,6 @@
|
||||
- go: ExtendLo4ToInt64x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXWQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i16x8
|
||||
out:
|
||||
@ -610,7 +552,6 @@
|
||||
- go: ExtendLo4ToUint32x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBD"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -618,7 +559,6 @@
|
||||
- go: ExtendLo8ToUint32x8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBD"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -627,7 +567,6 @@
|
||||
- go: ExtendLo4ToInt32x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBD"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
@ -635,7 +574,6 @@
|
||||
- go: ExtendLo8ToInt32x8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBD"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
@ -644,7 +582,6 @@
|
||||
- go: ExtendLo2ToUint64x2
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -652,7 +589,6 @@
|
||||
- go: ExtendLo4ToUint64x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -660,7 +596,6 @@
|
||||
- go: ExtendLo8ToUint64x8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVZXBQ"
|
||||
addDoc: *zeroExtendDoc
|
||||
in:
|
||||
- *u8x16
|
||||
out:
|
||||
@ -669,7 +604,6 @@
|
||||
- go: ExtendLo2ToInt64x2
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
@ -677,7 +611,6 @@
|
||||
- go: ExtendLo4ToInt64x4
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
@ -685,7 +618,6 @@
|
||||
- go: ExtendLo8ToInt64x8
|
||||
regexpTag: "convert"
|
||||
asm: "VPMOVSXBQ"
|
||||
addDoc: *signExtendDoc
|
||||
in:
|
||||
- *i8x16
|
||||
out:
|
||||
|
||||
@ -2356,252 +2356,216 @@ func (x Uint64x8) Expand(mask Mask64x8) Uint64x8
|
||||
|
||||
/* ExtendLo2ToInt64x2 */
|
||||
|
||||
// ExtendLo2ToInt64x2 converts 2 lowest vector element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo2ToInt64x2 sign-extends 2 lowest vector element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXBQ, CPU Feature: AVX
|
||||
func (x Int8x16) ExtendLo2ToInt64x2() Int64x2
|
||||
|
||||
// ExtendLo2ToInt64x2 converts 2 lowest vector element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo2ToInt64x2 sign-extends 2 lowest vector element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXWQ, CPU Feature: AVX
|
||||
func (x Int16x8) ExtendLo2ToInt64x2() Int64x2
|
||||
|
||||
// ExtendLo2ToInt64x2 converts 2 lowest vector element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo2ToInt64x2 sign-extends 2 lowest vector element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXDQ, CPU Feature: AVX
|
||||
func (x Int32x4) ExtendLo2ToInt64x2() Int64x2
|
||||
|
||||
/* ExtendLo2ToUint64x2 */
|
||||
|
||||
// ExtendLo2ToUint64x2 converts 2 lowest vector element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo2ToUint64x2 zero-extends 2 lowest vector element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXBQ, CPU Feature: AVX
|
||||
func (x Uint8x16) ExtendLo2ToUint64x2() Uint64x2
|
||||
|
||||
// ExtendLo2ToUint64x2 converts 2 lowest vector element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo2ToUint64x2 zero-extends 2 lowest vector element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXWQ, CPU Feature: AVX
|
||||
func (x Uint16x8) ExtendLo2ToUint64x2() Uint64x2
|
||||
|
||||
// ExtendLo2ToUint64x2 converts 2 lowest vector element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo2ToUint64x2 zero-extends 2 lowest vector element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXDQ, CPU Feature: AVX
|
||||
func (x Uint32x4) ExtendLo2ToUint64x2() Uint64x2
|
||||
|
||||
/* ExtendLo4ToInt32x4 */
|
||||
|
||||
// ExtendLo4ToInt32x4 converts 4 lowest vector element values to int32.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo4ToInt32x4 sign-extends 4 lowest vector element values to int32.
|
||||
//
|
||||
// Asm: VPMOVSXBD, CPU Feature: AVX
|
||||
func (x Int8x16) ExtendLo4ToInt32x4() Int32x4
|
||||
|
||||
// ExtendLo4ToInt32x4 converts 4 lowest vector element values to int32.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo4ToInt32x4 sign-extends 4 lowest vector element values to int32.
|
||||
//
|
||||
// Asm: VPMOVSXWD, CPU Feature: AVX
|
||||
func (x Int16x8) ExtendLo4ToInt32x4() Int32x4
|
||||
|
||||
/* ExtendLo4ToInt64x4 */
|
||||
|
||||
// ExtendLo4ToInt64x4 converts 4 lowest vector element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo4ToInt64x4 sign-extends 4 lowest vector element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXBQ, CPU Feature: AVX2
|
||||
func (x Int8x16) ExtendLo4ToInt64x4() Int64x4
|
||||
|
||||
// ExtendLo4ToInt64x4 converts 4 lowest vector element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo4ToInt64x4 sign-extends 4 lowest vector element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXWQ, CPU Feature: AVX2
|
||||
func (x Int16x8) ExtendLo4ToInt64x4() Int64x4
|
||||
|
||||
/* ExtendLo4ToUint32x4 */
|
||||
|
||||
// ExtendLo4ToUint32x4 converts 4 lowest vector element values to uint32.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo4ToUint32x4 zero-extends 4 lowest vector element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVZXBD, CPU Feature: AVX
|
||||
func (x Uint8x16) ExtendLo4ToUint32x4() Uint32x4
|
||||
|
||||
// ExtendLo4ToUint32x4 converts 4 lowest vector element values to uint32.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo4ToUint32x4 zero-extends 4 lowest vector element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVZXWD, CPU Feature: AVX
|
||||
func (x Uint16x8) ExtendLo4ToUint32x4() Uint32x4
|
||||
|
||||
/* ExtendLo4ToUint64x4 */
|
||||
|
||||
// ExtendLo4ToUint64x4 converts 4 lowest vector element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo4ToUint64x4 zero-extends 4 lowest vector element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXBQ, CPU Feature: AVX2
|
||||
func (x Uint8x16) ExtendLo4ToUint64x4() Uint64x4
|
||||
|
||||
// ExtendLo4ToUint64x4 converts 4 lowest vector element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo4ToUint64x4 zero-extends 4 lowest vector element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXWQ, CPU Feature: AVX2
|
||||
func (x Uint16x8) ExtendLo4ToUint64x4() Uint64x4
|
||||
|
||||
/* ExtendLo8ToInt16x8 */
|
||||
|
||||
// ExtendLo8ToInt16x8 converts 8 lowest vector element values to int16.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo8ToInt16x8 sign-extends 8 lowest vector element values to int16.
|
||||
//
|
||||
// Asm: VPMOVSXBW, CPU Feature: AVX
|
||||
func (x Int8x16) ExtendLo8ToInt16x8() Int16x8
|
||||
|
||||
/* ExtendLo8ToInt32x8 */
|
||||
|
||||
// ExtendLo8ToInt32x8 converts 8 lowest vector element values to int32.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo8ToInt32x8 sign-extends 8 lowest vector element values to int32.
|
||||
//
|
||||
// Asm: VPMOVSXBD, CPU Feature: AVX2
|
||||
func (x Int8x16) ExtendLo8ToInt32x8() Int32x8
|
||||
|
||||
/* ExtendLo8ToInt64x8 */
|
||||
|
||||
// ExtendLo8ToInt64x8 converts 8 lowest vector element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendLo8ToInt64x8 sign-extends 8 lowest vector element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXBQ, CPU Feature: AVX512
|
||||
func (x Int8x16) ExtendLo8ToInt64x8() Int64x8
|
||||
|
||||
/* ExtendLo8ToUint16x8 */
|
||||
|
||||
// ExtendLo8ToUint16x8 converts 8 lowest vector element values to uint16.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo8ToUint16x8 zero-extends 8 lowest vector element values to uint16.
|
||||
//
|
||||
// Asm: VPMOVZXBW, CPU Feature: AVX
|
||||
func (x Uint8x16) ExtendLo8ToUint16x8() Uint16x8
|
||||
|
||||
/* ExtendLo8ToUint32x8 */
|
||||
|
||||
// ExtendLo8ToUint32x8 converts 8 lowest vector element values to uint32.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo8ToUint32x8 zero-extends 8 lowest vector element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVZXBD, CPU Feature: AVX2
|
||||
func (x Uint8x16) ExtendLo8ToUint32x8() Uint32x8
|
||||
|
||||
/* ExtendLo8ToUint64x8 */
|
||||
|
||||
// ExtendLo8ToUint64x8 converts 8 lowest vector element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendLo8ToUint64x8 zero-extends 8 lowest vector element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXBQ, CPU Feature: AVX512
|
||||
func (x Uint8x16) ExtendLo8ToUint64x8() Uint64x8
|
||||
|
||||
/* ExtendToInt16 */
|
||||
|
||||
// ExtendToInt16 converts element values to int16.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt16 sign-extends element values to int16.
|
||||
//
|
||||
// Asm: VPMOVSXBW, CPU Feature: AVX2
|
||||
func (x Int8x16) ExtendToInt16() Int16x16
|
||||
|
||||
// ExtendToInt16 converts element values to int16.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt16 sign-extends element values to int16.
|
||||
//
|
||||
// Asm: VPMOVSXBW, CPU Feature: AVX512
|
||||
func (x Int8x32) ExtendToInt16() Int16x32
|
||||
|
||||
/* ExtendToInt32 */
|
||||
|
||||
// ExtendToInt32 converts element values to int32.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt32 sign-extends element values to int32.
|
||||
//
|
||||
// Asm: VPMOVSXBD, CPU Feature: AVX512
|
||||
func (x Int8x16) ExtendToInt32() Int32x16
|
||||
|
||||
// ExtendToInt32 converts element values to int32.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt32 sign-extends element values to int32.
|
||||
//
|
||||
// Asm: VPMOVSXWD, CPU Feature: AVX2
|
||||
func (x Int16x8) ExtendToInt32() Int32x8
|
||||
|
||||
// ExtendToInt32 converts element values to int32.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt32 sign-extends element values to int32.
|
||||
//
|
||||
// Asm: VPMOVSXWD, CPU Feature: AVX512
|
||||
func (x Int16x16) ExtendToInt32() Int32x16
|
||||
|
||||
/* ExtendToInt64 */
|
||||
|
||||
// ExtendToInt64 converts element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt64 sign-extends element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXWQ, CPU Feature: AVX512
|
||||
func (x Int16x8) ExtendToInt64() Int64x8
|
||||
|
||||
// ExtendToInt64 converts element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt64 sign-extends element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXDQ, CPU Feature: AVX2
|
||||
func (x Int32x4) ExtendToInt64() Int64x4
|
||||
|
||||
// ExtendToInt64 converts element values to int64.
|
||||
// The result vector's elements are sign-extended.
|
||||
// ExtendToInt64 sign-extends element values to int64.
|
||||
//
|
||||
// Asm: VPMOVSXDQ, CPU Feature: AVX512
|
||||
func (x Int32x8) ExtendToInt64() Int64x8
|
||||
|
||||
/* ExtendToUint16 */
|
||||
|
||||
// ExtendToUint16 converts element values to uint16.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint16 zero-extends element values to uint16.
|
||||
//
|
||||
// Asm: VPMOVZXBW, CPU Feature: AVX2
|
||||
func (x Uint8x16) ExtendToUint16() Uint16x16
|
||||
|
||||
// ExtendToUint16 converts element values to uint16.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint16 zero-extends element values to uint16.
|
||||
//
|
||||
// Asm: VPMOVZXBW, CPU Feature: AVX512
|
||||
func (x Uint8x32) ExtendToUint16() Uint16x32
|
||||
|
||||
/* ExtendToUint32 */
|
||||
|
||||
// ExtendToUint32 converts element values to uint32.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint32 zero-extends element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVZXBD, CPU Feature: AVX512
|
||||
func (x Uint8x16) ExtendToUint32() Uint32x16
|
||||
|
||||
// ExtendToUint32 converts element values to uint32.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint32 zero-extends element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVZXWD, CPU Feature: AVX2
|
||||
func (x Uint16x8) ExtendToUint32() Uint32x8
|
||||
|
||||
// ExtendToUint32 converts element values to uint32.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint32 zero-extends element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVZXWD, CPU Feature: AVX512
|
||||
func (x Uint16x16) ExtendToUint32() Uint32x16
|
||||
|
||||
/* ExtendToUint64 */
|
||||
|
||||
// ExtendToUint64 converts element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint64 zero-extends element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXWQ, CPU Feature: AVX512
|
||||
func (x Uint16x8) ExtendToUint64() Uint64x8
|
||||
|
||||
// ExtendToUint64 converts element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint64 zero-extends element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXDQ, CPU Feature: AVX2
|
||||
func (x Uint32x4) ExtendToUint64() Uint64x4
|
||||
|
||||
// ExtendToUint64 converts element values to uint64.
|
||||
// The result vector's elements are zero-extended.
|
||||
// ExtendToUint64 zero-extends element values to uint64.
|
||||
//
|
||||
// Asm: VPMOVZXDQ, CPU Feature: AVX512
|
||||
func (x Uint32x8) ExtendToUint64() Uint64x8
|
||||
@ -5365,302 +5329,255 @@ func (x Uint32x4) SHA256TwoRounds(y Uint32x4, z Uint32x4) Uint32x4
|
||||
|
||||
/* SaturateToInt8 */
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSWB, CPU Feature: AVX512
|
||||
func (x Int16x8) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSWB, CPU Feature: AVX512
|
||||
func (x Int16x16) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSWB, CPU Feature: AVX512
|
||||
func (x Int16x32) SaturateToInt8() Int8x32
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSDB, CPU Feature: AVX512
|
||||
func (x Int32x4) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSDB, CPU Feature: AVX512
|
||||
func (x Int32x8) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSDB, CPU Feature: AVX512
|
||||
func (x Int32x16) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQB, CPU Feature: AVX512
|
||||
func (x Int64x2) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQB, CPU Feature: AVX512
|
||||
func (x Int64x4) SaturateToInt8() Int8x16
|
||||
|
||||
// SaturateToInt8 converts element values to int8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToInt8 converts element values to int8 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQB, CPU Feature: AVX512
|
||||
func (x Int64x8) SaturateToInt8() Int8x16
|
||||
|
||||
/* SaturateToInt16 */
|
||||
|
||||
// SaturateToInt16 converts element values to int16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt16 converts element values to int16 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSDW, CPU Feature: AVX512
|
||||
func (x Int32x4) SaturateToInt16() Int16x8
|
||||
|
||||
// SaturateToInt16 converts element values to int16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt16 converts element values to int16 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSDW, CPU Feature: AVX512
|
||||
func (x Int32x8) SaturateToInt16() Int16x8
|
||||
|
||||
// SaturateToInt16 converts element values to int16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt16 converts element values to int16 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSDW, CPU Feature: AVX512
|
||||
func (x Int32x16) SaturateToInt16() Int16x16
|
||||
|
||||
// SaturateToInt16 converts element values to int16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt16 converts element values to int16 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQW, CPU Feature: AVX512
|
||||
func (x Int64x2) SaturateToInt16() Int16x8
|
||||
|
||||
// SaturateToInt16 converts element values to int16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt16 converts element values to int16 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQW, CPU Feature: AVX512
|
||||
func (x Int64x4) SaturateToInt16() Int16x8
|
||||
|
||||
// SaturateToInt16 converts element values to int16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt16 converts element values to int16 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSQW, CPU Feature: AVX512
|
||||
func (x Int64x8) SaturateToInt16() Int16x8
|
||||
|
||||
/* SaturateToInt16Concat */
|
||||
|
||||
// SaturateToInt16Concat converts element values to int16.
|
||||
// SaturateToInt16Concat converts element values to int16 with signed saturation.
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
//
|
||||
// Asm: VPACKSSDW, CPU Feature: AVX
|
||||
func (x Int32x4) SaturateToInt16Concat(y Int32x4) Int16x8
|
||||
|
||||
// SaturateToInt16Concat converts element values to int16.
|
||||
// SaturateToInt16Concat converts element values to int16 with signed saturation.
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
//
|
||||
// Asm: VPACKSSDW, CPU Feature: AVX2
|
||||
func (x Int32x8) SaturateToInt16Concat(y Int32x8) Int16x16
|
||||
|
||||
// SaturateToInt16Concat converts element values to int16.
|
||||
// SaturateToInt16Concat converts element values to int16 with signed saturation.
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
//
|
||||
// Asm: VPACKSSDW, CPU Feature: AVX512
|
||||
func (x Int32x16) SaturateToInt16Concat(y Int32x16) Int16x32
|
||||
|
||||
/* SaturateToInt32 */
|
||||
|
||||
// SaturateToInt32 converts element values to int32.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt32 converts element values to int32 with signed saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQD, CPU Feature: AVX512
|
||||
func (x Int64x2) SaturateToInt32() Int32x4
|
||||
|
||||
// SaturateToInt32 converts element values to int32.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt32 converts element values to int32 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSQD, CPU Feature: AVX512
|
||||
func (x Int64x4) SaturateToInt32() Int32x4
|
||||
|
||||
// SaturateToInt32 converts element values to int32.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToInt32 converts element values to int32 with signed saturation.
|
||||
//
|
||||
// Asm: VPMOVSQD, CPU Feature: AVX512
|
||||
func (x Int64x8) SaturateToInt32() Int32x8
|
||||
|
||||
/* SaturateToUint8 */
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSWB, CPU Feature: AVX512
|
||||
func (x Int16x8) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVSWB, CPU Feature: AVX512
|
||||
func (x Int16x16) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSDB, CPU Feature: AVX512
|
||||
func (x Int32x4) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSDB, CPU Feature: AVX512
|
||||
func (x Int32x8) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVSDB, CPU Feature: AVX512
|
||||
func (x Int32x16) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQB, CPU Feature: AVX512
|
||||
func (x Int64x2) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQB, CPU Feature: AVX512
|
||||
func (x Int64x4) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVSQB, CPU Feature: AVX512
|
||||
func (x Int64x8) SaturateToUint8() Int8x16
|
||||
|
||||
// SaturateToUint8 converts element values to uint8.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint8 converts element values to uint8 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVUSWB, CPU Feature: AVX512
|
||||
func (x Uint16x32) SaturateToUint8() Uint8x32
|
||||
|
||||
/* SaturateToUint16 */
|
||||
|
||||
// SaturateToUint16 converts element values to uint16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16 converts element values to uint16 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVUSDW, CPU Feature: AVX512
|
||||
func (x Uint32x4) SaturateToUint16() Uint16x8
|
||||
|
||||
// SaturateToUint16 converts element values to uint16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16 converts element values to uint16 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVUSDW, CPU Feature: AVX512
|
||||
func (x Uint32x8) SaturateToUint16() Uint16x8
|
||||
|
||||
// SaturateToUint16 converts element values to uint16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16 converts element values to uint16 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVUSDW, CPU Feature: AVX512
|
||||
func (x Uint32x16) SaturateToUint16() Uint16x16
|
||||
|
||||
// SaturateToUint16 converts element values to uint16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16 converts element values to uint16 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVUSQW, CPU Feature: AVX512
|
||||
func (x Uint64x2) SaturateToUint16() Uint16x8
|
||||
|
||||
// SaturateToUint16 converts element values to uint16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16 converts element values to uint16 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVUSQW, CPU Feature: AVX512
|
||||
func (x Uint64x4) SaturateToUint16() Uint16x8
|
||||
|
||||
// SaturateToUint16 converts element values to uint16.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16 converts element values to uint16 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVUSQW, CPU Feature: AVX512
|
||||
func (x Uint64x8) SaturateToUint16() Uint16x8
|
||||
|
||||
/* SaturateToUint16Concat */
|
||||
|
||||
// SaturateToUint16Concat converts element values to uint16.
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16Concat converts element values to uint16 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPACKUSDW, CPU Feature: AVX
|
||||
func (x Uint32x4) SaturateToUint16Concat(y Uint32x4) Uint16x8
|
||||
|
||||
// SaturateToUint16Concat converts element values to uint16.
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16Concat converts element values to uint16 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPACKUSDW, CPU Feature: AVX2
|
||||
func (x Uint32x8) SaturateToUint16Concat(y Uint32x8) Uint16x16
|
||||
|
||||
// SaturateToUint16Concat converts element values to uint16.
|
||||
// With each 128-bit as a group:
|
||||
// The converted group from the first input vector will be packed to the lower part of the result vector,
|
||||
// the converted group from the second input vector will be packed to the upper part of the result vector.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint16Concat converts element values to uint16 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPACKUSDW, CPU Feature: AVX512
|
||||
func (x Uint32x16) SaturateToUint16Concat(y Uint32x16) Uint16x32
|
||||
|
||||
/* SaturateToUint32 */
|
||||
|
||||
// SaturateToUint32 converts element values to uint32.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint32 converts element values to uint32 with unsigned saturation.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVUSQD, CPU Feature: AVX512
|
||||
func (x Uint64x2) SaturateToUint32() Uint32x4
|
||||
|
||||
// SaturateToUint32 converts element values to uint32.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint32 converts element values to uint32 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVUSQD, CPU Feature: AVX512
|
||||
func (x Uint64x4) SaturateToUint32() Uint32x4
|
||||
|
||||
// SaturateToUint32 converts element values to uint32.
|
||||
// Conversion is done with saturation on the vector elements.
|
||||
// SaturateToUint32 converts element values to uint32 with unsigned saturation.
|
||||
//
|
||||
// Asm: VPMOVUSQD, CPU Feature: AVX512
|
||||
func (x Uint64x8) SaturateToUint32() Uint32x8
|
||||
@ -7478,244 +7395,212 @@ func (x Float64x8) TruncScaledResidue(prec uint8) Float64x8
|
||||
|
||||
/* TruncateToInt8 */
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVWB, CPU Feature: AVX512
|
||||
func (x Int16x8) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
//
|
||||
// Asm: VPMOVWB, CPU Feature: AVX512
|
||||
func (x Int16x16) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
//
|
||||
// Asm: VPMOVWB, CPU Feature: AVX512
|
||||
func (x Int16x32) TruncateToInt8() Int8x32
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVDB, CPU Feature: AVX512
|
||||
func (x Int32x4) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVDB, CPU Feature: AVX512
|
||||
func (x Int32x8) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
//
|
||||
// Asm: VPMOVDB, CPU Feature: AVX512
|
||||
func (x Int32x16) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQB, CPU Feature: AVX512
|
||||
func (x Int64x2) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQB, CPU Feature: AVX512
|
||||
func (x Int64x4) TruncateToInt8() Int8x16
|
||||
|
||||
// TruncateToInt8 converts element values to int8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToInt8 truncates element values to int8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQB, CPU Feature: AVX512
|
||||
func (x Int64x8) TruncateToInt8() Int8x16
|
||||
|
||||
/* TruncateToInt16 */
|
||||
|
||||
// TruncateToInt16 converts element values to int16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt16 truncates element values to int16.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVDW, CPU Feature: AVX512
|
||||
func (x Int32x4) TruncateToInt16() Int16x8
|
||||
|
||||
// TruncateToInt16 converts element values to int16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt16 truncates element values to int16.
|
||||
//
|
||||
// Asm: VPMOVDW, CPU Feature: AVX512
|
||||
func (x Int32x8) TruncateToInt16() Int16x8
|
||||
|
||||
// TruncateToInt16 converts element values to int16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt16 truncates element values to int16.
|
||||
//
|
||||
// Asm: VPMOVDW, CPU Feature: AVX512
|
||||
func (x Int32x16) TruncateToInt16() Int16x16
|
||||
|
||||
// TruncateToInt16 converts element values to int16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt16 truncates element values to int16.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQW, CPU Feature: AVX512
|
||||
func (x Int64x2) TruncateToInt16() Int16x8
|
||||
|
||||
// TruncateToInt16 converts element values to int16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt16 truncates element values to int16.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQW, CPU Feature: AVX512
|
||||
func (x Int64x4) TruncateToInt16() Int16x8
|
||||
|
||||
// TruncateToInt16 converts element values to int16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt16 truncates element values to int16.
|
||||
//
|
||||
// Asm: VPMOVQW, CPU Feature: AVX512
|
||||
func (x Int64x8) TruncateToInt16() Int16x8
|
||||
|
||||
/* TruncateToInt32 */
|
||||
|
||||
// TruncateToInt32 converts element values to int32.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt32 truncates element values to int32.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQD, CPU Feature: AVX512
|
||||
func (x Int64x2) TruncateToInt32() Int32x4
|
||||
|
||||
// TruncateToInt32 converts element values to int32.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt32 truncates element values to int32.
|
||||
//
|
||||
// Asm: VPMOVQD, CPU Feature: AVX512
|
||||
func (x Int64x4) TruncateToInt32() Int32x4
|
||||
|
||||
// TruncateToInt32 converts element values to int32.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToInt32 truncates element values to int32.
|
||||
//
|
||||
// Asm: VPMOVQD, CPU Feature: AVX512
|
||||
func (x Int64x8) TruncateToInt32() Int32x8
|
||||
|
||||
/* TruncateToUint8 */
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVWB, CPU Feature: AVX512
|
||||
func (x Uint16x8) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
//
|
||||
// Asm: VPMOVWB, CPU Feature: AVX512
|
||||
func (x Uint16x16) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
//
|
||||
// Asm: VPMOVWB, CPU Feature: AVX512
|
||||
func (x Uint16x32) TruncateToUint8() Uint8x32
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVDB, CPU Feature: AVX512
|
||||
func (x Uint32x4) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVDB, CPU Feature: AVX512
|
||||
func (x Uint32x8) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
//
|
||||
// Asm: VPMOVDB, CPU Feature: AVX512
|
||||
func (x Uint32x16) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQB, CPU Feature: AVX512
|
||||
func (x Uint64x2) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQB, CPU Feature: AVX512
|
||||
func (x Uint64x4) TruncateToUint8() Uint8x16
|
||||
|
||||
// TruncateToUint8 converts element values to uint8.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zero-cleared.
|
||||
// TruncateToUint8 truncates element values to uint8.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQB, CPU Feature: AVX512
|
||||
func (x Uint64x8) TruncateToUint8() Uint8x16
|
||||
|
||||
/* TruncateToUint16 */
|
||||
|
||||
// TruncateToUint16 converts element values to uint16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint16 truncates element values to uint16.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVDW, CPU Feature: AVX512
|
||||
func (x Uint32x4) TruncateToUint16() Uint16x8
|
||||
|
||||
// TruncateToUint16 converts element values to uint16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint16 truncates element values to uint16.
|
||||
//
|
||||
// Asm: VPMOVDW, CPU Feature: AVX512
|
||||
func (x Uint32x8) TruncateToUint16() Uint16x8
|
||||
|
||||
// TruncateToUint16 converts element values to uint16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint16 truncates element values to uint16.
|
||||
//
|
||||
// Asm: VPMOVDW, CPU Feature: AVX512
|
||||
func (x Uint32x16) TruncateToUint16() Uint16x16
|
||||
|
||||
// TruncateToUint16 converts element values to uint16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint16 truncates element values to uint16.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQW, CPU Feature: AVX512
|
||||
func (x Uint64x2) TruncateToUint16() Uint16x8
|
||||
|
||||
// TruncateToUint16 converts element values to uint16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint16 truncates element values to uint16.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQW, CPU Feature: AVX512
|
||||
func (x Uint64x4) TruncateToUint16() Uint16x8
|
||||
|
||||
// TruncateToUint16 converts element values to uint16.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint16 truncates element values to uint16.
|
||||
//
|
||||
// Asm: VPMOVQW, CPU Feature: AVX512
|
||||
func (x Uint64x8) TruncateToUint16() Uint16x8
|
||||
|
||||
/* TruncateToUint32 */
|
||||
|
||||
// TruncateToUint32 converts element values to uint32.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint32 truncates element values to uint32.
|
||||
// Results are packed to low elements in the returned vector, its upper elements are zeroed.
|
||||
//
|
||||
// Asm: VPMOVQD, CPU Feature: AVX512
|
||||
func (x Uint64x2) TruncateToUint32() Uint32x4
|
||||
|
||||
// TruncateToUint32 converts element values to uint32.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint32 truncates element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVQD, CPU Feature: AVX512
|
||||
func (x Uint64x4) TruncateToUint32() Uint32x4
|
||||
|
||||
// TruncateToUint32 converts element values to uint32.
|
||||
// Conversion is done with truncation on the vector elements.
|
||||
// TruncateToUint32 truncates element values to uint32.
|
||||
//
|
||||
// Asm: VPMOVQD, CPU Feature: AVX512
|
||||
func (x Uint64x8) TruncateToUint32() Uint32x8
|
||||
|
||||
Loading…
Reference in New Issue
Block a user