// Code generated by 'go run genfiles.go'; DO NOT EDIT.

//go:build goexperiment.simd

package archsimd

import 

// LoadInt8x16Slice loads an Int8x16 from a slice of at least 16 int8s
func ( []int8) Int8x16 {
	return LoadInt8x16((*[16]int8)())
}

// StoreSlice stores x into a slice of at least 16 int8s
func ( Int8x16) ( []int8) {
	.Store((*[16]int8)())
}

// LoadInt16x8Slice loads an Int16x8 from a slice of at least 8 int16s
func ( []int16) Int16x8 {
	return LoadInt16x8((*[8]int16)())
}

// StoreSlice stores x into a slice of at least 8 int16s
func ( Int16x8) ( []int16) {
	.Store((*[8]int16)())
}

// LoadInt32x4Slice loads an Int32x4 from a slice of at least 4 int32s
func ( []int32) Int32x4 {
	return LoadInt32x4((*[4]int32)())
}

// StoreSlice stores x into a slice of at least 4 int32s
func ( Int32x4) ( []int32) {
	.Store((*[4]int32)())
}

// LoadInt64x2Slice loads an Int64x2 from a slice of at least 2 int64s
func ( []int64) Int64x2 {
	return LoadInt64x2((*[2]int64)())
}

// StoreSlice stores x into a slice of at least 2 int64s
func ( Int64x2) ( []int64) {
	.Store((*[2]int64)())
}

// LoadUint8x16Slice loads an Uint8x16 from a slice of at least 16 uint8s
func ( []uint8) Uint8x16 {
	return LoadUint8x16((*[16]uint8)())
}

// StoreSlice stores x into a slice of at least 16 uint8s
func ( Uint8x16) ( []uint8) {
	.Store((*[16]uint8)())
}

// LoadUint16x8Slice loads an Uint16x8 from a slice of at least 8 uint16s
func ( []uint16) Uint16x8 {
	return LoadUint16x8((*[8]uint16)())
}

// StoreSlice stores x into a slice of at least 8 uint16s
func ( Uint16x8) ( []uint16) {
	.Store((*[8]uint16)())
}

// LoadUint32x4Slice loads an Uint32x4 from a slice of at least 4 uint32s
func ( []uint32) Uint32x4 {
	return LoadUint32x4((*[4]uint32)())
}

// StoreSlice stores x into a slice of at least 4 uint32s
func ( Uint32x4) ( []uint32) {
	.Store((*[4]uint32)())
}

// LoadUint64x2Slice loads an Uint64x2 from a slice of at least 2 uint64s
func ( []uint64) Uint64x2 {
	return LoadUint64x2((*[2]uint64)())
}

// StoreSlice stores x into a slice of at least 2 uint64s
func ( Uint64x2) ( []uint64) {
	.Store((*[2]uint64)())
}

// LoadFloat32x4Slice loads a Float32x4 from a slice of at least 4 float32s
func ( []float32) Float32x4 {
	return LoadFloat32x4((*[4]float32)())
}

// StoreSlice stores x into a slice of at least 4 float32s
func ( Float32x4) ( []float32) {
	.Store((*[4]float32)())
}

// LoadFloat64x2Slice loads a Float64x2 from a slice of at least 2 float64s
func ( []float64) Float64x2 {
	return LoadFloat64x2((*[2]float64)())
}

// StoreSlice stores x into a slice of at least 2 float64s
func ( Float64x2) ( []float64) {
	.Store((*[2]float64)())
}

// LoadInt8x32Slice loads an Int8x32 from a slice of at least 32 int8s
func ( []int8) Int8x32 {
	return LoadInt8x32((*[32]int8)())
}

// StoreSlice stores x into a slice of at least 32 int8s
func ( Int8x32) ( []int8) {
	.Store((*[32]int8)())
}

// LoadInt16x16Slice loads an Int16x16 from a slice of at least 16 int16s
func ( []int16) Int16x16 {
	return LoadInt16x16((*[16]int16)())
}

// StoreSlice stores x into a slice of at least 16 int16s
func ( Int16x16) ( []int16) {
	.Store((*[16]int16)())
}

// LoadInt32x8Slice loads an Int32x8 from a slice of at least 8 int32s
func ( []int32) Int32x8 {
	return LoadInt32x8((*[8]int32)())
}

// StoreSlice stores x into a slice of at least 8 int32s
func ( Int32x8) ( []int32) {
	.Store((*[8]int32)())
}

