// 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)} }