blob: c7410502d517ccc8ceb27ab50e97031e9321c517 [file]
// Code generated by 'refgen'. DO NOT EDIT.
package simdref
import "simd/internal/spec"
type (
Mask16s struct{ v []spec.Mask16 }
Mask16x8 struct{ v []spec.Mask16 }
Mask16x16 struct{ v []spec.Mask16 }
Mask16x32 struct{ v []spec.Mask16 }
Mask32s struct{ v []spec.Mask32 }
Mask32x4 struct{ v []spec.Mask32 }
Mask32x8 struct{ v []spec.Mask32 }
Mask32x16 struct{ v []spec.Mask32 }
Mask64s struct{ v []spec.Mask64 }
Mask64x2 struct{ v []spec.Mask64 }
Mask64x4 struct{ v []spec.Mask64 }
Mask64x8 struct{ v []spec.Mask64 }
Mask8s struct{ v []spec.Mask8 }
Mask8x16 struct{ v []spec.Mask8 }
Mask8x32 struct{ v []spec.Mask8 }
Mask8x64 struct{ v []spec.Mask8 }
Float32s struct{ v []float32 }
Float32x4 struct{ v []float32 }
Float32x8 struct{ v []float32 }
Float32x16 struct{ v []float32 }
Float64s struct{ v []float64 }
Float64x2 struct{ v []float64 }
Float64x4 struct{ v []float64 }
Float64x8 struct{ v []float64 }
Int16s struct{ v []int16 }
Int16x8 struct{ v []int16 }
Int16x16 struct{ v []int16 }
Int16x32 struct{ v []int16 }
Int32s struct{ v []int32 }
Int32x4 struct{ v []int32 }
Int32x8 struct{ v []int32 }
Int32x16 struct{ v []int32 }
Int64s struct{ v []int64 }
Int64x2 struct{ v []int64 }
Int64x4 struct{ v []int64 }
Int64x8 struct{ v []int64 }
Int8s struct{ v []int8 }
Int8x16 struct{ v []int8 }
Int8x32 struct{ v []int8 }
Int8x64 struct{ v []int8 }
Uint16s struct{ v []uint16 }
Uint16x8 struct{ v []uint16 }
Uint16x16 struct{ v []uint16 }
Uint16x32 struct{ v []uint16 }
Uint32s struct{ v []uint32 }
Uint32x4 struct{ v []uint32 }
Uint32x8 struct{ v []uint32 }
Uint32x16 struct{ v []uint32 }
Uint64s struct{ v []uint64 }
Uint64x2 struct{ v []uint64 }
Uint64x4 struct{ v []uint64 }
Uint64x8 struct{ v []uint64 }
Uint8s struct{ v []uint8 }
Uint8x16 struct{ v []uint8 }
Uint8x32 struct{ v []uint8 }
Uint8x64 struct{ v []uint8 }
)
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Float32x4) ConvertToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertToZ[float32, spec.Width128, float64, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Float32x4) ConvertToInt32() (z Int32x4) {
return Int32x4{spec.ConvertToZ[float32, spec.Width128, int32, spec.Width128](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Float32x4) ConvertToInt64() (z Int64x4) {
return Int64x4{spec.ConvertToZ[float32, spec.Width128, int64, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Float32x4) ConvertToUint32() (z Uint32x4) {
return Uint32x4{spec.ConvertToZ[float32, spec.Width128, uint32, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Float32x4) ConvertToUint64() (z Uint64x4) {
return Uint64x4{spec.ConvertToZ[float32, spec.Width128, uint64, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Float32x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[float32, spec.Width256, float64, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Float32x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[float32, spec.Width256, int16, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Float32x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[float32, spec.Width256, int32, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Float32x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[float32, spec.Width256, int64, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Float32x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[float32, spec.Width256, uint16, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Float32x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[float32, spec.Width256, uint32, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Float32x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[float32, spec.Width256, uint64, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Float32x16) ConvertToInt8() (z Int8x16) {
return Int8x16{spec.ConvertToZ[float32, spec.Width512, int8, spec.Width128](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Float32x16) ConvertToInt16() (z Int16x16) {
return Int16x16{spec.ConvertToZ[float32, spec.Width512, int16, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Float32x16) ConvertToInt32() (z Int32x16) {
return Int32x16{spec.ConvertToZ[float32, spec.Width512, int32, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Float32x16) ConvertToUint8() (z Uint8x16) {
return Uint8x16{spec.ConvertToZ[float32, spec.Width512, uint8, spec.Width128](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Float32x16) ConvertToUint16() (z Uint16x16) {
return Uint16x16{spec.ConvertToZ[float32, spec.Width512, uint16, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Float32x16) ConvertToUint32() (z Uint32x16) {
return Uint32x16{spec.ConvertToZ[float32, spec.Width512, uint32, spec.Width512](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Float32s) ConvertToInt32() (z Int32s) {
return Int32s{spec.ConvertToZ[float32, spec.WidthScalable, int32, spec.WidthScalable](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Float32s) ConvertToUint32() (z Uint32s) {
return Uint32s{spec.ConvertToZ[float32, spec.WidthScalable, uint32, spec.WidthScalable](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Float64x2) ConvertToInt64() (z Int64x2) {
return Int64x2{spec.ConvertToZ[float64, spec.Width128, int64, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Float64x2) ConvertToUint64() (z Uint64x2) {
return Uint64x2{spec.ConvertToZ[float64, spec.Width128, uint64, spec.Width128](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Float64x4) ConvertToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertToZ[float64, spec.Width256, float32, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Float64x4) ConvertToInt32() (z Int32x4) {
return Int32x4{spec.ConvertToZ[float64, spec.Width256, int32, spec.Width128](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Float64x4) ConvertToInt64() (z Int64x4) {
return Int64x4{spec.ConvertToZ[float64, spec.Width256, int64, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Float64x4) ConvertToUint32() (z Uint32x4) {
return Uint32x4{spec.ConvertToZ[float64, spec.Width256, uint32, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Float64x4) ConvertToUint64() (z Uint64x4) {
return Uint64x4{spec.ConvertToZ[float64, spec.Width256, uint64, spec.Width256](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Float64x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[float64, spec.Width512, float32, spec.Width256](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Float64x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[float64, spec.Width512, int16, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Float64x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[float64, spec.Width512, int32, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Float64x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[float64, spec.Width512, int64, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Float64x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[float64, spec.Width512, uint16, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Float64x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[float64, spec.Width512, uint32, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Float64x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[float64, spec.Width512, uint64, spec.Width512](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Float64s) ConvertToInt64() (z Int64s) {
return Int64s{spec.ConvertToZ[float64, spec.WidthScalable, int64, spec.WidthScalable](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Float64s) ConvertToUint64() (z Uint64s) {
return Uint64s{spec.ConvertToZ[float64, spec.WidthScalable, uint64, spec.WidthScalable](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int8x16) ConvertToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertToZ[int8, spec.Width128, float32, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Int8x16) ConvertToInt16() (z Int16x16) {
return Int16x16{spec.ConvertToZ[int8, spec.Width128, int16, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Int8x16) ConvertToInt32() (z Int32x16) {
return Int32x16{spec.ConvertToZ[int8, spec.Width128, int32, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int8x16) ConvertToUint8() (z Uint8x16) {
return Uint8x16{spec.ConvertToZ[int8, spec.Width128, uint8, spec.Width128](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int8x16) ConvertToUint16() (z Uint16x16) {
return Uint16x16{spec.ConvertToZ[int8, spec.Width128, uint16, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int8x16) ConvertToUint32() (z Uint32x16) {
return Uint32x16{spec.ConvertToZ[int8, spec.Width128, uint32, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Int8x32) ConvertToInt16() (z Int16x32) {
return Int16x32{spec.ConvertToZ[int8, spec.Width256, int16, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int8x32) ConvertToUint8() (z Uint8x32) {
return Uint8x32{spec.ConvertToZ[int8, spec.Width256, uint8, spec.Width256](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int8x32) ConvertToUint16() (z Uint16x32) {
return Uint16x32{spec.ConvertToZ[int8, spec.Width256, uint16, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int8x64) ConvertToUint8() (z Uint8x64) {
return Uint8x64{spec.ConvertToZ[int8, spec.Width512, uint8, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int8s) ConvertToUint8() (z Uint8s) {
return Uint8s{spec.ConvertToZ[int8, spec.WidthScalable, uint8, spec.WidthScalable](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int16x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[int16, spec.Width128, float32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int16x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[int16, spec.Width128, float64, spec.Width512](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Int16x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[int16, spec.Width128, int32, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Int16x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[int16, spec.Width128, int64, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int16x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[int16, spec.Width128, uint16, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int16x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[int16, spec.Width128, uint32, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int16x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[int16, spec.Width128, uint64, spec.Width512](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int16x16) ConvertToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertToZ[int16, spec.Width256, float32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Int16x16) ConvertToInt8() (z Int8x16) {
return Int8x16{spec.ConvertToZ[int16, spec.Width256, int8, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Int16x16) ConvertToInt32() (z Int32x16) {
return Int32x16{spec.ConvertToZ[int16, spec.Width256, int32, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int16x16) ConvertToUint8() (z Uint8x16) {
return Uint8x16{spec.ConvertToZ[int16, spec.Width256, uint8, spec.Width128](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int16x16) ConvertToUint16() (z Uint16x16) {
return Uint16x16{spec.ConvertToZ[int16, spec.Width256, uint16, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int16x16) ConvertToUint32() (z Uint32x16) {
return Uint32x16{spec.ConvertToZ[int16, spec.Width256, uint32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Int16x32) ConvertToInt8() (z Int8x32) {
return Int8x32{spec.ConvertToZ[int16, spec.Width512, int8, spec.Width256](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int16x32) ConvertToUint8() (z Uint8x32) {
return Uint8x32{spec.ConvertToZ[int16, spec.Width512, uint8, spec.Width256](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int16x32) ConvertToUint16() (z Uint16x32) {
return Uint16x32{spec.ConvertToZ[int16, spec.Width512, uint16, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int16s) ConvertToUint16() (z Uint16s) {
return Uint16s{spec.ConvertToZ[int16, spec.WidthScalable, uint16, spec.WidthScalable](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int32x4) ConvertToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertToZ[int32, spec.Width128, float32, spec.Width128](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int32x4) ConvertToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertToZ[int32, spec.Width128, float64, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Int32x4) ConvertToInt64() (z Int64x4) {
return Int64x4{spec.ConvertToZ[int32, spec.Width128, int64, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int32x4) ConvertToUint32() (z Uint32x4) {
return Uint32x4{spec.ConvertToZ[int32, spec.Width128, uint32, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int32x4) ConvertToUint64() (z Uint64x4) {
return Uint64x4{spec.ConvertToZ[int32, spec.Width128, uint64, spec.Width256](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int32x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[int32, spec.Width256, float32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int32x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[int32, spec.Width256, float64, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Int32x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[int32, spec.Width256, int16, spec.Width128](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Int32x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[int32, spec.Width256, int64, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int32x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[int32, spec.Width256, uint16, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int32x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[int32, spec.Width256, uint32, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int32x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[int32, spec.Width256, uint64, spec.Width512](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int32x16) ConvertToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertToZ[int32, spec.Width512, float32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Int32x16) ConvertToInt8() (z Int8x16) {
return Int8x16{spec.ConvertToZ[int32, spec.Width512, int8, spec.Width128](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Int32x16) ConvertToInt16() (z Int16x16) {
return Int16x16{spec.ConvertToZ[int32, spec.Width512, int16, spec.Width256](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Int32x16) ConvertToUint8() (z Uint8x16) {
return Uint8x16{spec.ConvertToZ[int32, spec.Width512, uint8, spec.Width128](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int32x16) ConvertToUint16() (z Uint16x16) {
return Uint16x16{spec.ConvertToZ[int32, spec.Width512, uint16, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int32x16) ConvertToUint32() (z Uint32x16) {
return Uint32x16{spec.ConvertToZ[int32, spec.Width512, uint32, spec.Width512](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int32s) ConvertToFloat32() (z Float32s) {
return Float32s{spec.ConvertToZ[int32, spec.WidthScalable, float32, spec.WidthScalable](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int32s) ConvertToUint32() (z Uint32s) {
return Uint32s{spec.ConvertToZ[int32, spec.WidthScalable, uint32, spec.WidthScalable](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int64x2) ConvertToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertToZ[int64, spec.Width128, float64, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int64x2) ConvertToUint64() (z Uint64x2) {
return Uint64x2{spec.ConvertToZ[int64, spec.Width128, uint64, spec.Width128](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int64x4) ConvertToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertToZ[int64, spec.Width256, float32, spec.Width128](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int64x4) ConvertToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertToZ[int64, spec.Width256, float64, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Int64x4) ConvertToInt32() (z Int32x4) {
return Int32x4{spec.ConvertToZ[int64, spec.Width256, int32, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int64x4) ConvertToUint32() (z Uint32x4) {
return Uint32x4{spec.ConvertToZ[int64, spec.Width256, uint32, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int64x4) ConvertToUint64() (z Uint64x4) {
return Uint64x4{spec.ConvertToZ[int64, spec.Width256, uint64, spec.Width256](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Int64x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[int64, spec.Width512, float32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int64x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[int64, spec.Width512, float64, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Int64x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[int64, spec.Width512, int16, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Int64x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[int64, spec.Width512, int32, spec.Width256](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Int64x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[int64, spec.Width512, uint16, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Int64x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[int64, spec.Width512, uint32, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int64x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[int64, spec.Width512, uint64, spec.Width512](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Int64s) ConvertToFloat64() (z Float64s) {
return Float64s{spec.ConvertToZ[int64, spec.WidthScalable, float64, spec.WidthScalable](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Int64s) ConvertToUint64() (z Uint64s) {
return Uint64s{spec.ConvertToZ[int64, spec.WidthScalable, uint64, spec.WidthScalable](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint8x16) ConvertToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertToZ[uint8, spec.Width128, float32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint8x16) ConvertToInt8() (z Int8x16) {
return Int8x16{spec.ConvertToZ[uint8, spec.Width128, int8, spec.Width128](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint8x16) ConvertToInt16() (z Int16x16) {
return Int16x16{spec.ConvertToZ[uint8, spec.Width128, int16, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint8x16) ConvertToInt32() (z Int32x16) {
return Int32x16{spec.ConvertToZ[uint8, spec.Width128, int32, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Uint8x16) ConvertToUint16() (z Uint16x16) {
return Uint16x16{spec.ConvertToZ[uint8, spec.Width128, uint16, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Uint8x16) ConvertToUint32() (z Uint32x16) {
return Uint32x16{spec.ConvertToZ[uint8, spec.Width128, uint32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint8x32) ConvertToInt8() (z Int8x32) {
return Int8x32{spec.ConvertToZ[uint8, spec.Width256, int8, spec.Width256](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint8x32) ConvertToInt16() (z Int16x32) {
return Int16x32{spec.ConvertToZ[uint8, spec.Width256, int16, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Uint8x32) ConvertToUint16() (z Uint16x32) {
return Uint16x32{spec.ConvertToZ[uint8, spec.Width256, uint16, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint8x64) ConvertToInt8() (z Int8x64) {
return Int8x64{spec.ConvertToZ[uint8, spec.Width512, int8, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint8s) ConvertToInt8() (z Int8s) {
return Int8s{spec.ConvertToZ[uint8, spec.WidthScalable, int8, spec.WidthScalable](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint16x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[uint16, spec.Width128, float32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint16x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[uint16, spec.Width128, float64, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint16x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[uint16, spec.Width128, int16, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint16x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[uint16, spec.Width128, int32, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint16x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[uint16, spec.Width128, int64, spec.Width512](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Uint16x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[uint16, spec.Width128, uint32, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Uint16x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[uint16, spec.Width128, uint64, spec.Width512](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint16x16) ConvertToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertToZ[uint16, spec.Width256, float32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint16x16) ConvertToInt8() (z Int8x16) {
return Int8x16{spec.ConvertToZ[uint16, spec.Width256, int8, spec.Width128](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint16x16) ConvertToInt16() (z Int16x16) {
return Int16x16{spec.ConvertToZ[uint16, spec.Width256, int16, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint16x16) ConvertToInt32() (z Int32x16) {
return Int32x16{spec.ConvertToZ[uint16, spec.Width256, int32, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Uint16x16) ConvertToUint8() (z Uint8x16) {
return Uint8x16{spec.ConvertToZ[uint16, spec.Width256, uint8, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Uint16x16) ConvertToUint32() (z Uint32x16) {
return Uint32x16{spec.ConvertToZ[uint16, spec.Width256, uint32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint16x32) ConvertToInt8() (z Int8x32) {
return Int8x32{spec.ConvertToZ[uint16, spec.Width512, int8, spec.Width256](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint16x32) ConvertToInt16() (z Int16x32) {
return Int16x32{spec.ConvertToZ[uint16, spec.Width512, int16, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Uint16x32) ConvertToUint8() (z Uint8x32) {
return Uint8x32{spec.ConvertToZ[uint16, spec.Width512, uint8, spec.Width256](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint16s) ConvertToInt16() (z Int16s) {
return Int16s{spec.ConvertToZ[uint16, spec.WidthScalable, int16, spec.WidthScalable](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint32x4) ConvertToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertToZ[uint32, spec.Width128, float32, spec.Width128](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint32x4) ConvertToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertToZ[uint32, spec.Width128, float64, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint32x4) ConvertToInt32() (z Int32x4) {
return Int32x4{spec.ConvertToZ[uint32, spec.Width128, int32, spec.Width128](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint32x4) ConvertToInt64() (z Int64x4) {
return Int64x4{spec.ConvertToZ[uint32, spec.Width128, int64, spec.Width256](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Uint32x4) ConvertToUint64() (z Uint64x4) {
return Uint64x4{spec.ConvertToZ[uint32, spec.Width128, uint64, spec.Width256](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint32x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[uint32, spec.Width256, float32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint32x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[uint32, spec.Width256, float64, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint32x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[uint32, spec.Width256, int16, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint32x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[uint32, spec.Width256, int32, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint32x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[uint32, spec.Width256, int64, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Uint32x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[uint32, spec.Width256, uint16, spec.Width128](x.v)}
}
// ConvertToUint64 converts element values to uint64. The result has the same number of lanes.
func (x Uint32x8) ConvertToUint64() (z Uint64x8) {
return Uint64x8{spec.ConvertToZ[uint32, spec.Width256, uint64, spec.Width512](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint32x16) ConvertToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertToZ[uint32, spec.Width512, float32, spec.Width512](x.v)}
}
// ConvertToInt8 converts element values to int8. The result has the same number of lanes.
func (x Uint32x16) ConvertToInt8() (z Int8x16) {
return Int8x16{spec.ConvertToZ[uint32, spec.Width512, int8, spec.Width128](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint32x16) ConvertToInt16() (z Int16x16) {
return Int16x16{spec.ConvertToZ[uint32, spec.Width512, int16, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint32x16) ConvertToInt32() (z Int32x16) {
return Int32x16{spec.ConvertToZ[uint32, spec.Width512, int32, spec.Width512](x.v)}
}
// ConvertToUint8 converts element values to uint8. The result has the same number of lanes.
func (x Uint32x16) ConvertToUint8() (z Uint8x16) {
return Uint8x16{spec.ConvertToZ[uint32, spec.Width512, uint8, spec.Width128](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Uint32x16) ConvertToUint16() (z Uint16x16) {
return Uint16x16{spec.ConvertToZ[uint32, spec.Width512, uint16, spec.Width256](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint32s) ConvertToFloat32() (z Float32s) {
return Float32s{spec.ConvertToZ[uint32, spec.WidthScalable, float32, spec.WidthScalable](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint32s) ConvertToInt32() (z Int32s) {
return Int32s{spec.ConvertToZ[uint32, spec.WidthScalable, int32, spec.WidthScalable](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint64x2) ConvertToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertToZ[uint64, spec.Width128, float64, spec.Width128](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint64x2) ConvertToInt64() (z Int64x2) {
return Int64x2{spec.ConvertToZ[uint64, spec.Width128, int64, spec.Width128](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint64x4) ConvertToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertToZ[uint64, spec.Width256, float32, spec.Width128](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint64x4) ConvertToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertToZ[uint64, spec.Width256, float64, spec.Width256](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint64x4) ConvertToInt32() (z Int32x4) {
return Int32x4{spec.ConvertToZ[uint64, spec.Width256, int32, spec.Width128](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint64x4) ConvertToInt64() (z Int64x4) {
return Int64x4{spec.ConvertToZ[uint64, spec.Width256, int64, spec.Width256](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Uint64x4) ConvertToUint32() (z Uint32x4) {
return Uint32x4{spec.ConvertToZ[uint64, spec.Width256, uint32, spec.Width128](x.v)}
}
// ConvertToFloat32 converts element values to float32. The result has the same number of lanes.
func (x Uint64x8) ConvertToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertToZ[uint64, spec.Width512, float32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint64x8) ConvertToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertToZ[uint64, spec.Width512, float64, spec.Width512](x.v)}
}
// ConvertToInt16 converts element values to int16. The result has the same number of lanes.
func (x Uint64x8) ConvertToInt16() (z Int16x8) {
return Int16x8{spec.ConvertToZ[uint64, spec.Width512, int16, spec.Width128](x.v)}
}
// ConvertToInt32 converts element values to int32. The result has the same number of lanes.
func (x Uint64x8) ConvertToInt32() (z Int32x8) {
return Int32x8{spec.ConvertToZ[uint64, spec.Width512, int32, spec.Width256](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint64x8) ConvertToInt64() (z Int64x8) {
return Int64x8{spec.ConvertToZ[uint64, spec.Width512, int64, spec.Width512](x.v)}
}
// ConvertToUint16 converts element values to uint16. The result has the same number of lanes.
func (x Uint64x8) ConvertToUint16() (z Uint16x8) {
return Uint16x8{spec.ConvertToZ[uint64, spec.Width512, uint16, spec.Width128](x.v)}
}
// ConvertToUint32 converts element values to uint32. The result has the same number of lanes.
func (x Uint64x8) ConvertToUint32() (z Uint32x8) {
return Uint32x8{spec.ConvertToZ[uint64, spec.Width512, uint32, spec.Width256](x.v)}
}
// ConvertToFloat64 converts element values to float64. The result has the same number of lanes.
func (x Uint64s) ConvertToFloat64() (z Float64s) {
return Float64s{spec.ConvertToZ[uint64, spec.WidthScalable, float64, spec.WidthScalable](x.v)}
}
// ConvertToInt64 converts element values to int64. The result has the same number of lanes.
func (x Uint64s) ConvertToInt64() (z Int64s) {
return Int64s{spec.ConvertToZ[uint64, spec.WidthScalable, int64, spec.WidthScalable](x.v)}
}
// ExtendLo8ToInt16 extends the lowest 8 vector elements to int16.
func (x Int8x16) ExtendLo8ToInt16() (z Int16x8) {
return Int16x8{spec.ExtendLoLToZ[int8, spec.Width128, int16](x.v)}
}
// ExtendLo4ToInt32 extends the lowest 4 vector elements to int32.
func (x Int8x16) ExtendLo4ToInt32() (z Int32x4) {
return Int32x4{spec.ExtendLoLToZ[int8, spec.Width128, int32](x.v)}
}
// ExtendLo2ToInt64 extends the lowest 2 vector elements to int64.
func (x Int8x16) ExtendLo2ToInt64() (z Int64x2) {
return Int64x2{spec.ExtendLoLToZ[int8, spec.Width128, int64](x.v)}
}
// ExtendLo16ToInt16 extends the lowest 16 vector elements to int16.
func (x Int8x32) ExtendLo16ToInt16() (z Int16x16) {
return Int16x16{spec.ExtendLoLToZ[int8, spec.Width256, int16](x.v)}
}
// ExtendLo8ToInt32 extends the lowest 8 vector elements to int32.
func (x Int8x32) ExtendLo8ToInt32() (z Int32x8) {
return Int32x8{spec.ExtendLoLToZ[int8, spec.Width256, int32](x.v)}
}
// ExtendLo4ToInt64 extends the lowest 4 vector elements to int64.
func (x Int8x32) ExtendLo4ToInt64() (z Int64x4) {
return Int64x4{spec.ExtendLoLToZ[int8, spec.Width256, int64](x.v)}
}
// ExtendLo32ToInt16 extends the lowest 32 vector elements to int16.
func (x Int8x64) ExtendLo32ToInt16() (z Int16x32) {
return Int16x32{spec.ExtendLoLToZ[int8, spec.Width512, int16](x.v)}
}
// ExtendLo16ToInt32 extends the lowest 16 vector elements to int32.
func (x Int8x64) ExtendLo16ToInt32() (z Int32x16) {
return Int32x16{spec.ExtendLoLToZ[int8, spec.Width512, int32](x.v)}
}
// ExtendLo8ToInt64 extends the lowest 8 vector elements to int64.
func (x Int8x64) ExtendLo8ToInt64() (z Int64x8) {
return Int64x8{spec.ExtendLoLToZ[int8, spec.Width512, int64](x.v)}
}
// ExtendLo4ToInt32 extends the lowest 4 vector elements to int32.
func (x Int16x8) ExtendLo4ToInt32() (z Int32x4) {
return Int32x4{spec.ExtendLoLToZ[int16, spec.Width128, int32](x.v)}
}
// ExtendLo2ToInt64 extends the lowest 2 vector elements to int64.
func (x Int16x8) ExtendLo2ToInt64() (z Int64x2) {
return Int64x2{spec.ExtendLoLToZ[int16, spec.Width128, int64](x.v)}
}
// ExtendLo8ToInt32 extends the lowest 8 vector elements to int32.
func (x Int16x16) ExtendLo8ToInt32() (z Int32x8) {
return Int32x8{spec.ExtendLoLToZ[int16, spec.Width256, int32](x.v)}
}
// ExtendLo4ToInt64 extends the lowest 4 vector elements to int64.
func (x Int16x16) ExtendLo4ToInt64() (z Int64x4) {
return Int64x4{spec.ExtendLoLToZ[int16, spec.Width256, int64](x.v)}
}
// ExtendLo16ToInt32 extends the lowest 16 vector elements to int32.
func (x Int16x32) ExtendLo16ToInt32() (z Int32x16) {
return Int32x16{spec.ExtendLoLToZ[int16, spec.Width512, int32](x.v)}
}
// ExtendLo8ToInt64 extends the lowest 8 vector elements to int64.
func (x Int16x32) ExtendLo8ToInt64() (z Int64x8) {
return Int64x8{spec.ExtendLoLToZ[int16, spec.Width512, int64](x.v)}
}
// ExtendLo2ToInt64 extends the lowest 2 vector elements to int64.
func (x Int32x4) ExtendLo2ToInt64() (z Int64x2) {
return Int64x2{spec.ExtendLoLToZ[int32, spec.Width128, int64](x.v)}
}
// ExtendLo4ToInt64 extends the lowest 4 vector elements to int64.
func (x Int32x8) ExtendLo4ToInt64() (z Int64x4) {
return Int64x4{spec.ExtendLoLToZ[int32, spec.Width256, int64](x.v)}
}
// ExtendLo8ToInt64 extends the lowest 8 vector elements to int64.
func (x Int32x16) ExtendLo8ToInt64() (z Int64x8) {
return Int64x8{spec.ExtendLoLToZ[int32, spec.Width512, int64](x.v)}
}
// ExtendLo8ToUint16 extends the lowest 8 vector elements to uint16.
func (x Uint8x16) ExtendLo8ToUint16() (z Uint16x8) {
return Uint16x8{spec.ExtendLoLToZ[uint8, spec.Width128, uint16](x.v)}
}
// ExtendLo4ToUint32 extends the lowest 4 vector elements to uint32.
func (x Uint8x16) ExtendLo4ToUint32() (z Uint32x4) {
return Uint32x4{spec.ExtendLoLToZ[uint8, spec.Width128, uint32](x.v)}
}
// ExtendLo2ToUint64 extends the lowest 2 vector elements to uint64.
func (x Uint8x16) ExtendLo2ToUint64() (z Uint64x2) {
return Uint64x2{spec.ExtendLoLToZ[uint8, spec.Width128, uint64](x.v)}
}
// ExtendLo16ToUint16 extends the lowest 16 vector elements to uint16.
func (x Uint8x32) ExtendLo16ToUint16() (z Uint16x16) {
return Uint16x16{spec.ExtendLoLToZ[uint8, spec.Width256, uint16](x.v)}
}
// ExtendLo8ToUint32 extends the lowest 8 vector elements to uint32.
func (x Uint8x32) ExtendLo8ToUint32() (z Uint32x8) {
return Uint32x8{spec.ExtendLoLToZ[uint8, spec.Width256, uint32](x.v)}
}
// ExtendLo4ToUint64 extends the lowest 4 vector elements to uint64.
func (x Uint8x32) ExtendLo4ToUint64() (z Uint64x4) {
return Uint64x4{spec.ExtendLoLToZ[uint8, spec.Width256, uint64](x.v)}
}
// ExtendLo32ToUint16 extends the lowest 32 vector elements to uint16.
func (x Uint8x64) ExtendLo32ToUint16() (z Uint16x32) {
return Uint16x32{spec.ExtendLoLToZ[uint8, spec.Width512, uint16](x.v)}
}
// ExtendLo16ToUint32 extends the lowest 16 vector elements to uint32.
func (x Uint8x64) ExtendLo16ToUint32() (z Uint32x16) {
return Uint32x16{spec.ExtendLoLToZ[uint8, spec.Width512, uint32](x.v)}
}
// ExtendLo8ToUint64 extends the lowest 8 vector elements to uint64.
func (x Uint8x64) ExtendLo8ToUint64() (z Uint64x8) {
return Uint64x8{spec.ExtendLoLToZ[uint8, spec.Width512, uint64](x.v)}
}
// ExtendLo4ToUint32 extends the lowest 4 vector elements to uint32.
func (x Uint16x8) ExtendLo4ToUint32() (z Uint32x4) {
return Uint32x4{spec.ExtendLoLToZ[uint16, spec.Width128, uint32](x.v)}
}
// ExtendLo2ToUint64 extends the lowest 2 vector elements to uint64.
func (x Uint16x8) ExtendLo2ToUint64() (z Uint64x2) {
return Uint64x2{spec.ExtendLoLToZ[uint16, spec.Width128, uint64](x.v)}
}
// ExtendLo8ToUint32 extends the lowest 8 vector elements to uint32.
func (x Uint16x16) ExtendLo8ToUint32() (z Uint32x8) {
return Uint32x8{spec.ExtendLoLToZ[uint16, spec.Width256, uint32](x.v)}
}
// ExtendLo4ToUint64 extends the lowest 4 vector elements to uint64.
func (x Uint16x16) ExtendLo4ToUint64() (z Uint64x4) {
return Uint64x4{spec.ExtendLoLToZ[uint16, spec.Width256, uint64](x.v)}
}
// ExtendLo16ToUint32 extends the lowest 16 vector elements to uint32.
func (x Uint16x32) ExtendLo16ToUint32() (z Uint32x16) {
return Uint32x16{spec.ExtendLoLToZ[uint16, spec.Width512, uint32](x.v)}
}
// ExtendLo8ToUint64 extends the lowest 8 vector elements to uint64.
func (x Uint16x32) ExtendLo8ToUint64() (z Uint64x8) {
return Uint64x8{spec.ExtendLoLToZ[uint16, spec.Width512, uint64](x.v)}
}
// ExtendLo2ToUint64 extends the lowest 2 vector elements to uint64.
func (x Uint32x4) ExtendLo2ToUint64() (z Uint64x2) {
return Uint64x2{spec.ExtendLoLToZ[uint32, spec.Width128, uint64](x.v)}
}
// ExtendLo4ToUint64 extends the lowest 4 vector elements to uint64.
func (x Uint32x8) ExtendLo4ToUint64() (z Uint64x4) {
return Uint64x4{spec.ExtendLoLToZ[uint32, spec.Width256, uint64](x.v)}
}
// ExtendLo8ToUint64 extends the lowest 8 vector elements to uint64.
func (x Uint32x16) ExtendLo8ToUint64() (z Uint64x8) {
return Uint64x8{spec.ExtendLoLToZ[uint32, spec.Width512, uint64](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Float32x4) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[float32, spec.Width128, float64](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Float32x8) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[float32, spec.Width256, float64](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Float32x16) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[float32, spec.Width512, float64](x.v)}
}
// ConvertLo4ToFloat32 converts the low-indexed 4 elements of x to float32.
func (x Int8x16) ConvertLo4ToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertLoLToZ[int8, spec.Width128, float32](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Int8x16) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[int8, spec.Width128, float64](x.v)}
}
// ConvertLo8ToFloat32 converts the low-indexed 8 elements of x to float32.
func (x Int8x32) ConvertLo8ToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertLoLToZ[int8, spec.Width256, float32](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Int8x32) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[int8, spec.Width256, float64](x.v)}
}
// ConvertLo16ToFloat32 converts the low-indexed 16 elements of x to float32.
func (x Int8x64) ConvertLo16ToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertLoLToZ[int8, spec.Width512, float32](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Int8x64) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[int8, spec.Width512, float64](x.v)}
}
// ConvertLo4ToFloat32 converts the low-indexed 4 elements of x to float32.
func (x Int16x8) ConvertLo4ToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertLoLToZ[int16, spec.Width128, float32](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Int16x8) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[int16, spec.Width128, float64](x.v)}
}
// ConvertLo8ToFloat32 converts the low-indexed 8 elements of x to float32.
func (x Int16x16) ConvertLo8ToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertLoLToZ[int16, spec.Width256, float32](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Int16x16) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[int16, spec.Width256, float64](x.v)}
}
// ConvertLo16ToFloat32 converts the low-indexed 16 elements of x to float32.
func (x Int16x32) ConvertLo16ToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertLoLToZ[int16, spec.Width512, float32](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Int16x32) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[int16, spec.Width512, float64](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Int32x4) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[int32, spec.Width128, float64](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Int32x8) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[int32, spec.Width256, float64](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Int32x16) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[int32, spec.Width512, float64](x.v)}
}
// ConvertLo4ToFloat32 converts the low-indexed 4 elements of x to float32.
func (x Uint8x16) ConvertLo4ToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertLoLToZ[uint8, spec.Width128, float32](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Uint8x16) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[uint8, spec.Width128, float64](x.v)}
}
// ConvertLo8ToFloat32 converts the low-indexed 8 elements of x to float32.
func (x Uint8x32) ConvertLo8ToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertLoLToZ[uint8, spec.Width256, float32](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Uint8x32) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[uint8, spec.Width256, float64](x.v)}
}
// ConvertLo16ToFloat32 converts the low-indexed 16 elements of x to float32.
func (x Uint8x64) ConvertLo16ToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertLoLToZ[uint8, spec.Width512, float32](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Uint8x64) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[uint8, spec.Width512, float64](x.v)}
}
// ConvertLo4ToFloat32 converts the low-indexed 4 elements of x to float32.
func (x Uint16x8) ConvertLo4ToFloat32() (z Float32x4) {
return Float32x4{spec.ConvertLoLToZ[uint16, spec.Width128, float32](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Uint16x8) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[uint16, spec.Width128, float64](x.v)}
}
// ConvertLo8ToFloat32 converts the low-indexed 8 elements of x to float32.
func (x Uint16x16) ConvertLo8ToFloat32() (z Float32x8) {
return Float32x8{spec.ConvertLoLToZ[uint16, spec.Width256, float32](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Uint16x16) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[uint16, spec.Width256, float64](x.v)}
}
// ConvertLo16ToFloat32 converts the low-indexed 16 elements of x to float32.
func (x Uint16x32) ConvertLo16ToFloat32() (z Float32x16) {
return Float32x16{spec.ConvertLoLToZ[uint16, spec.Width512, float32](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Uint16x32) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[uint16, spec.Width512, float64](x.v)}
}
// ConvertLo2ToFloat64 converts the low-indexed 2 elements of x to float64.
func (x Uint32x4) ConvertLo2ToFloat64() (z Float64x2) {
return Float64x2{spec.ConvertLoLToZ[uint32, spec.Width128, float64](x.v)}
}
// ConvertLo4ToFloat64 converts the low-indexed 4 elements of x to float64.
func (x Uint32x8) ConvertLo4ToFloat64() (z Float64x4) {
return Float64x4{spec.ConvertLoLToZ[uint32, spec.Width256, float64](x.v)}
}
// ConvertLo8ToFloat64 converts the low-indexed 8 elements of x to float64.
func (x Uint32x16) ConvertLo8ToFloat64() (z Float64x8) {
return Float64x8{spec.ConvertLoLToZ[uint32, spec.Width512, float64](x.v)}
}
// BroadcastFloat32x4 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat32x4(x float32) (z Float32x4) {
return Float32x4{spec.BroadcastZ[float32, spec.Width128](x)}
}
// BroadcastFloat32x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat32x8(x float32) (z Float32x8) {
return Float32x8{spec.BroadcastZ[float32, spec.Width256](x)}
}
// BroadcastFloat32x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat32x16(x float32) (z Float32x16) {
return Float32x16{spec.BroadcastZ[float32, spec.Width512](x)}
}
// BroadcastFloat32s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat32s(x float32) (z Float32s) {
return Float32s{spec.BroadcastZ[float32, spec.WidthScalable](x)}
}
// BroadcastFloat64x2 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat64x2(x float64) (z Float64x2) {
return Float64x2{spec.BroadcastZ[float64, spec.Width128](x)}
}
// BroadcastFloat64x4 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat64x4(x float64) (z Float64x4) {
return Float64x4{spec.BroadcastZ[float64, spec.Width256](x)}
}
// BroadcastFloat64x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat64x8(x float64) (z Float64x8) {
return Float64x8{spec.BroadcastZ[float64, spec.Width512](x)}
}
// BroadcastFloat64s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastFloat64s(x float64) (z Float64s) {
return Float64s{spec.BroadcastZ[float64, spec.WidthScalable](x)}
}
// BroadcastInt8x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt8x16(x int8) (z Int8x16) {
return Int8x16{spec.BroadcastZ[int8, spec.Width128](x)}
}
// BroadcastInt8x32 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt8x32(x int8) (z Int8x32) {
return Int8x32{spec.BroadcastZ[int8, spec.Width256](x)}
}
// BroadcastInt8x64 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt8x64(x int8) (z Int8x64) {
return Int8x64{spec.BroadcastZ[int8, spec.Width512](x)}
}
// BroadcastInt8s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt8s(x int8) (z Int8s) {
return Int8s{spec.BroadcastZ[int8, spec.WidthScalable](x)}
}
// BroadcastInt16x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt16x8(x int16) (z Int16x8) {
return Int16x8{spec.BroadcastZ[int16, spec.Width128](x)}
}
// BroadcastInt16x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt16x16(x int16) (z Int16x16) {
return Int16x16{spec.BroadcastZ[int16, spec.Width256](x)}
}
// BroadcastInt16x32 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt16x32(x int16) (z Int16x32) {
return Int16x32{spec.BroadcastZ[int16, spec.Width512](x)}
}
// BroadcastInt16s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt16s(x int16) (z Int16s) {
return Int16s{spec.BroadcastZ[int16, spec.WidthScalable](x)}
}
// BroadcastInt32x4 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt32x4(x int32) (z Int32x4) {
return Int32x4{spec.BroadcastZ[int32, spec.Width128](x)}
}
// BroadcastInt32x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt32x8(x int32) (z Int32x8) {
return Int32x8{spec.BroadcastZ[int32, spec.Width256](x)}
}
// BroadcastInt32x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt32x16(x int32) (z Int32x16) {
return Int32x16{spec.BroadcastZ[int32, spec.Width512](x)}
}
// BroadcastInt32s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt32s(x int32) (z Int32s) {
return Int32s{spec.BroadcastZ[int32, spec.WidthScalable](x)}
}
// BroadcastInt64x2 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt64x2(x int64) (z Int64x2) {
return Int64x2{spec.BroadcastZ[int64, spec.Width128](x)}
}
// BroadcastInt64x4 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt64x4(x int64) (z Int64x4) {
return Int64x4{spec.BroadcastZ[int64, spec.Width256](x)}
}
// BroadcastInt64x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt64x8(x int64) (z Int64x8) {
return Int64x8{spec.BroadcastZ[int64, spec.Width512](x)}
}
// BroadcastInt64s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastInt64s(x int64) (z Int64s) {
return Int64s{spec.BroadcastZ[int64, spec.WidthScalable](x)}
}
// BroadcastUint8x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint8x16(x uint8) (z Uint8x16) {
return Uint8x16{spec.BroadcastZ[uint8, spec.Width128](x)}
}
// BroadcastUint8x32 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint8x32(x uint8) (z Uint8x32) {
return Uint8x32{spec.BroadcastZ[uint8, spec.Width256](x)}
}
// BroadcastUint8x64 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint8x64(x uint8) (z Uint8x64) {
return Uint8x64{spec.BroadcastZ[uint8, spec.Width512](x)}
}
// BroadcastUint8s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint8s(x uint8) (z Uint8s) {
return Uint8s{spec.BroadcastZ[uint8, spec.WidthScalable](x)}
}
// BroadcastUint16x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint16x8(x uint16) (z Uint16x8) {
return Uint16x8{spec.BroadcastZ[uint16, spec.Width128](x)}
}
// BroadcastUint16x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint16x16(x uint16) (z Uint16x16) {
return Uint16x16{spec.BroadcastZ[uint16, spec.Width256](x)}
}
// BroadcastUint16x32 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint16x32(x uint16) (z Uint16x32) {
return Uint16x32{spec.BroadcastZ[uint16, spec.Width512](x)}
}
// BroadcastUint16s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint16s(x uint16) (z Uint16s) {
return Uint16s{spec.BroadcastZ[uint16, spec.WidthScalable](x)}
}
// BroadcastUint32x4 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint32x4(x uint32) (z Uint32x4) {
return Uint32x4{spec.BroadcastZ[uint32, spec.Width128](x)}
}
// BroadcastUint32x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint32x8(x uint32) (z Uint32x8) {
return Uint32x8{spec.BroadcastZ[uint32, spec.Width256](x)}
}
// BroadcastUint32x16 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint32x16(x uint32) (z Uint32x16) {
return Uint32x16{spec.BroadcastZ[uint32, spec.Width512](x)}
}
// BroadcastUint32s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint32s(x uint32) (z Uint32s) {
return Uint32s{spec.BroadcastZ[uint32, spec.WidthScalable](x)}
}
// BroadcastUint64x2 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint64x2(x uint64) (z Uint64x2) {
return Uint64x2{spec.BroadcastZ[uint64, spec.Width128](x)}
}
// BroadcastUint64x4 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint64x4(x uint64) (z Uint64x4) {
return Uint64x4{spec.BroadcastZ[uint64, spec.Width256](x)}
}
// BroadcastUint64x8 returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint64x8(x uint64) (z Uint64x8) {
return Uint64x8{spec.BroadcastZ[uint64, spec.Width512](x)}
}
// BroadcastUint64s returns a vector with the input x assigned to all elements of the
// result.
func BroadcastUint64s(x uint64) (z Uint64s) {
return Uint64s{spec.BroadcastZ[uint64, spec.WidthScalable](x)}
}
// LoadFloat32x4 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat32x4(s []float32) (z Float32x4) {
return Float32x4{spec.LoadZ[float32, spec.Width128](s)}
}
// LoadFloat32x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat32x8(s []float32) (z Float32x8) {
return Float32x8{spec.LoadZ[float32, spec.Width256](s)}
}
// LoadFloat32x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat32x16(s []float32) (z Float32x16) {
return Float32x16{spec.LoadZ[float32, spec.Width512](s)}
}
// LoadFloat32s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat32s(s []float32) (z Float32s) {
return Float32s{spec.LoadZ[float32, spec.WidthScalable](s)}
}
// LoadFloat64x2 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat64x2(s []float64) (z Float64x2) {
return Float64x2{spec.LoadZ[float64, spec.Width128](s)}
}
// LoadFloat64x4 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat64x4(s []float64) (z Float64x4) {
return Float64x4{spec.LoadZ[float64, spec.Width256](s)}
}
// LoadFloat64x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat64x8(s []float64) (z Float64x8) {
return Float64x8{spec.LoadZ[float64, spec.Width512](s)}
}
// LoadFloat64s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadFloat64s(s []float64) (z Float64s) {
return Float64s{spec.LoadZ[float64, spec.WidthScalable](s)}
}
// LoadInt8x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt8x16(s []int8) (z Int8x16) {
return Int8x16{spec.LoadZ[int8, spec.Width128](s)}
}
// LoadInt8x32 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt8x32(s []int8) (z Int8x32) {
return Int8x32{spec.LoadZ[int8, spec.Width256](s)}
}
// LoadInt8x64 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt8x64(s []int8) (z Int8x64) {
return Int8x64{spec.LoadZ[int8, spec.Width512](s)}
}
// LoadInt8s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt8s(s []int8) (z Int8s) {
return Int8s{spec.LoadZ[int8, spec.WidthScalable](s)}
}
// LoadInt16x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt16x8(s []int16) (z Int16x8) {
return Int16x8{spec.LoadZ[int16, spec.Width128](s)}
}
// LoadInt16x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt16x16(s []int16) (z Int16x16) {
return Int16x16{spec.LoadZ[int16, spec.Width256](s)}
}
// LoadInt16x32 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt16x32(s []int16) (z Int16x32) {
return Int16x32{spec.LoadZ[int16, spec.Width512](s)}
}
// LoadInt16s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt16s(s []int16) (z Int16s) {
return Int16s{spec.LoadZ[int16, spec.WidthScalable](s)}
}
// LoadInt32x4 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt32x4(s []int32) (z Int32x4) {
return Int32x4{spec.LoadZ[int32, spec.Width128](s)}
}
// LoadInt32x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt32x8(s []int32) (z Int32x8) {
return Int32x8{spec.LoadZ[int32, spec.Width256](s)}
}
// LoadInt32x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt32x16(s []int32) (z Int32x16) {
return Int32x16{spec.LoadZ[int32, spec.Width512](s)}
}
// LoadInt32s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt32s(s []int32) (z Int32s) {
return Int32s{spec.LoadZ[int32, spec.WidthScalable](s)}
}
// LoadInt64x2 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt64x2(s []int64) (z Int64x2) {
return Int64x2{spec.LoadZ[int64, spec.Width128](s)}
}
// LoadInt64x4 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt64x4(s []int64) (z Int64x4) {
return Int64x4{spec.LoadZ[int64, spec.Width256](s)}
}
// LoadInt64x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt64x8(s []int64) (z Int64x8) {
return Int64x8{spec.LoadZ[int64, spec.Width512](s)}
}
// LoadInt64s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadInt64s(s []int64) (z Int64s) {
return Int64s{spec.LoadZ[int64, spec.WidthScalable](s)}
}
// LoadUint8x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint8x16(s []uint8) (z Uint8x16) {
return Uint8x16{spec.LoadZ[uint8, spec.Width128](s)}
}
// LoadUint8x32 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint8x32(s []uint8) (z Uint8x32) {
return Uint8x32{spec.LoadZ[uint8, spec.Width256](s)}
}
// LoadUint8x64 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint8x64(s []uint8) (z Uint8x64) {
return Uint8x64{spec.LoadZ[uint8, spec.Width512](s)}
}
// LoadUint8s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint8s(s []uint8) (z Uint8s) {
return Uint8s{spec.LoadZ[uint8, spec.WidthScalable](s)}
}
// LoadUint16x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint16x8(s []uint16) (z Uint16x8) {
return Uint16x8{spec.LoadZ[uint16, spec.Width128](s)}
}
// LoadUint16x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint16x16(s []uint16) (z Uint16x16) {
return Uint16x16{spec.LoadZ[uint16, spec.Width256](s)}
}
// LoadUint16x32 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint16x32(s []uint16) (z Uint16x32) {
return Uint16x32{spec.LoadZ[uint16, spec.Width512](s)}
}
// LoadUint16s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint16s(s []uint16) (z Uint16s) {
return Uint16s{spec.LoadZ[uint16, spec.WidthScalable](s)}
}
// LoadUint32x4 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint32x4(s []uint32) (z Uint32x4) {
return Uint32x4{spec.LoadZ[uint32, spec.Width128](s)}
}
// LoadUint32x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint32x8(s []uint32) (z Uint32x8) {
return Uint32x8{spec.LoadZ[uint32, spec.Width256](s)}
}
// LoadUint32x16 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint32x16(s []uint32) (z Uint32x16) {
return Uint32x16{spec.LoadZ[uint32, spec.Width512](s)}
}
// LoadUint32s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint32s(s []uint32) (z Uint32s) {
return Uint32s{spec.LoadZ[uint32, spec.WidthScalable](s)}
}
// LoadUint64x2 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint64x2(s []uint64) (z Uint64x2) {
return Uint64x2{spec.LoadZ[uint64, spec.Width128](s)}
}
// LoadUint64x4 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint64x4(s []uint64) (z Uint64x4) {
return Uint64x4{spec.LoadZ[uint64, spec.Width256](s)}
}
// LoadUint64x8 loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint64x8(s []uint64) (z Uint64x8) {
return Uint64x8{spec.LoadZ[uint64, spec.Width512](s)}
}
// LoadUint64s loads a slice into a vector. If len(s) is less than the number of
// elements in the vector, it panics.
func LoadUint64s(s []uint64) (z Uint64s) {
return Uint64s{spec.LoadZ[uint64, spec.WidthScalable](s)}
}
// LoadFloat32x4Array loads an array into a vector.
func LoadFloat32x4Array(x *[4]float32) (z Float32x4) {
var tmp0 spec.Array[float32, spec.Width128] = x[:]
return Float32x4{spec.LoadZArray[float32, spec.Width128](&tmp0)}
}
// LoadFloat32x8Array loads an array into a vector.
func LoadFloat32x8Array(x *[8]float32) (z Float32x8) {
var tmp0 spec.Array[float32, spec.Width256] = x[:]
return Float32x8{spec.LoadZArray[float32, spec.Width256](&tmp0)}
}
// LoadFloat32x16Array loads an array into a vector.
func LoadFloat32x16Array(x *[16]float32) (z Float32x16) {
var tmp0 spec.Array[float32, spec.Width512] = x[:]
return Float32x16{spec.LoadZArray[float32, spec.Width512](&tmp0)}
}
// LoadFloat64x2Array loads an array into a vector.
func LoadFloat64x2Array(x *[2]float64) (z Float64x2) {
var tmp0 spec.Array[float64, spec.Width128] = x[:]
return Float64x2{spec.LoadZArray[float64, spec.Width128](&tmp0)}
}
// LoadFloat64x4Array loads an array into a vector.
func LoadFloat64x4Array(x *[4]float64) (z Float64x4) {
var tmp0 spec.Array[float64, spec.Width256] = x[:]
return Float64x4{spec.LoadZArray[float64, spec.Width256](&tmp0)}
}
// LoadFloat64x8Array loads an array into a vector.
func LoadFloat64x8Array(x *[8]float64) (z Float64x8) {
var tmp0 spec.Array[float64, spec.Width512] = x[:]
return Float64x8{spec.LoadZArray[float64, spec.Width512](&tmp0)}
}
// LoadInt8x16Array loads an array into a vector.
func LoadInt8x16Array(x *[16]int8) (z Int8x16) {
var tmp0 spec.Array[int8, spec.Width128] = x[:]
return Int8x16{spec.LoadZArray[int8, spec.Width128](&tmp0)}
}
// LoadInt8x32Array loads an array into a vector.
func LoadInt8x32Array(x *[32]int8) (z Int8x32) {
var tmp0 spec.Array[int8, spec.Width256] = x[:]
return Int8x32{spec.LoadZArray[int8, spec.Width256](&tmp0)}
}
// LoadInt8x64Array loads an array into a vector.
func LoadInt8x64Array(x *[64]int8) (z Int8x64) {
var tmp0 spec.Array[int8, spec.Width512] = x[:]
return Int8x64{spec.LoadZArray[int8, spec.Width512](&tmp0)}
}
// LoadInt16x8Array loads an array into a vector.
func LoadInt16x8Array(x *[8]int16) (z Int16x8) {
var tmp0 spec.Array[int16, spec.Width128] = x[:]
return Int16x8{spec.LoadZArray[int16, spec.Width128](&tmp0)}
}
// LoadInt16x16Array loads an array into a vector.
func LoadInt16x16Array(x *[16]int16) (z Int16x16) {
var tmp0 spec.Array[int16, spec.Width256] = x[:]
return Int16x16{spec.LoadZArray[int16, spec.Width256](&tmp0)}
}
// LoadInt16x32Array loads an array into a vector.
func LoadInt16x32Array(x *[32]int16) (z Int16x32) {
var tmp0 spec.Array[int16, spec.Width512] = x[:]
return Int16x32{spec.LoadZArray[int16, spec.Width512](&tmp0)}
}
// LoadInt32x4Array loads an array into a vector.
func LoadInt32x4Array(x *[4]int32) (z Int32x4) {
var tmp0 spec.Array[int32, spec.Width128] = x[:]
return Int32x4{spec.LoadZArray[int32, spec.Width128](&tmp0)}
}
// LoadInt32x8Array loads an array into a vector.
func LoadInt32x8Array(x *[8]int32) (z Int32x8) {
var tmp0 spec.Array[int32, spec.Width256] = x[:]
return Int32x8{spec.LoadZArray[int32, spec.Width256](&tmp0)}
}
// LoadInt32x16Array loads an array into a vector.
func LoadInt32x16Array(x *[16]int32) (z Int32x16) {
var tmp0 spec.Array[int32, spec.Width512] = x[:]
return Int32x16{spec.LoadZArray[int32, spec.Width512](&tmp0)}
}
// LoadInt64x2Array loads an array into a vector.
func LoadInt64x2Array(x *[2]int64) (z Int64x2) {
var tmp0 spec.Array[int64, spec.Width128] = x[:]
return Int64x2{spec.LoadZArray[int64, spec.Width128](&tmp0)}
}
// LoadInt64x4Array loads an array into a vector.
func LoadInt64x4Array(x *[4]int64) (z Int64x4) {
var tmp0 spec.Array[int64, spec.Width256] = x[:]
return Int64x4{spec.LoadZArray[int64, spec.Width256](&tmp0)}
}
// LoadInt64x8Array loads an array into a vector.
func LoadInt64x8Array(x *[8]int64) (z Int64x8) {
var tmp0 spec.Array[int64, spec.Width512] = x[:]
return Int64x8{spec.LoadZArray[int64, spec.Width512](&tmp0)}
}
// LoadUint8x16Array loads an array into a vector.
func LoadUint8x16Array(x *[16]uint8) (z Uint8x16) {
var tmp0 spec.Array[uint8, spec.Width128] = x[:]
return Uint8x16{spec.LoadZArray[uint8, spec.Width128](&tmp0)}
}
// LoadUint8x32Array loads an array into a vector.
func LoadUint8x32Array(x *[32]uint8) (z Uint8x32) {
var tmp0 spec.Array[uint8, spec.Width256] = x[:]
return Uint8x32{spec.LoadZArray[uint8, spec.Width256](&tmp0)}
}
// LoadUint8x64Array loads an array into a vector.
func LoadUint8x64Array(x *[64]uint8) (z Uint8x64) {
var tmp0 spec.Array[uint8, spec.Width512] = x[:]
return Uint8x64{spec.LoadZArray[uint8, spec.Width512](&tmp0)}
}
// LoadUint16x8Array loads an array into a vector.
func LoadUint16x8Array(x *[8]uint16) (z Uint16x8) {
var tmp0 spec.Array[uint16, spec.Width128] = x[:]
return Uint16x8{spec.LoadZArray[uint16, spec.Width128](&tmp0)}
}
// LoadUint16x16Array loads an array into a vector.
func LoadUint16x16Array(x *[16]uint16) (z Uint16x16) {
var tmp0 spec.Array[uint16, spec.Width256] = x[:]
return Uint16x16{spec.LoadZArray[uint16, spec.Width256](&tmp0)}
}
// LoadUint16x32Array loads an array into a vector.
func LoadUint16x32Array(x *[32]uint16) (z Uint16x32) {
var tmp0 spec.Array[uint16, spec.Width512] = x[:]
return Uint16x32{spec.LoadZArray[uint16, spec.Width512](&tmp0)}
}
// LoadUint32x4Array loads an array into a vector.
func LoadUint32x4Array(x *[4]uint32) (z Uint32x4) {
var tmp0 spec.Array[uint32, spec.Width128] = x[:]
return Uint32x4{spec.LoadZArray[uint32, spec.Width128](&tmp0)}
}
// LoadUint32x8Array loads an array into a vector.
func LoadUint32x8Array(x *[8]uint32) (z Uint32x8) {
var tmp0 spec.Array[uint32, spec.Width256] = x[:]
return Uint32x8{spec.LoadZArray[uint32, spec.Width256](&tmp0)}
}
// LoadUint32x16Array loads an array into a vector.
func LoadUint32x16Array(x *[16]uint32) (z Uint32x16) {
var tmp0 spec.Array[uint32, spec.Width512] = x[:]
return Uint32x16{spec.LoadZArray[uint32, spec.Width512](&tmp0)}
}
// LoadUint64x2Array loads an array into a vector.
func LoadUint64x2Array(x *[2]uint64) (z Uint64x2) {
var tmp0 spec.Array[uint64, spec.Width128] = x[:]
return Uint64x2{spec.LoadZArray[uint64, spec.Width128](&tmp0)}
}
// LoadUint64x4Array loads an array into a vector.
func LoadUint64x4Array(x *[4]uint64) (z Uint64x4) {
var tmp0 spec.Array[uint64, spec.Width256] = x[:]
return Uint64x4{spec.LoadZArray[uint64, spec.Width256](&tmp0)}
}
// LoadUint64x8Array loads an array into a vector.
func LoadUint64x8Array(x *[8]uint64) (z Uint64x8) {
var tmp0 spec.Array[uint64, spec.Width512] = x[:]
return Uint64x8{spec.LoadZArray[uint64, spec.Width512](&tmp0)}
}
// LoadFloat32x4Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat32x4Part(s []float32) (z Float32x4, n int) {
r1, r2 := spec.LoadZPart[float32, spec.Width128](s)
return Float32x4{r1}, r2
}
// LoadFloat32x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat32x8Part(s []float32) (z Float32x8, n int) {
r1, r2 := spec.LoadZPart[float32, spec.Width256](s)
return Float32x8{r1}, r2
}
// LoadFloat32x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat32x16Part(s []float32) (z Float32x16, n int) {
r1, r2 := spec.LoadZPart[float32, spec.Width512](s)
return Float32x16{r1}, r2
}
// LoadFloat32sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat32sPart(s []float32) (z Float32s, n int) {
r1, r2 := spec.LoadZPart[float32, spec.WidthScalable](s)
return Float32s{r1}, r2
}
// LoadFloat64x2Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat64x2Part(s []float64) (z Float64x2, n int) {
r1, r2 := spec.LoadZPart[float64, spec.Width128](s)
return Float64x2{r1}, r2
}
// LoadFloat64x4Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat64x4Part(s []float64) (z Float64x4, n int) {
r1, r2 := spec.LoadZPart[float64, spec.Width256](s)
return Float64x4{r1}, r2
}
// LoadFloat64x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat64x8Part(s []float64) (z Float64x8, n int) {
r1, r2 := spec.LoadZPart[float64, spec.Width512](s)
return Float64x8{r1}, r2
}
// LoadFloat64sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadFloat64sPart(s []float64) (z Float64s, n int) {
r1, r2 := spec.LoadZPart[float64, spec.WidthScalable](s)
return Float64s{r1}, r2
}
// LoadInt8x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt8x16Part(s []int8) (z Int8x16, n int) {
r1, r2 := spec.LoadZPart[int8, spec.Width128](s)
return Int8x16{r1}, r2
}
// LoadInt8x32Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt8x32Part(s []int8) (z Int8x32, n int) {
r1, r2 := spec.LoadZPart[int8, spec.Width256](s)
return Int8x32{r1}, r2
}
// LoadInt8x64Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt8x64Part(s []int8) (z Int8x64, n int) {
r1, r2 := spec.LoadZPart[int8, spec.Width512](s)
return Int8x64{r1}, r2
}
// LoadInt8sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt8sPart(s []int8) (z Int8s, n int) {
r1, r2 := spec.LoadZPart[int8, spec.WidthScalable](s)
return Int8s{r1}, r2
}
// LoadInt16x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt16x8Part(s []int16) (z Int16x8, n int) {
r1, r2 := spec.LoadZPart[int16, spec.Width128](s)
return Int16x8{r1}, r2
}
// LoadInt16x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt16x16Part(s []int16) (z Int16x16, n int) {
r1, r2 := spec.LoadZPart[int16, spec.Width256](s)
return Int16x16{r1}, r2
}
// LoadInt16x32Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt16x32Part(s []int16) (z Int16x32, n int) {
r1, r2 := spec.LoadZPart[int16, spec.Width512](s)
return Int16x32{r1}, r2
}
// LoadInt16sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt16sPart(s []int16) (z Int16s, n int) {
r1, r2 := spec.LoadZPart[int16, spec.WidthScalable](s)
return Int16s{r1}, r2
}
// LoadInt32x4Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt32x4Part(s []int32) (z Int32x4, n int) {
r1, r2 := spec.LoadZPart[int32, spec.Width128](s)
return Int32x4{r1}, r2
}
// LoadInt32x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt32x8Part(s []int32) (z Int32x8, n int) {
r1, r2 := spec.LoadZPart[int32, spec.Width256](s)
return Int32x8{r1}, r2
}
// LoadInt32x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt32x16Part(s []int32) (z Int32x16, n int) {
r1, r2 := spec.LoadZPart[int32, spec.Width512](s)
return Int32x16{r1}, r2
}
// LoadInt32sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt32sPart(s []int32) (z Int32s, n int) {
r1, r2 := spec.LoadZPart[int32, spec.WidthScalable](s)
return Int32s{r1}, r2
}
// LoadInt64x2Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt64x2Part(s []int64) (z Int64x2, n int) {
r1, r2 := spec.LoadZPart[int64, spec.Width128](s)
return Int64x2{r1}, r2
}
// LoadInt64x4Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt64x4Part(s []int64) (z Int64x4, n int) {
r1, r2 := spec.LoadZPart[int64, spec.Width256](s)
return Int64x4{r1}, r2
}
// LoadInt64x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt64x8Part(s []int64) (z Int64x8, n int) {
r1, r2 := spec.LoadZPart[int64, spec.Width512](s)
return Int64x8{r1}, r2
}
// LoadInt64sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadInt64sPart(s []int64) (z Int64s, n int) {
r1, r2 := spec.LoadZPart[int64, spec.WidthScalable](s)
return Int64s{r1}, r2
}
// LoadUint8x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint8x16Part(s []uint8) (z Uint8x16, n int) {
r1, r2 := spec.LoadZPart[uint8, spec.Width128](s)
return Uint8x16{r1}, r2
}
// LoadUint8x32Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint8x32Part(s []uint8) (z Uint8x32, n int) {
r1, r2 := spec.LoadZPart[uint8, spec.Width256](s)
return Uint8x32{r1}, r2
}
// LoadUint8x64Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint8x64Part(s []uint8) (z Uint8x64, n int) {
r1, r2 := spec.LoadZPart[uint8, spec.Width512](s)
return Uint8x64{r1}, r2
}
// LoadUint8sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint8sPart(s []uint8) (z Uint8s, n int) {
r1, r2 := spec.LoadZPart[uint8, spec.WidthScalable](s)
return Uint8s{r1}, r2
}
// LoadUint16x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint16x8Part(s []uint16) (z Uint16x8, n int) {
r1, r2 := spec.LoadZPart[uint16, spec.Width128](s)
return Uint16x8{r1}, r2
}
// LoadUint16x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint16x16Part(s []uint16) (z Uint16x16, n int) {
r1, r2 := spec.LoadZPart[uint16, spec.Width256](s)
return Uint16x16{r1}, r2
}
// LoadUint16x32Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint16x32Part(s []uint16) (z Uint16x32, n int) {
r1, r2 := spec.LoadZPart[uint16, spec.Width512](s)
return Uint16x32{r1}, r2
}
// LoadUint16sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint16sPart(s []uint16) (z Uint16s, n int) {
r1, r2 := spec.LoadZPart[uint16, spec.WidthScalable](s)
return Uint16s{r1}, r2
}
// LoadUint32x4Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint32x4Part(s []uint32) (z Uint32x4, n int) {
r1, r2 := spec.LoadZPart[uint32, spec.Width128](s)
return Uint32x4{r1}, r2
}
// LoadUint32x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint32x8Part(s []uint32) (z Uint32x8, n int) {
r1, r2 := spec.LoadZPart[uint32, spec.Width256](s)
return Uint32x8{r1}, r2
}
// LoadUint32x16Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint32x16Part(s []uint32) (z Uint32x16, n int) {
r1, r2 := spec.LoadZPart[uint32, spec.Width512](s)
return Uint32x16{r1}, r2
}
// LoadUint32sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint32sPart(s []uint32) (z Uint32s, n int) {
r1, r2 := spec.LoadZPart[uint32, spec.WidthScalable](s)
return Uint32s{r1}, r2
}
// LoadUint64x2Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint64x2Part(s []uint64) (z Uint64x2, n int) {
r1, r2 := spec.LoadZPart[uint64, spec.Width128](s)
return Uint64x2{r1}, r2
}
// LoadUint64x4Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint64x4Part(s []uint64) (z Uint64x4, n int) {
r1, r2 := spec.LoadZPart[uint64, spec.Width256](s)
return Uint64x4{r1}, r2
}
// LoadUint64x8Part loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint64x8Part(s []uint64) (z Uint64x8, n int) {
r1, r2 := spec.LoadZPart[uint64, spec.Width512](s)
return Uint64x8{r1}, r2
}
// LoadUint64sPart loads a slice into a vector and returns the vector and the number
// of elements loaded from s. If len(s) is less than the number of elements in
// the vector, the remaining vector elements will be zero-filled.
func LoadUint64sPart(s []uint64) (z Uint64s, n int) {
r1, r2 := spec.LoadZPart[uint64, spec.WidthScalable](s)
return Uint64s{r1}, r2
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float32x4) Store(s []float32) {
spec.Store[float32, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float32x8) Store(s []float32) {
spec.Store[float32, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float32x16) Store(s []float32) {
spec.Store[float32, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float32s) Store(s []float32) {
spec.Store[float32, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float64x2) Store(s []float64) {
spec.Store[float64, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float64x4) Store(s []float64) {
spec.Store[float64, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float64x8) Store(s []float64) {
spec.Store[float64, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Float64s) Store(s []float64) {
spec.Store[float64, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int8x16) Store(s []int8) {
spec.Store[int8, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int8x32) Store(s []int8) {
spec.Store[int8, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int8x64) Store(s []int8) {
spec.Store[int8, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int8s) Store(s []int8) {
spec.Store[int8, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int16x8) Store(s []int16) {
spec.Store[int16, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int16x16) Store(s []int16) {
spec.Store[int16, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int16x32) Store(s []int16) {
spec.Store[int16, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int16s) Store(s []int16) {
spec.Store[int16, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int32x4) Store(s []int32) {
spec.Store[int32, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int32x8) Store(s []int32) {
spec.Store[int32, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int32x16) Store(s []int32) {
spec.Store[int32, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int32s) Store(s []int32) {
spec.Store[int32, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int64x2) Store(s []int64) {
spec.Store[int64, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int64x4) Store(s []int64) {
spec.Store[int64, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int64x8) Store(s []int64) {
spec.Store[int64, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Int64s) Store(s []int64) {
spec.Store[int64, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint8x16) Store(s []uint8) {
spec.Store[uint8, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint8x32) Store(s []uint8) {
spec.Store[uint8, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint8x64) Store(s []uint8) {
spec.Store[uint8, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint8s) Store(s []uint8) {
spec.Store[uint8, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint16x8) Store(s []uint16) {
spec.Store[uint16, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint16x16) Store(s []uint16) {
spec.Store[uint16, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint16x32) Store(s []uint16) {
spec.Store[uint16, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint16s) Store(s []uint16) {
spec.Store[uint16, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint32x4) Store(s []uint32) {
spec.Store[uint32, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint32x8) Store(s []uint32) {
spec.Store[uint32, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint32x16) Store(s []uint32) {
spec.Store[uint32, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint32s) Store(s []uint32) {
spec.Store[uint32, spec.WidthScalable](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint64x2) Store(s []uint64) {
spec.Store[uint64, spec.Width128](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint64x4) Store(s []uint64) {
spec.Store[uint64, spec.Width256](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint64x8) Store(s []uint64) {
spec.Store[uint64, spec.Width512](x.v, s)
}
// Store stores the elements of x into a slice. If len(s) is less than x.Len(),
// it panics.
func (x Uint64s) Store(s []uint64) {
spec.Store[uint64, spec.WidthScalable](x.v, s)
}
// StoreArray stores the elements of x to an array.
func (x Float32x4) StoreArray(y *[4]float32) {
var tmp0 spec.Array[float32, spec.Width128] = y[:]
spec.StoreArray[float32, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Float32x8) StoreArray(y *[8]float32) {
var tmp0 spec.Array[float32, spec.Width256] = y[:]
spec.StoreArray[float32, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Float32x16) StoreArray(y *[16]float32) {
var tmp0 spec.Array[float32, spec.Width512] = y[:]
spec.StoreArray[float32, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Float64x2) StoreArray(y *[2]float64) {
var tmp0 spec.Array[float64, spec.Width128] = y[:]
spec.StoreArray[float64, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Float64x4) StoreArray(y *[4]float64) {
var tmp0 spec.Array[float64, spec.Width256] = y[:]
spec.StoreArray[float64, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Float64x8) StoreArray(y *[8]float64) {
var tmp0 spec.Array[float64, spec.Width512] = y[:]
spec.StoreArray[float64, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int8x16) StoreArray(y *[16]int8) {
var tmp0 spec.Array[int8, spec.Width128] = y[:]
spec.StoreArray[int8, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int8x32) StoreArray(y *[32]int8) {
var tmp0 spec.Array[int8, spec.Width256] = y[:]
spec.StoreArray[int8, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int8x64) StoreArray(y *[64]int8) {
var tmp0 spec.Array[int8, spec.Width512] = y[:]
spec.StoreArray[int8, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int16x8) StoreArray(y *[8]int16) {
var tmp0 spec.Array[int16, spec.Width128] = y[:]
spec.StoreArray[int16, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int16x16) StoreArray(y *[16]int16) {
var tmp0 spec.Array[int16, spec.Width256] = y[:]
spec.StoreArray[int16, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int16x32) StoreArray(y *[32]int16) {
var tmp0 spec.Array[int16, spec.Width512] = y[:]
spec.StoreArray[int16, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int32x4) StoreArray(y *[4]int32) {
var tmp0 spec.Array[int32, spec.Width128] = y[:]
spec.StoreArray[int32, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int32x8) StoreArray(y *[8]int32) {
var tmp0 spec.Array[int32, spec.Width256] = y[:]
spec.StoreArray[int32, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int32x16) StoreArray(y *[16]int32) {
var tmp0 spec.Array[int32, spec.Width512] = y[:]
spec.StoreArray[int32, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int64x2) StoreArray(y *[2]int64) {
var tmp0 spec.Array[int64, spec.Width128] = y[:]
spec.StoreArray[int64, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int64x4) StoreArray(y *[4]int64) {
var tmp0 spec.Array[int64, spec.Width256] = y[:]
spec.StoreArray[int64, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Int64x8) StoreArray(y *[8]int64) {
var tmp0 spec.Array[int64, spec.Width512] = y[:]
spec.StoreArray[int64, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint8x16) StoreArray(y *[16]uint8) {
var tmp0 spec.Array[uint8, spec.Width128] = y[:]
spec.StoreArray[uint8, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint8x32) StoreArray(y *[32]uint8) {
var tmp0 spec.Array[uint8, spec.Width256] = y[:]
spec.StoreArray[uint8, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint8x64) StoreArray(y *[64]uint8) {
var tmp0 spec.Array[uint8, spec.Width512] = y[:]
spec.StoreArray[uint8, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint16x8) StoreArray(y *[8]uint16) {
var tmp0 spec.Array[uint16, spec.Width128] = y[:]
spec.StoreArray[uint16, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint16x16) StoreArray(y *[16]uint16) {
var tmp0 spec.Array[uint16, spec.Width256] = y[:]
spec.StoreArray[uint16, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint16x32) StoreArray(y *[32]uint16) {
var tmp0 spec.Array[uint16, spec.Width512] = y[:]
spec.StoreArray[uint16, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint32x4) StoreArray(y *[4]uint32) {
var tmp0 spec.Array[uint32, spec.Width128] = y[:]
spec.StoreArray[uint32, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint32x8) StoreArray(y *[8]uint32) {
var tmp0 spec.Array[uint32, spec.Width256] = y[:]
spec.StoreArray[uint32, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint32x16) StoreArray(y *[16]uint32) {
var tmp0 spec.Array[uint32, spec.Width512] = y[:]
spec.StoreArray[uint32, spec.Width512](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint64x2) StoreArray(y *[2]uint64) {
var tmp0 spec.Array[uint64, spec.Width128] = y[:]
spec.StoreArray[uint64, spec.Width128](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint64x4) StoreArray(y *[4]uint64) {
var tmp0 spec.Array[uint64, spec.Width256] = y[:]
spec.StoreArray[uint64, spec.Width256](x.v, &tmp0)
}
// StoreArray stores the elements of x to an array.
func (x Uint64x8) StoreArray(y *[8]uint64) {
var tmp0 spec.Array[uint64, spec.Width512] = y[:]
spec.StoreArray[uint64, spec.Width512](x.v, &tmp0)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Float32x4) StoreArrayMasked(y *[4]float32, mask Mask32x4) {
var tmp0 spec.Array[float32, spec.Width128] = y[:]
spec.StoreArrayMasked[float32, spec.Width128, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Float32x8) StoreArrayMasked(y *[8]float32, mask Mask32x8) {
var tmp0 spec.Array[float32, spec.Width256] = y[:]
spec.StoreArrayMasked[float32, spec.Width256, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Float32x16) StoreArrayMasked(y *[16]float32, mask Mask32x16) {
var tmp0 spec.Array[float32, spec.Width512] = y[:]
spec.StoreArrayMasked[float32, spec.Width512, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Float64x2) StoreArrayMasked(y *[2]float64, mask Mask64x2) {
var tmp0 spec.Array[float64, spec.Width128] = y[:]
spec.StoreArrayMasked[float64, spec.Width128, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Float64x4) StoreArrayMasked(y *[4]float64, mask Mask64x4) {
var tmp0 spec.Array[float64, spec.Width256] = y[:]
spec.StoreArrayMasked[float64, spec.Width256, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Float64x8) StoreArrayMasked(y *[8]float64, mask Mask64x8) {
var tmp0 spec.Array[float64, spec.Width512] = y[:]
spec.StoreArrayMasked[float64, spec.Width512, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int8x16) StoreArrayMasked(y *[16]int8, mask Mask8x16) {
var tmp0 spec.Array[int8, spec.Width128] = y[:]
spec.StoreArrayMasked[int8, spec.Width128, spec.Mask8](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int8x32) StoreArrayMasked(y *[32]int8, mask Mask8x32) {
var tmp0 spec.Array[int8, spec.Width256] = y[:]
spec.StoreArrayMasked[int8, spec.Width256, spec.Mask8](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int8x64) StoreArrayMasked(y *[64]int8, mask Mask8x64) {
var tmp0 spec.Array[int8, spec.Width512] = y[:]
spec.StoreArrayMasked[int8, spec.Width512, spec.Mask8](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int16x8) StoreArrayMasked(y *[8]int16, mask Mask16x8) {
var tmp0 spec.Array[int16, spec.Width128] = y[:]
spec.StoreArrayMasked[int16, spec.Width128, spec.Mask16](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int16x16) StoreArrayMasked(y *[16]int16, mask Mask16x16) {
var tmp0 spec.Array[int16, spec.Width256] = y[:]
spec.StoreArrayMasked[int16, spec.Width256, spec.Mask16](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int16x32) StoreArrayMasked(y *[32]int16, mask Mask16x32) {
var tmp0 spec.Array[int16, spec.Width512] = y[:]
spec.StoreArrayMasked[int16, spec.Width512, spec.Mask16](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int32x4) StoreArrayMasked(y *[4]int32, mask Mask32x4) {
var tmp0 spec.Array[int32, spec.Width128] = y[:]
spec.StoreArrayMasked[int32, spec.Width128, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int32x8) StoreArrayMasked(y *[8]int32, mask Mask32x8) {
var tmp0 spec.Array[int32, spec.Width256] = y[:]
spec.StoreArrayMasked[int32, spec.Width256, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int32x16) StoreArrayMasked(y *[16]int32, mask Mask32x16) {
var tmp0 spec.Array[int32, spec.Width512] = y[:]
spec.StoreArrayMasked[int32, spec.Width512, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int64x2) StoreArrayMasked(y *[2]int64, mask Mask64x2) {
var tmp0 spec.Array[int64, spec.Width128] = y[:]
spec.StoreArrayMasked[int64, spec.Width128, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int64x4) StoreArrayMasked(y *[4]int64, mask Mask64x4) {
var tmp0 spec.Array[int64, spec.Width256] = y[:]
spec.StoreArrayMasked[int64, spec.Width256, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Int64x8) StoreArrayMasked(y *[8]int64, mask Mask64x8) {
var tmp0 spec.Array[int64, spec.Width512] = y[:]
spec.StoreArrayMasked[int64, spec.Width512, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint8x16) StoreArrayMasked(y *[16]uint8, mask Mask8x16) {
var tmp0 spec.Array[uint8, spec.Width128] = y[:]
spec.StoreArrayMasked[uint8, spec.Width128, spec.Mask8](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint8x32) StoreArrayMasked(y *[32]uint8, mask Mask8x32) {
var tmp0 spec.Array[uint8, spec.Width256] = y[:]
spec.StoreArrayMasked[uint8, spec.Width256, spec.Mask8](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint8x64) StoreArrayMasked(y *[64]uint8, mask Mask8x64) {
var tmp0 spec.Array[uint8, spec.Width512] = y[:]
spec.StoreArrayMasked[uint8, spec.Width512, spec.Mask8](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint16x8) StoreArrayMasked(y *[8]uint16, mask Mask16x8) {
var tmp0 spec.Array[uint16, spec.Width128] = y[:]
spec.StoreArrayMasked[uint16, spec.Width128, spec.Mask16](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint16x16) StoreArrayMasked(y *[16]uint16, mask Mask16x16) {
var tmp0 spec.Array[uint16, spec.Width256] = y[:]
spec.StoreArrayMasked[uint16, spec.Width256, spec.Mask16](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint16x32) StoreArrayMasked(y *[32]uint16, mask Mask16x32) {
var tmp0 spec.Array[uint16, spec.Width512] = y[:]
spec.StoreArrayMasked[uint16, spec.Width512, spec.Mask16](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint32x4) StoreArrayMasked(y *[4]uint32, mask Mask32x4) {
var tmp0 spec.Array[uint32, spec.Width128] = y[:]
spec.StoreArrayMasked[uint32, spec.Width128, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint32x8) StoreArrayMasked(y *[8]uint32, mask Mask32x8) {
var tmp0 spec.Array[uint32, spec.Width256] = y[:]
spec.StoreArrayMasked[uint32, spec.Width256, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint32x16) StoreArrayMasked(y *[16]uint32, mask Mask32x16) {
var tmp0 spec.Array[uint32, spec.Width512] = y[:]
spec.StoreArrayMasked[uint32, spec.Width512, spec.Mask32](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint64x2) StoreArrayMasked(y *[2]uint64, mask Mask64x2) {
var tmp0 spec.Array[uint64, spec.Width128] = y[:]
spec.StoreArrayMasked[uint64, spec.Width128, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint64x4) StoreArrayMasked(y *[4]uint64, mask Mask64x4) {
var tmp0 spec.Array[uint64, spec.Width256] = y[:]
spec.StoreArrayMasked[uint64, spec.Width256, spec.Mask64](x.v, &tmp0, mask.v)
}
// StoreArrayMasked stores the masked elements of x to an array. It does not
// modify elements of y that are false in the mask.
func (x Uint64x8) StoreArrayMasked(y *[8]uint64, mask Mask64x8) {
var tmp0 spec.Array[uint64, spec.Width512] = y[:]
spec.StoreArrayMasked[uint64, spec.Width512, spec.Mask64](x.v, &tmp0, mask.v)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float32x4) StorePart(s []float32) int {
return spec.StorePart[float32, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float32x8) StorePart(s []float32) int {
return spec.StorePart[float32, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float32x16) StorePart(s []float32) int {
return spec.StorePart[float32, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float32s) StorePart(s []float32) int {
return spec.StorePart[float32, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float64x2) StorePart(s []float64) int {
return spec.StorePart[float64, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float64x4) StorePart(s []float64) int {
return spec.StorePart[float64, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float64x8) StorePart(s []float64) int {
return spec.StorePart[float64, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Float64s) StorePart(s []float64) int {
return spec.StorePart[float64, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int8x16) StorePart(s []int8) int {
return spec.StorePart[int8, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int8x32) StorePart(s []int8) int {
return spec.StorePart[int8, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int8x64) StorePart(s []int8) int {
return spec.StorePart[int8, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int8s) StorePart(s []int8) int {
return spec.StorePart[int8, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int16x8) StorePart(s []int16) int {
return spec.StorePart[int16, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int16x16) StorePart(s []int16) int {
return spec.StorePart[int16, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int16x32) StorePart(s []int16) int {
return spec.StorePart[int16, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int16s) StorePart(s []int16) int {
return spec.StorePart[int16, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int32x4) StorePart(s []int32) int {
return spec.StorePart[int32, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int32x8) StorePart(s []int32) int {
return spec.StorePart[int32, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int32x16) StorePart(s []int32) int {
return spec.StorePart[int32, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int32s) StorePart(s []int32) int {
return spec.StorePart[int32, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int64x2) StorePart(s []int64) int {
return spec.StorePart[int64, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int64x4) StorePart(s []int64) int {
return spec.StorePart[int64, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int64x8) StorePart(s []int64) int {
return spec.StorePart[int64, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Int64s) StorePart(s []int64) int {
return spec.StorePart[int64, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint8x16) StorePart(s []uint8) int {
return spec.StorePart[uint8, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint8x32) StorePart(s []uint8) int {
return spec.StorePart[uint8, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint8x64) StorePart(s []uint8) int {
return spec.StorePart[uint8, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint8s) StorePart(s []uint8) int {
return spec.StorePart[uint8, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint16x8) StorePart(s []uint16) int {
return spec.StorePart[uint16, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint16x16) StorePart(s []uint16) int {
return spec.StorePart[uint16, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint16x32) StorePart(s []uint16) int {
return spec.StorePart[uint16, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint16s) StorePart(s []uint16) int {
return spec.StorePart[uint16, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint32x4) StorePart(s []uint32) int {
return spec.StorePart[uint32, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint32x8) StorePart(s []uint32) int {
return spec.StorePart[uint32, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint32x16) StorePart(s []uint32) int {
return spec.StorePart[uint32, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint32s) StorePart(s []uint32) int {
return spec.StorePart[uint32, spec.WidthScalable](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint64x2) StorePart(s []uint64) int {
return spec.StorePart[uint64, spec.Width128](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint64x4) StorePart(s []uint64) int {
return spec.StorePart[uint64, spec.Width256](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint64x8) StorePart(s []uint64) int {
return spec.StorePart[uint64, spec.Width512](x.v, s)
}
// StorePart stores at most len(s) elements of x into s and returns the number
// of elements stored.
func (x Uint64s) StorePart(s []uint64) int {
return spec.StorePart[uint64, spec.WidthScalable](x.v, s)
}
// Mask8x16FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask8x16FromBits(x uint16) (z Mask8x16) {
return Mask8x16{spec.MaskFromBits[spec.Mask8, spec.Width128](spec.UintN(x))}
}
// Mask8x32FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask8x32FromBits(x uint32) (z Mask8x32) {
return Mask8x32{spec.MaskFromBits[spec.Mask8, spec.Width256](spec.UintN(x))}
}
// Mask8x64FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask8x64FromBits(x uint64) (z Mask8x64) {
return Mask8x64{spec.MaskFromBits[spec.Mask8, spec.Width512](spec.UintN(x))}
}
// Mask16x8FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask16x8FromBits(x uint8) (z Mask16x8) {
return Mask16x8{spec.MaskFromBits[spec.Mask16, spec.Width128](spec.UintN(x))}
}
// Mask16x16FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask16x16FromBits(x uint16) (z Mask16x16) {
return Mask16x16{spec.MaskFromBits[spec.Mask16, spec.Width256](spec.UintN(x))}
}
// Mask16x32FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask16x32FromBits(x uint32) (z Mask16x32) {
return Mask16x32{spec.MaskFromBits[spec.Mask16, spec.Width512](spec.UintN(x))}
}
// Mask32x4FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask32x4FromBits(x uint8) (z Mask32x4) {
return Mask32x4{spec.MaskFromBits[spec.Mask32, spec.Width128](spec.UintN(x))}
}
// Mask32x8FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask32x8FromBits(x uint8) (z Mask32x8) {
return Mask32x8{spec.MaskFromBits[spec.Mask32, spec.Width256](spec.UintN(x))}
}
// Mask32x16FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask32x16FromBits(x uint16) (z Mask32x16) {
return Mask32x16{spec.MaskFromBits[spec.Mask32, spec.Width512](spec.UintN(x))}
}
// Mask64x2FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask64x2FromBits(x uint8) (z Mask64x2) {
return Mask64x2{spec.MaskFromBits[spec.Mask64, spec.Width128](spec.UintN(x))}
}
// Mask64x4FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask64x4FromBits(x uint8) (z Mask64x4) {
return Mask64x4{spec.MaskFromBits[spec.Mask64, spec.Width256](spec.UintN(x))}
}
// Mask64x8FromBits constructs a mask from a bitmap value. If bit i of y is set,
// then mask element i of the result is set.
func Mask64x8FromBits(x uint8) (z Mask64x8) {
return Mask64x8{spec.MaskFromBits[spec.Mask64, spec.Width512](spec.UintN(x))}
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask8x16) ToBits() (z uint16) {
return uint16(spec.MaskToBits[spec.Mask8, spec.Width128](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask8x32) ToBits() (z uint32) {
return uint32(spec.MaskToBits[spec.Mask8, spec.Width256](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask8x64) ToBits() (z uint64) {
return uint64(spec.MaskToBits[spec.Mask8, spec.Width512](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask16x8) ToBits() (z uint8) {
return uint8(spec.MaskToBits[spec.Mask16, spec.Width128](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask16x16) ToBits() (z uint16) {
return uint16(spec.MaskToBits[spec.Mask16, spec.Width256](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask16x32) ToBits() (z uint32) {
return uint32(spec.MaskToBits[spec.Mask16, spec.Width512](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask32x4) ToBits() (z uint8) {
return uint8(spec.MaskToBits[spec.Mask32, spec.Width128](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask32x8) ToBits() (z uint8) {
return uint8(spec.MaskToBits[spec.Mask32, spec.Width256](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask32x16) ToBits() (z uint16) {
return uint16(spec.MaskToBits[spec.Mask32, spec.Width512](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask64x2) ToBits() (z uint8) {
return uint8(spec.MaskToBits[spec.Mask64, spec.Width128](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask64x4) ToBits() (z uint8) {
return uint8(spec.MaskToBits[spec.Mask64, spec.Width256](x.v))
}
// ToBits constructs a bitmap from mask x, where bit i is set if mask
// element i is set.
func (x Mask64x8) ToBits() (z uint8) {
return uint8(spec.MaskToBits[spec.Mask64, spec.Width512](x.v))
}
// ToInt8x16 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask8x16) ToInt8x16() (z Int8x16) {
return Int8x16{spec.MaskToZ[spec.Mask8, spec.Width128, int8](x.v)}
}
// ToInt8x32 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask8x32) ToInt8x32() (z Int8x32) {
return Int8x32{spec.MaskToZ[spec.Mask8, spec.Width256, int8](x.v)}
}
// ToInt8x64 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask8x64) ToInt8x64() (z Int8x64) {
return Int8x64{spec.MaskToZ[spec.Mask8, spec.Width512, int8](x.v)}
}
// ToInt8s converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask8s) ToInt8s() (z Int8s) {
return Int8s{spec.MaskToZ[spec.Mask8, spec.WidthScalable, int8](x.v)}
}
// ToInt16x8 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask16x8) ToInt16x8() (z Int16x8) {
return Int16x8{spec.MaskToZ[spec.Mask16, spec.Width128, int16](x.v)}
}
// ToInt16x16 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask16x16) ToInt16x16() (z Int16x16) {
return Int16x16{spec.MaskToZ[spec.Mask16, spec.Width256, int16](x.v)}
}
// ToInt16x32 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask16x32) ToInt16x32() (z Int16x32) {
return Int16x32{spec.MaskToZ[spec.Mask16, spec.Width512, int16](x.v)}
}
// ToInt16s converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask16s) ToInt16s() (z Int16s) {
return Int16s{spec.MaskToZ[spec.Mask16, spec.WidthScalable, int16](x.v)}
}
// ToInt32x4 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask32x4) ToInt32x4() (z Int32x4) {
return Int32x4{spec.MaskToZ[spec.Mask32, spec.Width128, int32](x.v)}
}
// ToInt32x8 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask32x8) ToInt32x8() (z Int32x8) {
return Int32x8{spec.MaskToZ[spec.Mask32, spec.Width256, int32](x.v)}
}
// ToInt32x16 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask32x16) ToInt32x16() (z Int32x16) {
return Int32x16{spec.MaskToZ[spec.Mask32, spec.Width512, int32](x.v)}
}
// ToInt32s converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask32s) ToInt32s() (z Int32s) {
return Int32s{spec.MaskToZ[spec.Mask32, spec.WidthScalable, int32](x.v)}
}
// ToInt64x2 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask64x2) ToInt64x2() (z Int64x2) {
return Int64x2{spec.MaskToZ[spec.Mask64, spec.Width128, int64](x.v)}
}
// ToInt64x4 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask64x4) ToInt64x4() (z Int64x4) {
return Int64x4{spec.MaskToZ[spec.Mask64, spec.Width256, int64](x.v)}
}
// ToInt64x8 converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask64x8) ToInt64x8() (z Int64x8) {
return Int64x8{spec.MaskToZ[spec.Mask64, spec.Width512, int64](x.v)}
}
// ToInt64s converts the mask to a vector, where element i is set to ^0 (all bits
// set, e.g., -1) if mask element i is "true".
func (x Mask64s) ToInt64s() (z Int64s) {
return Int64s{spec.MaskToZ[spec.Mask64, spec.WidthScalable, int64](x.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float32x4) Add(y Float32x4) (z Float32x4) {
return Float32x4{spec.Add[float32, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float32x8) Add(y Float32x8) (z Float32x8) {
return Float32x8{spec.Add[float32, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float32x16) Add(y Float32x16) (z Float32x16) {
return Float32x16{spec.Add[float32, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float32s) Add(y Float32s) (z Float32s) {
return Float32s{spec.Add[float32, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float64x2) Add(y Float64x2) (z Float64x2) {
return Float64x2{spec.Add[float64, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float64x4) Add(y Float64x4) (z Float64x4) {
return Float64x4{spec.Add[float64, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float64x8) Add(y Float64x8) (z Float64x8) {
return Float64x8{spec.Add[float64, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Float64s) Add(y Float64s) (z Float64s) {
return Float64s{spec.Add[float64, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int8x16) Add(y Int8x16) (z Int8x16) {
return Int8x16{spec.Add[int8, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int8x32) Add(y Int8x32) (z Int8x32) {
return Int8x32{spec.Add[int8, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int8x64) Add(y Int8x64) (z Int8x64) {
return Int8x64{spec.Add[int8, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int8s) Add(y Int8s) (z Int8s) {
return Int8s{spec.Add[int8, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int16x8) Add(y Int16x8) (z Int16x8) {
return Int16x8{spec.Add[int16, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int16x16) Add(y Int16x16) (z Int16x16) {
return Int16x16{spec.Add[int16, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int16x32) Add(y Int16x32) (z Int16x32) {
return Int16x32{spec.Add[int16, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int16s) Add(y Int16s) (z Int16s) {
return Int16s{spec.Add[int16, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int32x4) Add(y Int32x4) (z Int32x4) {
return Int32x4{spec.Add[int32, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int32x8) Add(y Int32x8) (z Int32x8) {
return Int32x8{spec.Add[int32, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int32x16) Add(y Int32x16) (z Int32x16) {
return Int32x16{spec.Add[int32, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int32s) Add(y Int32s) (z Int32s) {
return Int32s{spec.Add[int32, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int64x2) Add(y Int64x2) (z Int64x2) {
return Int64x2{spec.Add[int64, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int64x4) Add(y Int64x4) (z Int64x4) {
return Int64x4{spec.Add[int64, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int64x8) Add(y Int64x8) (z Int64x8) {
return Int64x8{spec.Add[int64, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Int64s) Add(y Int64s) (z Int64s) {
return Int64s{spec.Add[int64, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint8x16) Add(y Uint8x16) (z Uint8x16) {
return Uint8x16{spec.Add[uint8, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint8x32) Add(y Uint8x32) (z Uint8x32) {
return Uint8x32{spec.Add[uint8, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint8x64) Add(y Uint8x64) (z Uint8x64) {
return Uint8x64{spec.Add[uint8, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint8s) Add(y Uint8s) (z Uint8s) {
return Uint8s{spec.Add[uint8, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint16x8) Add(y Uint16x8) (z Uint16x8) {
return Uint16x8{spec.Add[uint16, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint16x16) Add(y Uint16x16) (z Uint16x16) {
return Uint16x16{spec.Add[uint16, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint16x32) Add(y Uint16x32) (z Uint16x32) {
return Uint16x32{spec.Add[uint16, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint16s) Add(y Uint16s) (z Uint16s) {
return Uint16s{spec.Add[uint16, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint32x4) Add(y Uint32x4) (z Uint32x4) {
return Uint32x4{spec.Add[uint32, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint32x8) Add(y Uint32x8) (z Uint32x8) {
return Uint32x8{spec.Add[uint32, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint32x16) Add(y Uint32x16) (z Uint32x16) {
return Uint32x16{spec.Add[uint32, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint32s) Add(y Uint32s) (z Uint32s) {
return Uint32s{spec.Add[uint32, spec.WidthScalable](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint64x2) Add(y Uint64x2) (z Uint64x2) {
return Uint64x2{spec.Add[uint64, spec.Width128](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint64x4) Add(y Uint64x4) (z Uint64x4) {
return Uint64x4{spec.Add[uint64, spec.Width256](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint64x8) Add(y Uint64x8) (z Uint64x8) {
return Uint64x8{spec.Add[uint64, spec.Width512](x.v, y.v)}
}
// Add adds corresponding elements of two vectors.
//
// z[i] = x[i] + y[i]
func (x Uint64s) Add(y Uint64s) (z Uint64s) {
return Uint64s{spec.Add[uint64, spec.WidthScalable](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Float32x4) DotProductPairs(y Float32x4) (z Float64x2) {
return Float64x2{spec.DotProductPairs[float32, spec.Width128, float64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Float32x8) DotProductPairs(y Float32x8) (z Float64x4) {
return Float64x4{spec.DotProductPairs[float32, spec.Width256, float64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Float32x16) DotProductPairs(y Float32x16) (z Float64x8) {
return Float64x8{spec.DotProductPairs[float32, spec.Width512, float64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Float32s) DotProductPairs(y Float32s) (z Float64s) {
return Float64s{spec.DotProductPairs[float32, spec.WidthScalable, float64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int8x16) DotProductPairs(y Int8x16) (z Int16x8) {
return Int16x8{spec.DotProductPairs[int8, spec.Width128, int16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int8x32) DotProductPairs(y Int8x32) (z Int16x16) {
return Int16x16{spec.DotProductPairs[int8, spec.Width256, int16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int8x64) DotProductPairs(y Int8x64) (z Int16x32) {
return Int16x32{spec.DotProductPairs[int8, spec.Width512, int16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int8s) DotProductPairs(y Int8s) (z Int16s) {
return Int16s{spec.DotProductPairs[int8, spec.WidthScalable, int16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int16x8) DotProductPairs(y Int16x8) (z Int32x4) {
return Int32x4{spec.DotProductPairs[int16, spec.Width128, int32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int16x16) DotProductPairs(y Int16x16) (z Int32x8) {
return Int32x8{spec.DotProductPairs[int16, spec.Width256, int32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int16x32) DotProductPairs(y Int16x32) (z Int32x16) {
return Int32x16{spec.DotProductPairs[int16, spec.Width512, int32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int16s) DotProductPairs(y Int16s) (z Int32s) {
return Int32s{spec.DotProductPairs[int16, spec.WidthScalable, int32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int32x4) DotProductPairs(y Int32x4) (z Int64x2) {
return Int64x2{spec.DotProductPairs[int32, spec.Width128, int64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int32x8) DotProductPairs(y Int32x8) (z Int64x4) {
return Int64x4{spec.DotProductPairs[int32, spec.Width256, int64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int32x16) DotProductPairs(y Int32x16) (z Int64x8) {
return Int64x8{spec.DotProductPairs[int32, spec.Width512, int64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Int32s) DotProductPairs(y Int32s) (z Int64s) {
return Int64s{spec.DotProductPairs[int32, spec.WidthScalable, int64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint8x16) DotProductPairs(y Uint8x16) (z Uint16x8) {
return Uint16x8{spec.DotProductPairs[uint8, spec.Width128, uint16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint8x32) DotProductPairs(y Uint8x32) (z Uint16x16) {
return Uint16x16{spec.DotProductPairs[uint8, spec.Width256, uint16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint8x64) DotProductPairs(y Uint8x64) (z Uint16x32) {
return Uint16x32{spec.DotProductPairs[uint8, spec.Width512, uint16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint8s) DotProductPairs(y Uint8s) (z Uint16s) {
return Uint16s{spec.DotProductPairs[uint8, spec.WidthScalable, uint16](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint16x8) DotProductPairs(y Uint16x8) (z Uint32x4) {
return Uint32x4{spec.DotProductPairs[uint16, spec.Width128, uint32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint16x16) DotProductPairs(y Uint16x16) (z Uint32x8) {
return Uint32x8{spec.DotProductPairs[uint16, spec.Width256, uint32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint16x32) DotProductPairs(y Uint16x32) (z Uint32x16) {
return Uint32x16{spec.DotProductPairs[uint16, spec.Width512, uint32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint16s) DotProductPairs(y Uint16s) (z Uint32s) {
return Uint32s{spec.DotProductPairs[uint16, spec.WidthScalable, uint32](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint32x4) DotProductPairs(y Uint32x4) (z Uint64x2) {
return Uint64x2{spec.DotProductPairs[uint32, spec.Width128, uint64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint32x8) DotProductPairs(y Uint32x8) (z Uint64x4) {
return Uint64x4{spec.DotProductPairs[uint32, spec.Width256, uint64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint32x16) DotProductPairs(y Uint32x16) (z Uint64x8) {
return Uint64x8{spec.DotProductPairs[uint32, spec.Width512, uint64](x.v, y.v)}
}
// DotProductPairs multiplies corresponding elements of x and y, and sums
// adjacent pairs, yielding a vector of half as many elements with twice the
// input element size.
//
// w[i] = x[i] * y[i] // Double width
// z[i] = w[2*i] + w[2*i+1]
func (x Uint32s) DotProductPairs(y Uint32s) (z Uint64s) {
return Uint64s{spec.DotProductPairs[uint32, spec.WidthScalable, uint64](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint8x16) DotProductPairsSaturated(y Int8x16) (z Int16x8) {
return Int16x8{spec.DotProductPairsSaturated[uint8, spec.Width128, int8, int16](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint8x32) DotProductPairsSaturated(y Int8x32) (z Int16x16) {
return Int16x16{spec.DotProductPairsSaturated[uint8, spec.Width256, int8, int16](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint8x64) DotProductPairsSaturated(y Int8x64) (z Int16x32) {
return Int16x32{spec.DotProductPairsSaturated[uint8, spec.Width512, int8, int16](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint8s) DotProductPairsSaturated(y Int8s) (z Int16s) {
return Int16s{spec.DotProductPairsSaturated[uint8, spec.WidthScalable, int8, int16](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint16x8) DotProductPairsSaturated(y Int16x8) (z Int32x4) {
return Int32x4{spec.DotProductPairsSaturated[uint16, spec.Width128, int16, int32](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint16x16) DotProductPairsSaturated(y Int16x16) (z Int32x8) {
return Int32x8{spec.DotProductPairsSaturated[uint16, spec.Width256, int16, int32](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint16x32) DotProductPairsSaturated(y Int16x32) (z Int32x16) {
return Int32x16{spec.DotProductPairsSaturated[uint16, spec.Width512, int16, int32](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint16s) DotProductPairsSaturated(y Int16s) (z Int32s) {
return Int32s{spec.DotProductPairsSaturated[uint16, spec.WidthScalable, int16, int32](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint32x4) DotProductPairsSaturated(y Int32x4) (z Int64x2) {
return Int64x2{spec.DotProductPairsSaturated[uint32, spec.Width128, int32, int64](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint32x8) DotProductPairsSaturated(y Int32x8) (z Int64x4) {
return Int64x4{spec.DotProductPairsSaturated[uint32, spec.Width256, int32, int64](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint32x16) DotProductPairsSaturated(y Int32x16) (z Int64x8) {
return Int64x8{spec.DotProductPairsSaturated[uint32, spec.Width512, int32, int64](x.v, y.v)}
}
// DotProductPairsSaturated multiplies corresponding elements of x and y, and
// sums adjacent pairs, all with saturation. It yields a vector of half as many
// elements with twice the input element size.
//
// w[i] = x[i] * y[i] // Double width, saturated
// z[i] = w[2*i] + w[2*i+1] // Saturated
func (x Uint32s) DotProductPairsSaturated(y Int32s) (z Int64s) {
return Int64s{spec.DotProductPairsSaturated[uint32, spec.WidthScalable, int32, int64](x.v, y.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x16) ReshapeToUint16s() (z Uint16x8) {
return Uint16x8{spec.ReshapeToUints[uint8, spec.Width128, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x4 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x16) ReshapeToUint32s() (z Uint32x4) {
return Uint32x4{spec.ReshapeToUints[uint8, spec.Width128, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x2 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x16) ReshapeToUint64s() (z Uint64x2) {
return Uint64x2{spec.ReshapeToUints[uint8, spec.Width128, uint64](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x32) ReshapeToUint16s() (z Uint16x16) {
return Uint16x16{spec.ReshapeToUints[uint8, spec.Width256, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x32) ReshapeToUint32s() (z Uint32x8) {
return Uint32x8{spec.ReshapeToUints[uint8, spec.Width256, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x4 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x32) ReshapeToUint64s() (z Uint64x4) {
return Uint64x4{spec.ReshapeToUints[uint8, spec.Width256, uint64](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x32 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x64) ReshapeToUint16s() (z Uint16x32) {
return Uint16x32{spec.ReshapeToUints[uint8, spec.Width512, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x64) ReshapeToUint32s() (z Uint32x16) {
return Uint32x16{spec.ReshapeToUints[uint8, spec.Width512, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint8x64) ReshapeToUint64s() (z Uint64x8) {
return Uint64x8{spec.ReshapeToUints[uint8, spec.Width512, uint64](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16s vector. The least
// significant bit of element 0 is bit 0
func (x Uint8s) ReshapeToUint16s() (z Uint16s) {
return Uint16s{spec.ReshapeToUints[uint8, spec.WidthScalable, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32s vector. The least
// significant bit of element 0 is bit 0
func (x Uint8s) ReshapeToUint32s() (z Uint32s) {
return Uint32s{spec.ReshapeToUints[uint8, spec.WidthScalable, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64s vector. The least
// significant bit of element 0 is bit 0
func (x Uint8s) ReshapeToUint64s() (z Uint64s) {
return Uint64s{spec.ReshapeToUints[uint8, spec.WidthScalable, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x8) ReshapeToUint8s() (z Uint8x16) {
return Uint8x16{spec.ReshapeToUints[uint16, spec.Width128, uint8](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x4 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x8) ReshapeToUint32s() (z Uint32x4) {
return Uint32x4{spec.ReshapeToUints[uint16, spec.Width128, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x2 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x8) ReshapeToUint64s() (z Uint64x2) {
return Uint64x2{spec.ReshapeToUints[uint16, spec.Width128, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x32 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x16) ReshapeToUint8s() (z Uint8x32) {
return Uint8x32{spec.ReshapeToUints[uint16, spec.Width256, uint8](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x16) ReshapeToUint32s() (z Uint32x8) {
return Uint32x8{spec.ReshapeToUints[uint16, spec.Width256, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x4 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x16) ReshapeToUint64s() (z Uint64x4) {
return Uint64x4{spec.ReshapeToUints[uint16, spec.Width256, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x64 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x32) ReshapeToUint8s() (z Uint8x64) {
return Uint8x64{spec.ReshapeToUints[uint16, spec.Width512, uint8](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x32) ReshapeToUint32s() (z Uint32x16) {
return Uint32x16{spec.ReshapeToUints[uint16, spec.Width512, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint16x32) ReshapeToUint64s() (z Uint64x8) {
return Uint64x8{spec.ReshapeToUints[uint16, spec.Width512, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8s vector. The least
// significant bit of element 0 is bit 0
func (x Uint16s) ReshapeToUint8s() (z Uint8s) {
return Uint8s{spec.ReshapeToUints[uint16, spec.WidthScalable, uint8](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32s vector. The least
// significant bit of element 0 is bit 0
func (x Uint16s) ReshapeToUint32s() (z Uint32s) {
return Uint32s{spec.ReshapeToUints[uint16, spec.WidthScalable, uint32](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64s vector. The least
// significant bit of element 0 is bit 0
func (x Uint16s) ReshapeToUint64s() (z Uint64s) {
return Uint64s{spec.ReshapeToUints[uint16, spec.WidthScalable, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x4) ReshapeToUint8s() (z Uint8x16) {
return Uint8x16{spec.ReshapeToUints[uint32, spec.Width128, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x4) ReshapeToUint16s() (z Uint16x8) {
return Uint16x8{spec.ReshapeToUints[uint32, spec.Width128, uint16](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x2 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x4) ReshapeToUint64s() (z Uint64x2) {
return Uint64x2{spec.ReshapeToUints[uint32, spec.Width128, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x32 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x8) ReshapeToUint8s() (z Uint8x32) {
return Uint8x32{spec.ReshapeToUints[uint32, spec.Width256, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x8) ReshapeToUint16s() (z Uint16x16) {
return Uint16x16{spec.ReshapeToUints[uint32, spec.Width256, uint16](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x4 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x8) ReshapeToUint64s() (z Uint64x4) {
return Uint64x4{spec.ReshapeToUints[uint32, spec.Width256, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x64 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x16) ReshapeToUint8s() (z Uint8x64) {
return Uint8x64{spec.ReshapeToUints[uint32, spec.Width512, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x32 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x16) ReshapeToUint16s() (z Uint16x32) {
return Uint16x32{spec.ReshapeToUints[uint32, spec.Width512, uint16](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint32x16) ReshapeToUint64s() (z Uint64x8) {
return Uint64x8{spec.ReshapeToUints[uint32, spec.Width512, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8s vector. The least
// significant bit of element 0 is bit 0
func (x Uint32s) ReshapeToUint8s() (z Uint8s) {
return Uint8s{spec.ReshapeToUints[uint32, spec.WidthScalable, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16s vector. The least
// significant bit of element 0 is bit 0
func (x Uint32s) ReshapeToUint16s() (z Uint16s) {
return Uint16s{spec.ReshapeToUints[uint32, spec.WidthScalable, uint16](x.v)}
}
// ReshapeToUint64s reinterprets the bits of x as a Uint64s vector. The least
// significant bit of element 0 is bit 0
func (x Uint32s) ReshapeToUint64s() (z Uint64s) {
return Uint64s{spec.ReshapeToUints[uint32, spec.WidthScalable, uint64](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x2) ReshapeToUint8s() (z Uint8x16) {
return Uint8x16{spec.ReshapeToUints[uint64, spec.Width128, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x2) ReshapeToUint16s() (z Uint16x8) {
return Uint16x8{spec.ReshapeToUints[uint64, spec.Width128, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x4 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x2) ReshapeToUint32s() (z Uint32x4) {
return Uint32x4{spec.ReshapeToUints[uint64, spec.Width128, uint32](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x32 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x4) ReshapeToUint8s() (z Uint8x32) {
return Uint8x32{spec.ReshapeToUints[uint64, spec.Width256, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x4) ReshapeToUint16s() (z Uint16x16) {
return Uint16x16{spec.ReshapeToUints[uint64, spec.Width256, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x8 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x4) ReshapeToUint32s() (z Uint32x8) {
return Uint32x8{spec.ReshapeToUints[uint64, spec.Width256, uint32](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8x64 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x8) ReshapeToUint8s() (z Uint8x64) {
return Uint8x64{spec.ReshapeToUints[uint64, spec.Width512, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16x32 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x8) ReshapeToUint16s() (z Uint16x32) {
return Uint16x32{spec.ReshapeToUints[uint64, spec.Width512, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32x16 vector. The least
// significant bit of element 0 is bit 0
func (x Uint64x8) ReshapeToUint32s() (z Uint32x16) {
return Uint32x16{spec.ReshapeToUints[uint64, spec.Width512, uint32](x.v)}
}
// ReshapeToUint8s reinterprets the bits of x as a Uint8s vector. The least
// significant bit of element 0 is bit 0
func (x Uint64s) ReshapeToUint8s() (z Uint8s) {
return Uint8s{spec.ReshapeToUints[uint64, spec.WidthScalable, uint8](x.v)}
}
// ReshapeToUint16s reinterprets the bits of x as a Uint16s vector. The least
// significant bit of element 0 is bit 0
func (x Uint64s) ReshapeToUint16s() (z Uint16s) {
return Uint16s{spec.ReshapeToUints[uint64, spec.WidthScalable, uint16](x.v)}
}
// ReshapeToUint32s reinterprets the bits of x as a Uint32s vector. The least
// significant bit of element 0 is bit 0
func (x Uint64s) ReshapeToUint32s() (z Uint32s) {
return Uint32s{spec.ReshapeToUints[uint64, spec.WidthScalable, uint32](x.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float32x4) Permute(indices Uint32x4) (z Float32x4) {
return Float32x4{spec.Permute[float32, spec.Width128, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float32x8) Permute(indices Uint32x8) (z Float32x8) {
return Float32x8{spec.Permute[float32, spec.Width256, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float32x16) Permute(indices Uint32x16) (z Float32x16) {
return Float32x16{spec.Permute[float32, spec.Width512, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float32s) Permute(indices Uint32s) (z Float32s) {
return Float32s{spec.Permute[float32, spec.WidthScalable, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float64x2) Permute(indices Uint64x2) (z Float64x2) {
return Float64x2{spec.Permute[float64, spec.Width128, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float64x4) Permute(indices Uint64x4) (z Float64x4) {
return Float64x4{spec.Permute[float64, spec.Width256, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float64x8) Permute(indices Uint64x8) (z Float64x8) {
return Float64x8{spec.Permute[float64, spec.Width512, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Float64s) Permute(indices Uint64s) (z Float64s) {
return Float64s{spec.Permute[float64, spec.WidthScalable, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int8x16) Permute(indices Uint8x16) (z Int8x16) {
return Int8x16{spec.Permute[int8, spec.Width128, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int8x32) Permute(indices Uint8x32) (z Int8x32) {
return Int8x32{spec.Permute[int8, spec.Width256, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int8x64) Permute(indices Uint8x64) (z Int8x64) {
return Int8x64{spec.Permute[int8, spec.Width512, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int8s) Permute(indices Uint8s) (z Int8s) {
return Int8s{spec.Permute[int8, spec.WidthScalable, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int16x8) Permute(indices Uint16x8) (z Int16x8) {
return Int16x8{spec.Permute[int16, spec.Width128, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int16x16) Permute(indices Uint16x16) (z Int16x16) {
return Int16x16{spec.Permute[int16, spec.Width256, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int16x32) Permute(indices Uint16x32) (z Int16x32) {
return Int16x32{spec.Permute[int16, spec.Width512, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int16s) Permute(indices Uint16s) (z Int16s) {
return Int16s{spec.Permute[int16, spec.WidthScalable, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int32x4) Permute(indices Uint32x4) (z Int32x4) {
return Int32x4{spec.Permute[int32, spec.Width128, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int32x8) Permute(indices Uint32x8) (z Int32x8) {
return Int32x8{spec.Permute[int32, spec.Width256, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int32x16) Permute(indices Uint32x16) (z Int32x16) {
return Int32x16{spec.Permute[int32, spec.Width512, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int32s) Permute(indices Uint32s) (z Int32s) {
return Int32s{spec.Permute[int32, spec.WidthScalable, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int64x2) Permute(indices Uint64x2) (z Int64x2) {
return Int64x2{spec.Permute[int64, spec.Width128, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int64x4) Permute(indices Uint64x4) (z Int64x4) {
return Int64x4{spec.Permute[int64, spec.Width256, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int64x8) Permute(indices Uint64x8) (z Int64x8) {
return Int64x8{spec.Permute[int64, spec.Width512, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Int64s) Permute(indices Uint64s) (z Int64s) {
return Int64s{spec.Permute[int64, spec.WidthScalable, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint8x16) Permute(indices Uint8x16) (z Uint8x16) {
return Uint8x16{spec.Permute[uint8, spec.Width128, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint8x32) Permute(indices Uint8x32) (z Uint8x32) {
return Uint8x32{spec.Permute[uint8, spec.Width256, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint8x64) Permute(indices Uint8x64) (z Uint8x64) {
return Uint8x64{spec.Permute[uint8, spec.Width512, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint8s) Permute(indices Uint8s) (z Uint8s) {
return Uint8s{spec.Permute[uint8, spec.WidthScalable, uint8](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint16x8) Permute(indices Uint16x8) (z Uint16x8) {
return Uint16x8{spec.Permute[uint16, spec.Width128, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint16x16) Permute(indices Uint16x16) (z Uint16x16) {
return Uint16x16{spec.Permute[uint16, spec.Width256, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint16x32) Permute(indices Uint16x32) (z Uint16x32) {
return Uint16x32{spec.Permute[uint16, spec.Width512, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint16s) Permute(indices Uint16s) (z Uint16s) {
return Uint16s{spec.Permute[uint16, spec.WidthScalable, uint16](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint32x4) Permute(indices Uint32x4) (z Uint32x4) {
return Uint32x4{spec.Permute[uint32, spec.Width128, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint32x8) Permute(indices Uint32x8) (z Uint32x8) {
return Uint32x8{spec.Permute[uint32, spec.Width256, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint32x16) Permute(indices Uint32x16) (z Uint32x16) {
return Uint32x16{spec.Permute[uint32, spec.Width512, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint32s) Permute(indices Uint32s) (z Uint32s) {
return Uint32s{spec.Permute[uint32, spec.WidthScalable, uint32](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint64x2) Permute(indices Uint64x2) (z Uint64x2) {
return Uint64x2{spec.Permute[uint64, spec.Width128, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint64x4) Permute(indices Uint64x4) (z Uint64x4) {
return Uint64x4{spec.Permute[uint64, spec.Width256, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint64x8) Permute(indices Uint64x8) (z Uint64x8) {
return Uint64x8{spec.Permute[uint64, spec.Width512, uint64](x.v, indices.v)}
}
// Permute permutes x.
//
// z[i] = x[indices[i] % len(x)]
func (x Uint64s) Permute(indices Uint64s) (z Uint64s) {
return Uint64s{spec.Permute[uint64, spec.WidthScalable, uint64](x.v, indices.v)}
}