// LoadInt64x4Slice loads an Int64x4 from a slice of at least 4 int64s
func ( []int64) Int64x4 {
	return LoadInt64x4((*[4]int64)())
}

// StoreSlice stores x into a slice of at least 4 int64s
func ( Int64x4) ( []int64) {
	.Store((*[4]int64)())
}

// LoadUint8x32Slice loads an Uint8x32 from a slice of at least 32 uint8s
func ( []uint8) Uint8x32 {
	return LoadUint8x32((*[32]uint8)())
}

// StoreSlice stores x into a slice of at least 32 uint8s
func ( Uint8x32) ( []uint8) {
	.Store((*[32]uint8)())
}

// LoadUint16x16Slice loads an Uint16x16 from a slice of at least 16 uint16s
func ( []uint16) Uint16x16 {
	return LoadUint16x16((*[16]uint16)())
}

// StoreSlice stores x into a slice of at least 16 uint16s
func ( Uint16x16) ( []uint16) {
	.Store((*[16]uint16)())
}

// LoadUint32x8Slice loads an Uint32x8 from a slice of at least 8 uint32s
func ( []uint32) Uint32x8 {
	return LoadUint32x8((*[8]uint32)())
}

// StoreSlice stores x into a slice of at least 8 uint32s
func ( Uint32x8) ( []uint32) {
	.Store((*[8]uint32)())
}

// LoadUint64x4Slice loads an Uint64x4 from a slice of at least 4 uint64s
func ( []uint64) Uint64x4 {
	return LoadUint64x4((*[4]uint64)())
}

// StoreSlice stores x into a slice of at least 4 uint64s
func ( Uint64x4) ( []uint64) {
	.Store((*[4]uint64)())
}

// LoadFloat32x8Slice loads a Float32x8 from a slice of at least 8 float32s
func ( []float32) Float32x8 {
	return LoadFloat32x8((*[8]float32)())
}

// StoreSlice stores x into a slice of at least 8 float32s
func ( Float32x8) ( []float32) {
	.Store((*[8]float32)())
}

// LoadFloat64x4Slice loads a Float64x4 from a slice of at least 4 float64s
func ( []float64) Float64x4 {
	return LoadFloat64x4((*[4]float64)())
}

// StoreSlice stores x into a slice of at least 4 float64s
func ( Float64x4) ( []float64) {
	.Store((*[4]float64)())
}

// LoadInt8x64Slice loads an Int8x64 from a slice of at least 64 int8s
func ( []int8) Int8x64 {
	return LoadInt8x64((*[64]int8)())
}

// StoreSlice stores x into a slice of at least 64 int8s
func ( Int8x64) ( []int8) {
	.Store((*[64]int8)())
}

// LoadInt16x32Slice loads an Int16x32 from a slice of at least 32 int16s
func ( []int16) Int16x32 {
	return LoadInt16x32((*[32]int16)())
}

// StoreSlice stores x into a slice of at least 32 int16s
func ( Int16x32) ( []int16) {
	.Store((*[32]int16)())
}

// LoadInt32x16Slice loads an Int32x16 from a slice of at least 16 int32s
func ( []int32) Int32x16 {
	return LoadInt32x16((*[16]int32)())
}

// StoreSlice stores x into a slice of at least 16 int32s
func ( Int32x16) ( []int32) {
	.Store((*[16]int32)())
}

// LoadInt64x8Slice loads an Int64x8 from a slice of at least 8 int64s
func ( []int64) Int64x8 {
	return LoadInt64x8((*[8]int64)())
}

// StoreSlice stores x into a slice of at least 8 int64s
func ( Int64x8) ( []int64) {
	.Store((*[8]int64)())
}

// LoadUint8x64Slice loads an Uint8x64 from a slice of at least 64 uint8s
func ( []uint8) Uint8x64 {
	return LoadUint8x64((*[64]uint8)())
}

// StoreSlice stores x into a slice of at least 64 uint8s
func ( Uint8x64) ( []uint8) {
	.Store((*[64]uint8)())
}

// LoadUint16x32Slice loads an Uint16x32 from a slice of at least 32 uint16s
func ( []uint16) Uint16x32 {
	return LoadUint16x32((*[32]uint16)())
}

// StoreSlice stores x into a slice of at least 32 uint16s
func ( Uint16x32) ( []uint16) {
	.Store((*[32]uint16)())
}

// LoadUint32x16Slice loads an Uint32x16 from a slice of at least 16 uint32s
func ( []uint32) Uint32x16 {
	return LoadUint32x16((*[16]uint32)())
}

// StoreSlice stores x into a slice of at least 16 uint32s
func ( Uint32x16) ( []uint32) {
	.Store((*[16]uint32)())
}

// LoadUint64x8Slice loads an Uint64x8 from a slice of at least 8 uint64s
func ( []uint64) Uint64x8 {
	return LoadUint64x8((*[8]uint64)())
}

// StoreSlice stores x into a slice of at least 8 uint64s
func ( Uint64x8) ( []uint64) {
	.Store((*[8]uint64)())
}

// LoadFloat32x16Slice loads a Float32x16 from a slice of at least 16 float32s
func ( []float32) Float32x16 {
	return LoadFloat32x16((*[16]float32)())
}

// StoreSlice stores x into a slice of at least 16 float32s
func ( Float32x16) ( []float32) {
	.Store((*[16]float32)())
}

// LoadFloat64x8Slice loads a Float64x8 from a slice of at least 8 float64s
func ( []float64) Float64x8 {
	return LoadFloat64x8((*[8]float64)())
}

// StoreSlice stores x into a slice of at least 8 float64s
func ( Float64x8) ( []float64) {
	.Store((*[8]float64)())
}

// LoadInt8x64SlicePart loads a Int8x64 from the slice s.
// If s has fewer than 64 elements, the remaining elements of the vector are filled with zeroes.
// If s has 64 or more elements, the function is equivalent to LoadInt8x64Slice.
func ( []int8) Int8x64 {
	 := len()
	if  >= 64 {
		return LoadInt8x64Slice()
	}
	if  == 0 {
		var  Int8x64
		return 
	}
	 := Mask8x64FromBits(0xffffffffffffffff >> (64 - ))
	return LoadMaskedInt8x64(paInt8x64(), )
}

// StoreSlicePart stores the 64 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 64 or more elements, the method is equivalent to x.StoreSlice.
func ( Int8x64) ( []int8) {
	 := len()
	if  >= 64 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask8x64FromBits(0xffffffffffffffff >> (64 - ))
	.StoreMasked(paInt8x64(), )
}

// LoadInt16x32SlicePart loads a Int16x32 from the slice s.
// If s has fewer than 32 elements, the remaining elements of the vector are filled with zeroes.
// If s has 32 or more elements, the function is equivalent to LoadInt16x32Slice.
func ( []int16) Int16x32 {
	 := len()
	if  >= 32 {
		return LoadInt16x32Slice()
	}
	if  == 0 {
		var  Int16x32
		return 
	}
	 := Mask16x32FromBits(0xffffffff >> (32 - ))
	return LoadMaskedInt16x32(paInt16x32(), )
}

// StoreSlicePart stores the 32 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 32 or more elements, the method is equivalent to x.StoreSlice.
func ( Int16x32) ( []int16) {
	 := len()
	if  >= 32 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask16x32FromBits(0xffffffff >> (32 - ))
	.StoreMasked(paInt16x32(), )
}

// LoadInt32x16SlicePart loads a Int32x16 from the slice s.
// If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
// If s has 16 or more elements, the function is equivalent to LoadInt32x16Slice.
func ( []int32) Int32x16 {
	 := len()
	if  >= 16 {
		return LoadInt32x16Slice()
	}
	if  == 0 {
		var  Int32x16
		return 
	}
	 := Mask32x16FromBits(0xffff >> (16 - ))
	return LoadMaskedInt32x16(paInt32x16(), )
}

// StoreSlicePart stores the 16 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 16 or more elements, the method is equivalent to x.StoreSlice.
func ( Int32x16) ( []int32) {
	 := len()
	if  >= 16 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask32x16FromBits(0xffff >> (16 - ))
	.StoreMasked(paInt32x16(), )
}

// LoadInt64x8SlicePart loads a Int64x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadInt64x8Slice.
func ( []int64) Int64x8 {
	 := len()
	if  >= 8 {
		return LoadInt64x8Slice()
	}
	if  == 0 {
		var  Int64x8
		return 
	}
	 := Mask64x8FromBits(0xff >> (8 - ))
	return LoadMaskedInt64x8(paInt64x8(), )
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Int64x8) ( []int64) {
	 := len()
	if  >= 8 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask64x8FromBits(0xff >> (8 - ))
	.StoreMasked(paInt64x8(), )
}

// LoadUint8x64SlicePart loads a Uint8x64 from the slice s.
// If s has fewer than 64 elements, the remaining elements of the vector are filled with zeroes.
// If s has 64 or more elements, the function is equivalent to LoadUint8x64Slice.
func ( []uint8) Uint8x64 {
	 := len()
	if  >= 64 {
		return LoadUint8x64Slice()
	}
	if  == 0 {
		var  Uint8x64
		return 
	}
	 := Mask8x64FromBits(0xffffffffffffffff >> (64 - ))
	return LoadMaskedUint8x64(paUint8x64(), )
}

// StoreSlicePart stores the 64 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 64 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint8x64) ( []uint8) {
	 := len()
	if  >= 64 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask8x64FromBits(0xffffffffffffffff >> (64 - ))
	.StoreMasked(paUint8x64(), )
}

// LoadUint16x32SlicePart loads a Uint16x32 from the slice s.
// If s has fewer than 32 elements, the remaining elements of the vector are filled with zeroes.
// If s has 32 or more elements, the function is equivalent to LoadUint16x32Slice.
func ( []uint16) Uint16x32 {
	 := len()
	if  >= 32 {
		return LoadUint16x32Slice()
	}
	if  == 0 {
		var  Uint16x32
		return 
	}
	 := Mask16x32FromBits(0xffffffff >> (32 - ))
	return LoadMaskedUint16x32(paUint16x32(), )
}

// StoreSlicePart stores the 32 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 32 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint16x32) ( []uint16) {
	 := len()
	if  >= 32 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask16x32FromBits(0xffffffff >> (32 - ))
	.StoreMasked(paUint16x32(), )
}

// LoadUint32x16SlicePart loads a Uint32x16 from the slice s.
// If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
// If s has 16 or more elements, the function is equivalent to LoadUint32x16Slice.
func ( []uint32) Uint32x16 {
	 := len()
	if  >= 16 {
		return LoadUint32x16Slice()
	}
	if  == 0 {
		var  Uint32x16
		return 
	}
	 := Mask32x16FromBits(0xffff >> (16 - ))
	return LoadMaskedUint32x16(paUint32x16(), )
}

// StoreSlicePart stores the 16 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 16 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint32x16) ( []uint32) {
	 := len()
	if  >= 16 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask32x16FromBits(0xffff >> (16 - ))
	.StoreMasked(paUint32x16(), )
}

// LoadUint64x8SlicePart loads a Uint64x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadUint64x8Slice.
func ( []uint64) Uint64x8 {
	 := len()
	if  >= 8 {
		return LoadUint64x8Slice()
	}
	if  == 0 {
		var  Uint64x8
		return 
	}
	 := Mask64x8FromBits(0xff >> (8 - ))
	return LoadMaskedUint64x8(paUint64x8(), )
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint64x8) ( []uint64) {
	 := len()
	if  >= 8 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask64x8FromBits(0xff >> (8 - ))
	.StoreMasked(paUint64x8(), )
}

// LoadFloat32x16SlicePart loads a Float32x16 from the slice s.
// If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
// If s has 16 or more elements, the function is equivalent to LoadFloat32x16Slice.
func ( []float32) Float32x16 {
	 := len()
	if  >= 16 {
		return LoadFloat32x16Slice()
	}
	if  == 0 {
		var  Float32x16
		return 
	}
	 := Mask32x16FromBits(0xffff >> (16 - ))
	return LoadMaskedFloat32x16(paFloat32x16(), )
}

// StoreSlicePart stores the 16 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 16 or more elements, the method is equivalent to x.StoreSlice.
func ( Float32x16) ( []float32) {
	 := len()
	if  >= 16 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask32x16FromBits(0xffff >> (16 - ))
	.StoreMasked(paFloat32x16(), )
}

// LoadFloat64x8SlicePart loads a Float64x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadFloat64x8Slice.
func ( []float64) Float64x8 {
	 := len()
	if  >= 8 {
		return LoadFloat64x8Slice()
	}
	if  == 0 {
		var  Float64x8
		return 
	}
	 := Mask64x8FromBits(0xff >> (8 - ))
	return LoadMaskedFloat64x8(paFloat64x8(), )
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Float64x8) ( []float64) {
	 := len()
	if  >= 8 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := Mask64x8FromBits(0xff >> (8 - ))
	.StoreMasked(paFloat64x8(), )
}

// LoadInt32x4SlicePart loads a Int32x4 from the slice s.
// If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
// If s has 4 or more elements, the function is equivalent to LoadInt32x4Slice.
func ( []int32) Int32x4 {
	 := len()
	if  >= 4 {
		return LoadInt32x4Slice()
	}
	if  == 0 {
		var  Int32x4
		return 
	}
	 := vecMask32[len(vecMask32)/2-:]
	return LoadMaskedInt32x4(paInt32x4(), LoadInt32x4Slice().asMask())
}

// StoreSlicePart stores the 4 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 4 or more elements, the method is equivalent to x.StoreSlice.
func ( Int32x4) ( []int32) {
	 := len()
	if  >= 4 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask32[len(vecMask32)/2-:]
	.StoreMasked(paInt32x4(), LoadInt32x4Slice().asMask())
}

// LoadInt64x2SlicePart loads a Int64x2 from the slice s.
// If s has fewer than 2 elements, the remaining elements of the vector are filled with zeroes.
// If s has 2 or more elements, the function is equivalent to LoadInt64x2Slice.
func ( []int64) Int64x2 {
	 := len()
	if  >= 2 {
		return LoadInt64x2Slice()
	}
	if  == 0 {
		var  Int64x2
		return 
	}
	 := vecMask64[len(vecMask64)/2-:]
	return LoadMaskedInt64x2(paInt64x2(), LoadInt64x2Slice().asMask())
}

// StoreSlicePart stores the 2 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 2 or more elements, the method is equivalent to x.StoreSlice.
func ( Int64x2) ( []int64) {
	 := len()
	if  >= 2 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask64[len(vecMask64)/2-:]
	.StoreMasked(paInt64x2(), LoadInt64x2Slice().asMask())
}

// LoadUint32x4SlicePart loads a Uint32x4 from the slice s.
// If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
// If s has 4 or more elements, the function is equivalent to LoadUint32x4Slice.
func ( []uint32) Uint32x4 {
	 := len()
	if  >= 4 {
		return LoadUint32x4Slice()
	}
	if  == 0 {
		var  Uint32x4
		return 
	}
	 := vecMask32[len(vecMask32)/2-:]
	return LoadMaskedUint32x4(paUint32x4(), LoadInt32x4Slice().asMask())
}

// StoreSlicePart stores the 4 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 4 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint32x4) ( []uint32) {
	 := len()
	if  >= 4 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask32[len(vecMask32)/2-:]
	.StoreMasked(paUint32x4(), LoadInt32x4Slice().asMask())
}

// LoadUint64x2SlicePart loads a Uint64x2 from the slice s.
// If s has fewer than 2 elements, the remaining elements of the vector are filled with zeroes.
// If s has 2 or more elements, the function is equivalent to LoadUint64x2Slice.
func ( []uint64) Uint64x2 {
	 := len()
	if  >= 2 {
		return LoadUint64x2Slice()
	}
	if  == 0 {
		var  Uint64x2
		return 
	}
	 := vecMask64[len(vecMask64)/2-:]
	return LoadMaskedUint64x2(paUint64x2(), LoadInt64x2Slice().asMask())
}

// StoreSlicePart stores the 2 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 2 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint64x2) ( []uint64) {
	 := len()
	if  >= 2 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask64[len(vecMask64)/2-:]
	.StoreMasked(paUint64x2(), LoadInt64x2Slice().asMask())
}

// LoadFloat32x4SlicePart loads a Float32x4 from the slice s.
// If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
// If s has 4 or more elements, the function is equivalent to LoadFloat32x4Slice.
func ( []float32) Float32x4 {
	 := len()
	if  >= 4 {
		return LoadFloat32x4Slice()
	}
	if  == 0 {
		var  Float32x4
		return 
	}
	 := vecMask32[len(vecMask32)/2-:]
	return LoadMaskedFloat32x4(paFloat32x4(), LoadInt32x4Slice().asMask())
}

// StoreSlicePart stores the 4 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 4 or more elements, the method is equivalent to x.StoreSlice.
func ( Float32x4) ( []float32) {
	 := len()
	if  >= 4 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask32[len(vecMask32)/2-:]
	.StoreMasked(paFloat32x4(), LoadInt32x4Slice().asMask())
}

// LoadFloat64x2SlicePart loads a Float64x2 from the slice s.
// If s has fewer than 2 elements, the remaining elements of the vector are filled with zeroes.
// If s has 2 or more elements, the function is equivalent to LoadFloat64x2Slice.
func ( []float64) Float64x2 {
	 := len()
	if  >= 2 {
		return LoadFloat64x2Slice()
	}
	if  == 0 {
		var  Float64x2
		return 
	}
	 := vecMask64[len(vecMask64)/2-:]
	return LoadMaskedFloat64x2(paFloat64x2(), LoadInt64x2Slice().asMask())
}

// StoreSlicePart stores the 2 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 2 or more elements, the method is equivalent to x.StoreSlice.
func ( Float64x2) ( []float64) {
	 := len()
	if  >= 2 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask64[len(vecMask64)/2-:]
	.StoreMasked(paFloat64x2(), LoadInt64x2Slice().asMask())
}

// LoadInt32x8SlicePart loads a Int32x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadInt32x8Slice.
func ( []int32) Int32x8 {
	 := len()
	if  >= 8 {
		return LoadInt32x8Slice()
	}
	if  == 0 {
		var  Int32x8
		return 
	}
	 := vecMask32[len(vecMask32)/2-:]
	return LoadMaskedInt32x8(paInt32x8(), LoadInt32x8Slice().asMask())
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Int32x8) ( []int32) {
	 := len()
	if  >= 8 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask32[len(vecMask32)/2-:]
	.StoreMasked(paInt32x8(), LoadInt32x8Slice().asMask())
}

// LoadInt64x4SlicePart loads a Int64x4 from the slice s.
// If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
// If s has 4 or more elements, the function is equivalent to LoadInt64x4Slice.
func ( []int64) Int64x4 {
	 := len()
	if  >= 4 {
		return LoadInt64x4Slice()
	}
	if  == 0 {
		var  Int64x4
		return 
	}
	 := vecMask64[len(vecMask64)/2-:]
	return LoadMaskedInt64x4(paInt64x4(), LoadInt64x4Slice().asMask())
}

// StoreSlicePart stores the 4 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 4 or more elements, the method is equivalent to x.StoreSlice.
func ( Int64x4) ( []int64) {
	 := len()
	if  >= 4 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask64[len(vecMask64)/2-:]
	.StoreMasked(paInt64x4(), LoadInt64x4Slice().asMask())
}

// LoadUint32x8SlicePart loads a Uint32x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadUint32x8Slice.
func ( []uint32) Uint32x8 {
	 := len()
	if  >= 8 {
		return LoadUint32x8Slice()
	}
	if  == 0 {
		var  Uint32x8
		return 
	}
	 := vecMask32[len(vecMask32)/2-:]
	return LoadMaskedUint32x8(paUint32x8(), LoadInt32x8Slice().asMask())
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint32x8) ( []uint32) {
	 := len()
	if  >= 8 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask32[len(vecMask32)/2-:]
	.StoreMasked(paUint32x8(), LoadInt32x8Slice().asMask())
}

// LoadUint64x4SlicePart loads a Uint64x4 from the slice s.
// If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
// If s has 4 or more elements, the function is equivalent to LoadUint64x4Slice.
func ( []uint64) Uint64x4 {
	 := len()
	if  >= 4 {
		return LoadUint64x4Slice()
	}
	if  == 0 {
		var  Uint64x4
		return 
	}
	 := vecMask64[len(vecMask64)/2-:]
	return LoadMaskedUint64x4(paUint64x4(), LoadInt64x4Slice().asMask())
}

// StoreSlicePart stores the 4 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 4 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint64x4) ( []uint64) {
	 := len()
	if  >= 4 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask64[len(vecMask64)/2-:]
	.StoreMasked(paUint64x4(), LoadInt64x4Slice().asMask())
}

// LoadFloat32x8SlicePart loads a Float32x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadFloat32x8Slice.
func ( []float32) Float32x8 {
	 := len()
	if  >= 8 {
		return LoadFloat32x8Slice()
	}
	if  == 0 {
		var  Float32x8
		return 
	}
	 := vecMask32[len(vecMask32)/2-:]
	return LoadMaskedFloat32x8(paFloat32x8(), LoadInt32x8Slice().asMask())
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Float32x8) ( []float32) {
	 := len()
	if  >= 8 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask32[len(vecMask32)/2-:]
	.StoreMasked(paFloat32x8(), LoadInt32x8Slice().asMask())
}

// LoadFloat64x4SlicePart loads a Float64x4 from the slice s.
// If s has fewer than 4 elements, the remaining elements of the vector are filled with zeroes.
// If s has 4 or more elements, the function is equivalent to LoadFloat64x4Slice.
func ( []float64) Float64x4 {
	 := len()
	if  >= 4 {
		return LoadFloat64x4Slice()
	}
	if  == 0 {
		var  Float64x4
		return 
	}
	 := vecMask64[len(vecMask64)/2-:]
	return LoadMaskedFloat64x4(paFloat64x4(), LoadInt64x4Slice().asMask())
}

// StoreSlicePart stores the 4 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 4 or more elements, the method is equivalent to x.StoreSlice.
func ( Float64x4) ( []float64) {
	 := len()
	if  >= 4 {
		.StoreSlice()
		return
	}
	if  == 0 {
		return
	}
	 := vecMask64[len(vecMask64)/2-:]
	.StoreMasked(paFloat64x4(), LoadInt64x4Slice().asMask())
}

// LoadUint8x16SlicePart loads a Uint8x16 from the slice s.
// If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
// If s has 16 or more elements, the function is equivalent to LoadUint8x16Slice.
func ( []uint8) Uint8x16 {
	if len() == 0 {
		var  Uint8x16
		return 
	}
	 := unsafe.Slice((*int8)(unsafe.Pointer(&[0])), len())
	return LoadInt8x16SlicePart().AsUint8x16()
}

// StoreSlicePart stores the 16 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 16 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint8x16) ( []uint8) {
	if len() == 0 {
		return
	}
	 := unsafe.Slice((*int8)(unsafe.Pointer(&[0])), len())
	.AsInt8x16().StoreSlicePart()
}

// LoadUint16x8SlicePart loads a Uint16x8 from the slice s.
// If s has fewer than 8 elements, the remaining elements of the vector are filled with zeroes.
// If s has 8 or more elements, the function is equivalent to LoadUint16x8Slice.
func ( []uint16) Uint16x8 {
	if len() == 0 {
		var  Uint16x8
		return 
	}
	 := unsafe.Slice((*int16)(unsafe.Pointer(&[0])), len())
	return LoadInt16x8SlicePart().AsUint16x8()
}

// StoreSlicePart stores the 8 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 8 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint16x8) ( []uint16) {
	if len() == 0 {
		return
	}
	 := unsafe.Slice((*int16)(unsafe.Pointer(&[0])), len())
	.AsInt16x8().StoreSlicePart()
}

// LoadUint8x32SlicePart loads a Uint8x32 from the slice s.
// If s has fewer than 32 elements, the remaining elements of the vector are filled with zeroes.
// If s has 32 or more elements, the function is equivalent to LoadUint8x32Slice.
func ( []uint8) Uint8x32 {
	if len() == 0 {
		var  Uint8x32
		return 
	}
	 := unsafe.Slice((*int8)(unsafe.Pointer(&[0])), len())
	return LoadInt8x32SlicePart().AsUint8x32()
}

// StoreSlicePart stores the 32 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 32 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint8x32) ( []uint8) {
	if len() == 0 {
		return
	}
	 := unsafe.Slice((*int8)(unsafe.Pointer(&[0])), len())
	.AsInt8x32().StoreSlicePart()
}

// LoadUint16x16SlicePart loads a Uint16x16 from the slice s.
// If s has fewer than 16 elements, the remaining elements of the vector are filled with zeroes.
// If s has 16 or more elements, the function is equivalent to LoadUint16x16Slice.
func ( []uint16) Uint16x16 {
	if len() == 0 {
		var  Uint16x16
		return 
	}
	 := unsafe.Slice((*int16)(unsafe.Pointer(&[0])), len())
	return LoadInt16x16SlicePart().AsUint16x16()
}

// StoreSlicePart stores the 16 elements of x into the slice s.
// It stores as many elements as will fit in s.
// If s has 16 or more elements, the method is equivalent to x.StoreSlice.
func ( Uint16x16) ( []uint16) {
	if len() == 0 {
		return
	}
	 := unsafe.Slice((*int16)(unsafe.Pointer(&[0])), len())
	.AsInt16x16().StoreSlicePart()
}