| // Code generated by 'wasmgen'; DO NOT EDIT. |
| |
| //go:build goexperiment.simd && wasm |
| |
| package archsimd |
| |
| // Abs returns the elementwise absolute value of x. |
| // |
| // Asm: I8x16Abs |
| func (x Int8x16) Abs() Int8x16 |
| |
| // Abs returns the elementwise absolute value of x. |
| // |
| // Asm: I16x8Abs |
| func (x Int16x8) Abs() Int16x8 |
| |
| // Abs returns the elementwise absolute value of x. |
| // |
| // Asm: I32x4Abs |
| func (x Int32x4) Abs() Int32x4 |
| |
| // Abs returns the elementwise absolute value of x. |
| // |
| // Asm: F32x4Abs |
| func (x Float32x4) Abs() Float32x4 |
| |
| // Abs returns the elementwise absolute value of x. |
| // |
| // Asm: I64x2Abs |
| func (x Int64x2) Abs() Int64x2 |
| |
| // Abs returns the elementwise absolute value of x. |
| // |
| // Asm: F64x2Abs |
| func (x Float64x2) Abs() Float64x2 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I8x16Add |
| func (x Int8x16) Add(y Int8x16) Int8x16 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I8x16Add |
| func (x Uint8x16) Add(y Uint8x16) Uint8x16 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I16x8Add |
| func (x Int16x8) Add(y Int16x8) Int16x8 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I16x8Add |
| func (x Uint16x8) Add(y Uint16x8) Uint16x8 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I32x4Add |
| func (x Int32x4) Add(y Int32x4) Int32x4 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I32x4Add |
| func (x Uint32x4) Add(y Uint32x4) Uint32x4 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: F32x4Add |
| func (x Float32x4) Add(y Float32x4) Float32x4 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I64x2Add |
| func (x Int64x2) Add(y Int64x2) Int64x2 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: I64x2Add |
| func (x Uint64x2) Add(y Uint64x2) Uint64x2 |
| |
| // Add returns the result of adding x and y, elementwise. |
| // |
| // Asm: F64x2Add |
| func (x Float64x2) Add(y Float64x2) Float64x2 |
| |
| // AddSaturated returns the result of adding x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I8x16AddSatS |
| func (x Int8x16) AddSaturated(y Int8x16) Int8x16 |
| |
| // AddSaturated returns the result of adding x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I8x16AddSatU |
| func (x Uint8x16) AddSaturated(y Uint8x16) Uint8x16 |
| |
| // AddSaturated returns the result of adding x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I16x8AddSatS |
| func (x Int16x8) AddSaturated(y Int16x8) Int16x8 |
| |
| // AddSaturated returns the result of adding x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I16x8AddSatU |
| func (x Uint16x8) AddSaturated(y Uint16x8) Uint16x8 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Int8x16) And(y Int8x16) Int8x16 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Uint8x16) And(y Uint8x16) Uint8x16 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Mask8x16) And(y Mask8x16) Mask8x16 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Int16x8) And(y Int16x8) Int16x8 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Uint16x8) And(y Uint16x8) Uint16x8 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Mask16x8) And(y Mask16x8) Mask16x8 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Int32x4) And(y Int32x4) Int32x4 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Uint32x4) And(y Uint32x4) Uint32x4 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Mask32x4) And(y Mask32x4) Mask32x4 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Int64x2) And(y Int64x2) Int64x2 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Uint64x2) And(y Uint64x2) Uint64x2 |
| |
| // And returns the bitwise AND of x and y. |
| // |
| // Asm: V128And |
| func (x Mask64x2) And(y Mask64x2) Mask64x2 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Int8x16) AndNot(y Int8x16) Int8x16 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Uint8x16) AndNot(y Uint8x16) Uint8x16 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Mask8x16) AndNot(y Mask8x16) Mask8x16 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Int16x8) AndNot(y Int16x8) Int16x8 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Uint16x8) AndNot(y Uint16x8) Uint16x8 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Mask16x8) AndNot(y Mask16x8) Mask16x8 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Int32x4) AndNot(y Int32x4) Int32x4 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Uint32x4) AndNot(y Uint32x4) Uint32x4 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Mask32x4) AndNot(y Mask32x4) Mask32x4 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Int64x2) AndNot(y Int64x2) Int64x2 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Uint64x2) AndNot(y Uint64x2) Uint64x2 |
| |
| // AndNot returns the bitwise AND NOT of x and y (x & ^y). |
| // |
| // Asm: V128Andnot |
| func (x Mask64x2) AndNot(y Mask64x2) Mask64x2 |
| |
| // Average returns the elementwise average of unsigned integers in x and y. |
| // |
| // Asm: I8x16AvgrU |
| func (x Uint8x16) Average(y Uint8x16) Uint8x16 |
| |
| // Average returns the elementwise average of unsigned integers in x and y. |
| // |
| // Asm: I16x8AvgrU |
| func (x Uint16x8) Average(y Uint16x8) Uint16x8 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Int8x16) BitSelect(y Int8x16, cond Int8x16) Int8x16 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Uint8x16) BitSelect(y Uint8x16, cond Uint8x16) Uint8x16 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Int16x8) BitSelect(y Int16x8, cond Int16x8) Int16x8 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Uint16x8) BitSelect(y Uint16x8, cond Uint16x8) Uint16x8 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Int32x4) BitSelect(y Int32x4, cond Int32x4) Int32x4 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Uint32x4) BitSelect(y Uint32x4, cond Uint32x4) Uint32x4 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Int64x2) BitSelect(y Int64x2, cond Int64x2) Int64x2 |
| |
| // BitSelect returns the bitwise selection if mask[i] then x[i] else y[i] |
| // |
| // Asm: V128Bitselect |
| func (x Uint64x2) BitSelect(y Uint64x2, cond Uint64x2) Uint64x2 |
| |
| // Ceil returns the elementwise ceiling of x. |
| // |
| // Asm: F32x4Ceil |
| func (x Float32x4) Ceil() Float32x4 |
| |
| // Ceil returns the elementwise ceiling of x. |
| // |
| // Asm: F64x2Ceil |
| func (x Float64x2) Ceil() Float64x2 |
| |
| // ConvertLo2ToFloat64 converts the first two elements of x to Float64x2. |
| // |
| // Asm: F64x2ConvertLowI32x4S |
| func (x Int32x4) ConvertLo2ToFloat64() Float64x2 |
| |
| // ConvertLo2ToFloat64 converts the first two elements of x to Float64x2. |
| // |
| // Asm: F64x2ConvertLowI32x4U |
| func (x Uint32x4) ConvertLo2ToFloat64() Float64x2 |
| |
| // ConvertToFloat32 converts elements of x to Float32x4. |
| // |
| // Asm: F32x4ConvertI32x4S |
| func (x Int32x4) ConvertToFloat32() Float32x4 |
| |
| // ConvertToFloat32 converts elements of x to Float32x4. |
| // |
| // Asm: F32x4ConvertI32x4U |
| func (x Uint32x4) ConvertToFloat32() Float32x4 |
| |
| // ConvertToInt32 converts elements of x to Int32x4. |
| // |
| // Asm: I32x4TruncSatF32x4S |
| func (x Float32x4) ConvertToInt32() Int32x4 |
| |
| // ConvertToUint32 converts elements of x to Uint32x4. |
| // |
| // Asm: I32x4TruncSatF32x4U |
| func (x Float32x4) ConvertToUint32() Uint32x4 |
| |
| // Div returns the result of dividing x by y, elementwise. |
| // |
| // Asm: F32x4Div |
| func (x Float32x4) Div(y Float32x4) Float32x4 |
| |
| // Div returns the result of dividing x by y, elementwise. |
| // |
| // Asm: F64x2Div |
| func (x Float64x2) Div(y Float64x2) Float64x2 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I8x16Eq |
| func (x Int8x16) Equal(y Int8x16) Mask8x16 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I8x16Eq |
| func (x Uint8x16) Equal(y Uint8x16) Mask8x16 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I16x8Eq |
| func (x Int16x8) Equal(y Int16x8) Mask16x8 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I16x8Eq |
| func (x Uint16x8) Equal(y Uint16x8) Mask16x8 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I32x4Eq |
| func (x Int32x4) Equal(y Int32x4) Mask32x4 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I32x4Eq |
| func (x Uint32x4) Equal(y Uint32x4) Mask32x4 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: F32x4Eq |
| func (x Float32x4) Equal(y Float32x4) Mask32x4 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I64x2Eq |
| func (x Int64x2) Equal(y Int64x2) Mask64x2 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: I64x2Eq |
| func (x Uint64x2) Equal(y Uint64x2) Mask64x2 |
| |
| // Equal returns true if x equals y, elementwise. |
| // |
| // Asm: F64x2Eq |
| func (x Float64x2) Equal(y Float64x2) Mask64x2 |
| |
| // ExtendHi2ToInt64 |
| // |
| // Asm: I64x2ExtendHighI32x4S |
| func (x Int32x4) ExtendHi2ToInt64() Int64x2 |
| |
| // ExtendHi2ToUint64 |
| // |
| // Asm: I64x2ExtendHighI32x4U |
| func (x Uint32x4) ExtendHi2ToUint64() Uint64x2 |
| |
| // ExtendHi4ToInt32 |
| // |
| // Asm: I32x4ExtendHighI16x8S |
| func (x Int16x8) ExtendHi4ToInt32() Int32x4 |
| |
| // ExtendHi4ToUint32 |
| // |
| // Asm: I32x4ExtendHighI16x8U |
| func (x Uint16x8) ExtendHi4ToUint32() Uint32x4 |
| |
| // ExtendHi8ToInt16 extends the higher 8 elements of x to 16-bit integers. |
| // |
| // Asm: I16x8ExtendHighI8x16S |
| func (x Int8x16) ExtendHi8ToInt16() Int16x8 |
| |
| // ExtendHi8ToUint16 extends the higher 8 elements of x to 16-bit unsigned integers. |
| // |
| // Asm: I16x8ExtendHighI8x16U |
| func (x Uint8x16) ExtendHi8ToUint16() Uint16x8 |
| |
| // ExtendLo2ToInt64 |
| // |
| // Asm: I64x2ExtendLowI32x4S |
| func (x Int32x4) ExtendLo2ToInt64() Int64x2 |
| |
| // ExtendLo2ToUint64 |
| // |
| // Asm: I64x2ExtendLowI32x4U |
| func (x Uint32x4) ExtendLo2ToUint64() Uint64x2 |
| |
| // ExtendLo4ToInt32 |
| // |
| // Asm: I32x4ExtendLowI16x8S |
| func (x Int16x8) ExtendLo4ToInt32() Int32x4 |
| |
| // ExtendLo4ToUint32 |
| // |
| // Asm: I32x4ExtendLowI16x8U |
| func (x Uint16x8) ExtendLo4ToUint32() Uint32x4 |
| |
| // ExtendLo8ToInt16 extends the lower 8 elements of x to 16-bit integers. |
| // |
| // Asm: I16x8ExtendLowI8x16S |
| func (x Int8x16) ExtendLo8ToInt16() Int16x8 |
| |
| // ExtendLo8ToUint16 extends the lower 8 elements of x to 16-bit unsigned integers. |
| // |
| // Asm: I16x8ExtendLowI8x16U |
| func (x Uint8x16) ExtendLo8ToUint16() Uint16x8 |
| |
| // Floor returns the elementwise floor of x. |
| // |
| // Asm: F32x4Floor |
| func (x Float32x4) Floor() Float32x4 |
| |
| // Floor returns the elementwise floor of x. |
| // |
| // Asm: F64x2Floor |
| func (x Float64x2) Floor() Float64x2 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I8x16ExtractLaneS |
| func (x Int8x16) GetElem(index uint8) int8 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I8x16ExtractLaneU |
| func (x Uint8x16) GetElem(index uint8) uint8 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I16x8ExtractLaneS |
| func (x Int16x8) GetElem(index uint8) int16 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I16x8ExtractLaneU |
| func (x Uint16x8) GetElem(index uint8) uint16 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I32x4ExtractLane |
| func (x Int32x4) GetElem(index uint8) int32 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I32x4ExtractLane |
| func (x Uint32x4) GetElem(index uint8) uint32 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: F32x4ExtractLane |
| func (x Float32x4) GetElem(index uint8) float32 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I64x2ExtractLane |
| func (x Int64x2) GetElem(index uint8) int64 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: I64x2ExtractLane |
| func (x Uint64x2) GetElem(index uint8) uint64 |
| |
| // GetElem gets the lane value at the given index. |
| // |
| // Asm: F64x2ExtractLane |
| func (x Float64x2) GetElem(index uint8) float64 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I8x16GtS |
| func (x Int8x16) Greater(y Int8x16) Mask8x16 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I8x16GtU |
| func (x Uint8x16) Greater(y Uint8x16) Mask8x16 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I16x8GtS |
| func (x Int16x8) Greater(y Int16x8) Mask16x8 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I16x8GtU |
| func (x Uint16x8) Greater(y Uint16x8) Mask16x8 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I32x4GtS |
| func (x Int32x4) Greater(y Int32x4) Mask32x4 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I32x4GtU |
| func (x Uint32x4) Greater(y Uint32x4) Mask32x4 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: F32x4Gt |
| func (x Float32x4) Greater(y Float32x4) Mask32x4 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: I64x2GtS |
| func (x Int64x2) Greater(y Int64x2) Mask64x2 |
| |
| // Greater returns true if x is greater than y, elementwise. |
| // |
| // Asm: F64x2Gt |
| func (x Float64x2) Greater(y Float64x2) Mask64x2 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I8x16GeS |
| func (x Int8x16) GreaterEqual(y Int8x16) Mask8x16 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I8x16GeU |
| func (x Uint8x16) GreaterEqual(y Uint8x16) Mask8x16 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I16x8GeS |
| func (x Int16x8) GreaterEqual(y Int16x8) Mask16x8 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I16x8GeU |
| func (x Uint16x8) GreaterEqual(y Uint16x8) Mask16x8 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I32x4GeS |
| func (x Int32x4) GreaterEqual(y Int32x4) Mask32x4 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I32x4GeU |
| func (x Uint32x4) GreaterEqual(y Uint32x4) Mask32x4 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: F32x4Ge |
| func (x Float32x4) GreaterEqual(y Float32x4) Mask32x4 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: I64x2GeS |
| func (x Int64x2) GreaterEqual(y Int64x2) Mask64x2 |
| |
| // GreaterEqual returns true if x is greater than or equal to y, elementwise. |
| // |
| // Asm: F64x2Ge |
| func (x Float64x2) GreaterEqual(y Float64x2) Mask64x2 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I8x16LtS |
| func (x Int8x16) Less(y Int8x16) Mask8x16 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I8x16LtU |
| func (x Uint8x16) Less(y Uint8x16) Mask8x16 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I16x8LtS |
| func (x Int16x8) Less(y Int16x8) Mask16x8 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I16x8LtU |
| func (x Uint16x8) Less(y Uint16x8) Mask16x8 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I32x4LtS |
| func (x Int32x4) Less(y Int32x4) Mask32x4 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I32x4LtU |
| func (x Uint32x4) Less(y Uint32x4) Mask32x4 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: F32x4Lt |
| func (x Float32x4) Less(y Float32x4) Mask32x4 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: I64x2LtS |
| func (x Int64x2) Less(y Int64x2) Mask64x2 |
| |
| // Less returns true if x is less than y, elementwise. |
| // |
| // Asm: F64x2Lt |
| func (x Float64x2) Less(y Float64x2) Mask64x2 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I8x16LeS |
| func (x Int8x16) LessEqual(y Int8x16) Mask8x16 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I8x16LeU |
| func (x Uint8x16) LessEqual(y Uint8x16) Mask8x16 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I16x8LeS |
| func (x Int16x8) LessEqual(y Int16x8) Mask16x8 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I16x8LeU |
| func (x Uint16x8) LessEqual(y Uint16x8) Mask16x8 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I32x4LeS |
| func (x Int32x4) LessEqual(y Int32x4) Mask32x4 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I32x4LeU |
| func (x Uint32x4) LessEqual(y Uint32x4) Mask32x4 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: F32x4Le |
| func (x Float32x4) LessEqual(y Float32x4) Mask32x4 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: I64x2LeS |
| func (x Int64x2) LessEqual(y Int64x2) Mask64x2 |
| |
| // LessEqual returns true if x is less than or equal to y, elementwise. |
| // |
| // Asm: F64x2Le |
| func (x Float64x2) LessEqual(y Float64x2) Mask64x2 |
| |
| // LookupOrZero returns the elements of x as indexed by the elements of i. If an index is out of range, its result is 0. |
| // |
| // if 0 <= indices[i] && indices[i] < len(table) { |
| // result[i] = table[indices[i]] |
| // } else { |
| // result[i] = 0 |
| // } |
| // |
| // Asm: I8x16Swizzle |
| func (x Int8x16) LookupOrZero(i Int8x16) Int8x16 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: I8x16MaxS |
| func (x Int8x16) Max(y Int8x16) Int8x16 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: I8x16MaxU |
| func (x Uint8x16) Max(y Uint8x16) Uint8x16 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: I16x8MaxS |
| func (x Int16x8) Max(y Int16x8) Int16x8 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: I16x8MaxU |
| func (x Uint16x8) Max(y Uint16x8) Uint16x8 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: I32x4MaxS |
| func (x Int32x4) Max(y Int32x4) Int32x4 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: I32x4MaxU |
| func (x Uint32x4) Max(y Uint32x4) Uint32x4 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: F32x4Max |
| func (x Float32x4) Max(y Float32x4) Float32x4 |
| |
| // Max returns the elementwise maximum of x and y. |
| // |
| // Asm: F64x2Max |
| func (x Float64x2) Max(y Float64x2) Float64x2 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: I8x16MinS |
| func (x Int8x16) Min(y Int8x16) Int8x16 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: I8x16MinU |
| func (x Uint8x16) Min(y Uint8x16) Uint8x16 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: I16x8MinS |
| func (x Int16x8) Min(y Int16x8) Int16x8 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: I16x8MinU |
| func (x Uint16x8) Min(y Uint16x8) Uint16x8 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: I32x4MinS |
| func (x Int32x4) Min(y Int32x4) Int32x4 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: I32x4MinU |
| func (x Uint32x4) Min(y Uint32x4) Uint32x4 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: F32x4Min |
| func (x Float32x4) Min(y Float32x4) Float32x4 |
| |
| // Min returns the elementwise minimum of x and y. |
| // |
| // Asm: F64x2Min |
| func (x Float64x2) Min(y Float64x2) Float64x2 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: I16x8Mul |
| func (x Int16x8) Mul(y Int16x8) Int16x8 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: I16x8Mul |
| func (x Uint16x8) Mul(y Uint16x8) Uint16x8 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: I32x4Mul |
| func (x Int32x4) Mul(y Int32x4) Int32x4 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: I32x4Mul |
| func (x Uint32x4) Mul(y Uint32x4) Uint32x4 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: F32x4Mul |
| func (x Float32x4) Mul(y Float32x4) Float32x4 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: I64x2Mul |
| func (x Int64x2) Mul(y Int64x2) Int64x2 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: I64x2Mul |
| func (x Uint64x2) Mul(y Uint64x2) Uint64x2 |
| |
| // Mul returns the result of multiplying x and y, elementwise. |
| // |
| // Asm: F64x2Mul |
| func (x Float64x2) Mul(y Float64x2) Float64x2 |
| |
| // MulAdd returns the elementwise multiply-add of x, y, and z. |
| // |
| // Asm: F32x4RelaxedMadd |
| func (x Float32x4) MulAdd(y Float32x4, z Float32x4) Float32x4 |
| |
| // MulAdd returns the elementwise multiply-add of x, y, and z. |
| // |
| // Asm: F64x2RelaxedMadd |
| func (x Float64x2) MulAdd(y Float64x2, z Float64x2) Float64x2 |
| |
| // MulWidenHi returns the doubled-width product of respective elements of the upper halves of x and y. |
| // |
| // Result[i] = x[i+8] * y[i+8], for 0 <= i < 8 == |x|/2. |
| // |
| // Asm: I16x8ExtmulHighI8x16S |
| func (x Int8x16) MulWidenHi(y Int8x16) Int16x8 |
| |
| // MulWidenHi returns the doubled-width product of respective elements of the upper halves of x and y. |
| // |
| // Result[i] = x[i+8] * y[i+8], for 0 <= i < 8 == |x|/2. |
| // |
| // Asm: I16x8ExtmulHighI8x16U |
| func (x Uint8x16) MulWidenHi(y Uint8x16) Uint16x8 |
| |
| // MulWidenHi returns the doubled-width product of respective elements of the upper halves of x and y. |
| // |
| // Result[i] = x[i+4] * y[i+4], for 0 <= i < 4 == |x|/2. |
| // |
| // Asm: I32x4ExtmulHighI16x8S |
| func (x Int16x8) MulWidenHi(y Int16x8) Int32x4 |
| |
| // MulWidenHi returns the doubled-width product of respective elements of the upper halves of x and y. |
| // |
| // Result[i] = x[i+4] * y[i+4], for 0 <= i < 4 == |x|/2. |
| // |
| // Asm: I32x4ExtmulHighI16x8U |
| func (x Uint16x8) MulWidenHi(y Uint16x8) Uint32x4 |
| |
| // MulWidenHi returns the doubled-width product of respective elements of the upper halves of x and y. |
| // |
| // Result[i] = x[i+2] * y[i+2], for 0 <= i < 2 == |x|/2. |
| // |
| // Asm: I64x2ExtmulHighI32x4S |
| func (x Int32x4) MulWidenHi(y Int32x4) Int64x2 |
| |
| // MulWidenHi returns the doubled-width product of respective elements of the upper halves of x and y. |
| // |
| // Result[i] = x[i+2] * y[i+2], for 0 <= i < 2 == |x|/2. |
| // |
| // Asm: I64x2ExtmulHighI32x4U |
| func (x Uint32x4) MulWidenHi(y Uint32x4) Uint64x2 |
| |
| // MulWidenLo returns the doubled-width product of respective elements of the lower halves of x and y. |
| // |
| // Result[i] = x[i] * y[i], for 0 <= i < 8 == |x|/2. |
| // |
| // Asm: I16x8ExtmulLowI8x16S |
| func (x Int8x16) MulWidenLo(y Int8x16) Int16x8 |
| |
| // MulWidenLo returns the doubled-width product of respective elements of the lower halves of x and y. |
| // |
| // Result[i] = x[i] * y[i], for 0 <= i < 8 == |x|/2. |
| // |
| // Asm: I16x8ExtmulLowI8x16U |
| func (x Uint8x16) MulWidenLo(y Uint8x16) Uint16x8 |
| |
| // MulWidenLo returns the doubled-width product of respective elements of the lower halves of x and y. |
| // |
| // Result[i] = x[i] * y[i], for 0 <= i < 4 == |x|/2. |
| // |
| // Asm: I32x4ExtmulLowI16x8S |
| func (x Int16x8) MulWidenLo(y Int16x8) Int32x4 |
| |
| // MulWidenLo returns the doubled-width product of respective elements of the lower halves of x and y. |
| // |
| // Result[i] = x[i] * y[i], for 0 <= i < 4 == |x|/2. |
| // |
| // Asm: I32x4ExtmulLowI16x8U |
| func (x Uint16x8) MulWidenLo(y Uint16x8) Uint32x4 |
| |
| // MulWidenLo returns the doubled-width product of respective elements of the lower halves of x and y. |
| // |
| // Result[i] = x[i] * y[i], for 0 <= i < 2 == |x|/2. |
| // |
| // Asm: I64x2ExtmulLowI32x4S |
| func (x Int32x4) MulWidenLo(y Int32x4) Int64x2 |
| |
| // MulWidenLo returns the doubled-width product of respective elements of the lower halves of x and y. |
| // |
| // Result[i] = x[i] * y[i], for 0 <= i < 2 == |x|/2. |
| // |
| // Asm: I64x2ExtmulLowI32x4U |
| func (x Uint32x4) MulWidenLo(y Uint32x4) Uint64x2 |
| |
| // Neg returns the elementwise negation of x. |
| // |
| // Asm: I8x16Neg |
| func (x Int8x16) Neg() Int8x16 |
| |
| // Neg returns the elementwise negation of x. |
| // |
| // Asm: I16x8Neg |
| func (x Int16x8) Neg() Int16x8 |
| |
| // Neg returns the elementwise negation of x. |
| // |
| // Asm: I32x4Neg |
| func (x Int32x4) Neg() Int32x4 |
| |
| // Neg returns the elementwise negation of x. |
| // |
| // Asm: F32x4Neg |
| func (x Float32x4) Neg() Float32x4 |
| |
| // Neg returns the elementwise negation of x. |
| // |
| // Asm: I64x2Neg |
| func (x Int64x2) Neg() Int64x2 |
| |
| // Neg returns the elementwise negation of x. |
| // |
| // Asm: F64x2Neg |
| func (x Float64x2) Neg() Float64x2 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Int8x16) Not() Int8x16 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Uint8x16) Not() Uint8x16 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Int16x8) Not() Int16x8 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Uint16x8) Not() Uint16x8 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Int32x4) Not() Int32x4 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Uint32x4) Not() Uint32x4 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Int64x2) Not() Int64x2 |
| |
| // Not returns the bitwise NOT of x. |
| // |
| // Asm: V128Not |
| func (x Uint64x2) Not() Uint64x2 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I8x16Ne |
| func (x Int8x16) NotEqual(y Int8x16) Mask8x16 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I8x16Ne |
| func (x Uint8x16) NotEqual(y Uint8x16) Mask8x16 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I16x8Ne |
| func (x Int16x8) NotEqual(y Int16x8) Mask16x8 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I16x8Ne |
| func (x Uint16x8) NotEqual(y Uint16x8) Mask16x8 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I32x4Ne |
| func (x Int32x4) NotEqual(y Int32x4) Mask32x4 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I32x4Ne |
| func (x Uint32x4) NotEqual(y Uint32x4) Mask32x4 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: F32x4Ne |
| func (x Float32x4) NotEqual(y Float32x4) Mask32x4 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I64x2Ne |
| func (x Int64x2) NotEqual(y Int64x2) Mask64x2 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: I64x2Ne |
| func (x Uint64x2) NotEqual(y Uint64x2) Mask64x2 |
| |
| // NotEqual returns true if x does not equal y, elementwise. |
| // |
| // Asm: F64x2Ne |
| func (x Float64x2) NotEqual(y Float64x2) Mask64x2 |
| |
| // OnesCount returns the elementwise population count (number of bits set). |
| // |
| // Asm: I8x16Popcnt |
| func (x Int8x16) OnesCount() Int8x16 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Int8x16) Or(y Int8x16) Int8x16 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Uint8x16) Or(y Uint8x16) Uint8x16 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Mask8x16) Or(y Mask8x16) Mask8x16 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Int16x8) Or(y Int16x8) Int16x8 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Uint16x8) Or(y Uint16x8) Uint16x8 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Mask16x8) Or(y Mask16x8) Mask16x8 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Int32x4) Or(y Int32x4) Int32x4 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Uint32x4) Or(y Uint32x4) Uint32x4 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Mask32x4) Or(y Mask32x4) Mask32x4 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Int64x2) Or(y Int64x2) Int64x2 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Uint64x2) Or(y Uint64x2) Uint64x2 |
| |
| // Or returns the bitwise OR of x and y. |
| // |
| // Asm: V128Or |
| func (x Mask64x2) Or(y Mask64x2) Mask64x2 |
| |
| // RotateAllLeft |
| // |
| // Asm: I8x16RotateAllLeft |
| func (x Int8x16) RotateAllLeft(shift uint64) Int8x16 |
| |
| // RotateAllLeft |
| // |
| // Asm: I8x16RotateAllLeft |
| func (x Uint8x16) RotateAllLeft(shift uint64) Uint8x16 |
| |
| // RotateAllLeft |
| // |
| // Asm: I16x8RotateAllLeft |
| func (x Int16x8) RotateAllLeft(shift uint64) Int16x8 |
| |
| // RotateAllLeft |
| // |
| // Asm: I16x8RotateAllLeft |
| func (x Uint16x8) RotateAllLeft(shift uint64) Uint16x8 |
| |
| // RotateAllLeft |
| // |
| // Asm: I32x4RotateAllLeft |
| func (x Int32x4) RotateAllLeft(shift uint64) Int32x4 |
| |
| // RotateAllLeft |
| // |
| // Asm: I32x4RotateAllLeft |
| func (x Uint32x4) RotateAllLeft(shift uint64) Uint32x4 |
| |
| // RotateAllLeft |
| // |
| // Asm: I64x2RotateAllLeft |
| func (x Int64x2) RotateAllLeft(shift uint64) Int64x2 |
| |
| // RotateAllLeft |
| // |
| // Asm: I64x2RotateAllLeft |
| func (x Uint64x2) RotateAllLeft(shift uint64) Uint64x2 |
| |
| // RotateAllRight |
| // |
| // Asm: I8x16RotateAllRight |
| func (x Int8x16) RotateAllRight(shift uint64) Int8x16 |
| |
| // RotateAllRight |
| // |
| // Asm: I8x16RotateAllRight |
| func (x Uint8x16) RotateAllRight(shift uint64) Uint8x16 |
| |
| // RotateAllRight |
| // |
| // Asm: I16x8RotateAllRight |
| func (x Int16x8) RotateAllRight(shift uint64) Int16x8 |
| |
| // RotateAllRight |
| // |
| // Asm: I16x8RotateAllRight |
| func (x Uint16x8) RotateAllRight(shift uint64) Uint16x8 |
| |
| // RotateAllRight |
| // |
| // Asm: I32x4RotateAllRight |
| func (x Int32x4) RotateAllRight(shift uint64) Int32x4 |
| |
| // RotateAllRight |
| // |
| // Asm: I32x4RotateAllRight |
| func (x Uint32x4) RotateAllRight(shift uint64) Uint32x4 |
| |
| // RotateAllRight |
| // |
| // Asm: I64x2RotateAllRight |
| func (x Int64x2) RotateAllRight(shift uint64) Int64x2 |
| |
| // RotateAllRight |
| // |
| // Asm: I64x2RotateAllRight |
| func (x Uint64x2) RotateAllRight(shift uint64) Uint64x2 |
| |
| // Round returns the elementwise nearest integer, rounding ties to even. |
| // |
| // Asm: F32x4Nearest |
| func (x Float32x4) Round() Float32x4 |
| |
| // Round returns the elementwise nearest integer, rounding ties to even. |
| // |
| // Asm: F64x2Nearest |
| func (x Float64x2) Round() Float64x2 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I8x16ReplaceLane |
| func (x Int8x16) SetElem(index uint8, y int8) Int8x16 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I8x16ReplaceLane |
| func (x Uint8x16) SetElem(index uint8, y uint8) Uint8x16 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I16x8ReplaceLane |
| func (x Int16x8) SetElem(index uint8, y int16) Int16x8 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I16x8ReplaceLane |
| func (x Uint16x8) SetElem(index uint8, y uint16) Uint16x8 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I32x4ReplaceLane |
| func (x Int32x4) SetElem(index uint8, y int32) Int32x4 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I32x4ReplaceLane |
| func (x Uint32x4) SetElem(index uint8, y uint32) Uint32x4 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: F32x4ReplaceLane |
| func (x Float32x4) SetElem(index uint8, y float32) Float32x4 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I64x2ReplaceLane |
| func (x Int64x2) SetElem(index uint8, y int64) Int64x2 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: I64x2ReplaceLane |
| func (x Uint64x2) SetElem(index uint8, y uint64) Uint64x2 |
| |
| // SetElem sets the lane at the given index to y. |
| // |
| // Asm: F64x2ReplaceLane |
| func (x Float64x2) SetElem(index uint8, y float64) Float64x2 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I8x16Shl |
| func (x Int8x16) ShiftAllLeft(y uint64) Int8x16 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I8x16Shl |
| func (x Uint8x16) ShiftAllLeft(y uint64) Uint8x16 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I16x8Shl |
| func (x Int16x8) ShiftAllLeft(y uint64) Int16x8 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I16x8Shl |
| func (x Uint16x8) ShiftAllLeft(y uint64) Uint16x8 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I32x4Shl |
| func (x Int32x4) ShiftAllLeft(y uint64) Int32x4 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I32x4Shl |
| func (x Uint32x4) ShiftAllLeft(y uint64) Uint32x4 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I64x2Shl |
| func (x Int64x2) ShiftAllLeft(y uint64) Int64x2 |
| |
| // ShiftAllLeft returns the elementwise left shift of x by y bits. |
| // |
| // Asm: I64x2Shl |
| func (x Uint64x2) ShiftAllLeft(y uint64) Uint64x2 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I8x16ShrS |
| func (x Int8x16) ShiftAllRight(y uint64) Int8x16 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I8x16ShrU |
| func (x Uint8x16) ShiftAllRight(y uint64) Uint8x16 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I16x8ShrS |
| func (x Int16x8) ShiftAllRight(y uint64) Int16x8 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I16x8ShrU |
| func (x Uint16x8) ShiftAllRight(y uint64) Uint16x8 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I32x4ShrS |
| func (x Int32x4) ShiftAllRight(y uint64) Int32x4 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I32x4ShrU |
| func (x Uint32x4) ShiftAllRight(y uint64) Uint32x4 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I64x2ShrS |
| func (x Int64x2) ShiftAllRight(y uint64) Int64x2 |
| |
| // ShiftAllRight returns the elementwise right shift of x by y bits. |
| // |
| // Asm: I64x2ShrU |
| func (x Uint64x2) ShiftAllRight(y uint64) Uint64x2 |
| |
| // Sqrt returns the elementwise square root of x. |
| // |
| // Asm: F32x4Sqrt |
| func (x Float32x4) Sqrt() Float32x4 |
| |
| // Sqrt returns the elementwise square root of x. |
| // |
| // Asm: F64x2Sqrt |
| func (x Float64x2) Sqrt() Float64x2 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I8x16Sub |
| func (x Int8x16) Sub(y Int8x16) Int8x16 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I8x16Sub |
| func (x Uint8x16) Sub(y Uint8x16) Uint8x16 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I16x8Sub |
| func (x Int16x8) Sub(y Int16x8) Int16x8 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I16x8Sub |
| func (x Uint16x8) Sub(y Uint16x8) Uint16x8 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I32x4Sub |
| func (x Int32x4) Sub(y Int32x4) Int32x4 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I32x4Sub |
| func (x Uint32x4) Sub(y Uint32x4) Uint32x4 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: F32x4Sub |
| func (x Float32x4) Sub(y Float32x4) Float32x4 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I64x2Sub |
| func (x Int64x2) Sub(y Int64x2) Int64x2 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: I64x2Sub |
| func (x Uint64x2) Sub(y Uint64x2) Uint64x2 |
| |
| // Sub returns the result of subtracting y from x, elementwise. |
| // |
| // Asm: F64x2Sub |
| func (x Float64x2) Sub(y Float64x2) Float64x2 |
| |
| // SubSaturated returns the result of subtracting x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I8x16SubSatS |
| func (x Int8x16) SubSaturated(y Int8x16) Int8x16 |
| |
| // SubSaturated returns the result of subtracting x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I8x16SubSatU |
| func (x Uint8x16) SubSaturated(y Uint8x16) Uint8x16 |
| |
| // SubSaturated returns the result of subtracting x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I16x8SubSatS |
| func (x Int16x8) SubSaturated(y Int16x8) Int16x8 |
| |
| // SubSaturated returns the result of subtracting x and y, saturating instead of overflowing, elementwise. |
| // |
| // Asm: I16x8SubSatU |
| func (x Uint16x8) SubSaturated(y Uint16x8) Uint16x8 |
| |
| // Trunc returns the elementwise truncation of x. |
| // |
| // Asm: F32x4Trunc |
| func (x Float32x4) Trunc() Float32x4 |
| |
| // Trunc returns the elementwise truncation of x. |
| // |
| // Asm: F64x2Trunc |
| func (x Float64x2) Trunc() Float64x2 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Int8x16) Xor(y Int8x16) Int8x16 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Uint8x16) Xor(y Uint8x16) Uint8x16 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Mask8x16) Xor(y Mask8x16) Mask8x16 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Int16x8) Xor(y Int16x8) Int16x8 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Uint16x8) Xor(y Uint16x8) Uint16x8 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Mask16x8) Xor(y Mask16x8) Mask16x8 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Int32x4) Xor(y Int32x4) Int32x4 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Uint32x4) Xor(y Uint32x4) Uint32x4 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Mask32x4) Xor(y Mask32x4) Mask32x4 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Int64x2) Xor(y Int64x2) Int64x2 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Uint64x2) Xor(y Uint64x2) Uint64x2 |
| |
| // Xor returns the bitwise XOR of x and y. |
| // |
| // Asm: V128Xor |
| func (x Mask64x2) Xor(y Mask64x2) Mask64x2 |
| |
| // ToMask translates an Int8x16 vector to a Mask8x16 mask vector |
| // zero becomes false, not-zero becomes true |
| func (x Int8x16) ToMask() Mask8x16 |
| |
| // ToInt8x16 translates a Mask8x16 mask vector to an Int8x16 int vector |
| // false becomes zero, true becomes -1 |
| func (x Mask8x16) ToInt8x16() Int8x16 |
| |
| // ToMask translates an Int16x8 vector to a Mask16x8 mask vector |
| // zero becomes false, not-zero becomes true |
| func (x Int16x8) ToMask() Mask16x8 |
| |
| // ToInt16x8 translates a Mask16x8 mask vector to an Int16x8 int vector |
| // false becomes zero, true becomes -1 |
| func (x Mask16x8) ToInt16x8() Int16x8 |
| |
| // ToMask translates an Int32x4 vector to a Mask32x4 mask vector |
| // zero becomes false, not-zero becomes true |
| func (x Int32x4) ToMask() Mask32x4 |
| |
| // ToInt32x4 translates a Mask32x4 mask vector to an Int32x4 int vector |
| // false becomes zero, true becomes -1 |
| func (x Mask32x4) ToInt32x4() Int32x4 |
| |
| // ToMask translates an Int64x2 vector to a Mask64x2 mask vector |
| // zero becomes false, not-zero becomes true |
| func (x Int64x2) ToMask() Mask64x2 |
| |
| // ToInt64x2 translates a Mask64x2 mask vector to an Int64x2 int vector |
| // false becomes zero, true becomes -1 |
| func (x Mask64x2) ToInt64x2() Int64x2 |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Int8x16) Masked(mask Mask8x16) Int8x16 { |
| im := mask.ToInt8x16() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Int8x16) IfElse(mask Mask8x16, y Int8x16) Int8x16 { |
| im := mask.ToInt8x16() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Int16x8) Masked(mask Mask16x8) Int16x8 { |
| im := mask.ToInt16x8() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Int16x8) IfElse(mask Mask16x8, y Int16x8) Int16x8 { |
| im := mask.ToInt16x8() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Int32x4) Masked(mask Mask32x4) Int32x4 { |
| im := mask.ToInt32x4() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Int32x4) IfElse(mask Mask32x4, y Int32x4) Int32x4 { |
| im := mask.ToInt32x4() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Int64x2) Masked(mask Mask64x2) Int64x2 { |
| im := mask.ToInt64x2() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Int64x2) IfElse(mask Mask64x2, y Int64x2) Int64x2 { |
| im := mask.ToInt64x2() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Uint8x16) Masked(mask Mask8x16) Uint8x16 { |
| im := mask.ToInt8x16().ToBits() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Uint8x16) IfElse(mask Mask8x16, y Uint8x16) Uint8x16 { |
| im := mask.ToInt8x16().ToBits() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Uint16x8) Masked(mask Mask16x8) Uint16x8 { |
| im := mask.ToInt16x8().ToBits() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Uint16x8) IfElse(mask Mask16x8, y Uint16x8) Uint16x8 { |
| im := mask.ToInt16x8().ToBits() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Uint32x4) Masked(mask Mask32x4) Uint32x4 { |
| im := mask.ToInt32x4().ToBits() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Uint32x4) IfElse(mask Mask32x4, y Uint32x4) Uint32x4 { |
| im := mask.ToInt32x4().ToBits() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Uint64x2) Masked(mask Mask64x2) Uint64x2 { |
| im := mask.ToInt64x2().ToBits() |
| return im.And(x) |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Uint64x2) IfElse(mask Mask64x2, y Uint64x2) Uint64x2 { |
| im := mask.ToInt64x2().ToBits() |
| return x.BitSelect(y, im) |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Float32x4) Masked(mask Mask32x4) Float32x4 { |
| im := mask.ToInt32x4().ToBits() |
| return im.And(x.ToBits()).BitsToFloat32() |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Float32x4) IfElse(mask Mask32x4, y Float32x4) Float32x4 { |
| im := mask.ToInt32x4().ToBits() |
| ix := x.ToBits() |
| iy := y.ToBits() |
| return ix.BitSelect(iy, im).BitsToFloat32() |
| } |
| |
| // Masked returns x but with elements zeroed where mask is false. |
| func (x Float64x2) Masked(mask Mask64x2) Float64x2 { |
| im := mask.ToInt64x2().ToBits() |
| return im.And(x.ToBits()).BitsToFloat64() |
| } |
| |
| // IfElse returns x but with elements set to y where mask is false. |
| func (x Float64x2) IfElse(mask Mask64x2, y Float64x2) Float64x2 { |
| im := mask.ToInt64x2().ToBits() |
| ix := x.ToBits() |
| iy := y.ToBits() |
| return ix.BitSelect(iy, im).BitsToFloat64() |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Int8x16) String() string { |
| var s [16]int8 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Int16x8) String() string { |
| var s [8]int16 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Int32x4) String() string { |
| var s [4]int32 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Int64x2) String() string { |
| var s [2]int64 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Uint8x16) String() string { |
| var s [16]uint8 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Uint16x8) String() string { |
| var s [8]uint16 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Uint32x4) String() string { |
| var s [4]uint32 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Uint64x2) String() string { |
| var s [2]uint64 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Float32x4) String() string { |
| var s [4]float32 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD vector x. |
| func (x Float64x2) String() string { |
| var s [2]float64 |
| x.StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD mask x. |
| func (x Mask8x16) String() string { |
| var s [16]int8 |
| x.ToInt8x16().Neg().StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD mask x. |
| func (x Mask16x8) String() string { |
| var s [8]int16 |
| x.ToInt16x8().Neg().StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD mask x. |
| func (x Mask32x4) String() string { |
| var s [4]int32 |
| x.ToInt32x4().Neg().StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // String returns a string representation of SIMD mask x. |
| func (x Mask64x2) String() string { |
| var s [2]int64 |
| x.ToInt64x2().Neg().StoreArray(&s) |
| return sliceToString(s[:]) |
| } |
| |
| // BitsToFloat32 reinterprets the bits of a Uint32x4 vector as a Float32x4 vector |
| func (x Uint32x4) BitsToFloat32() Float32x4 |
| |
| // ToBits reinterprets the bits of a Float32x4 vector as a Uint32x4 vector |
| func (x Float32x4) ToBits() Uint32x4 |
| |
| // BitsToFloat64 reinterprets the bits of a Uint64x2 vector as a Float64x2 vector |
| func (x Uint64x2) BitsToFloat64() Float64x2 |
| |
| // ToBits reinterprets the bits of a Float64x2 vector as a Uint64x2 vector |
| func (x Float64x2) ToBits() Uint64x2 |
| |
| // BitsToInt8 reinterprets the bits of a Uint8x16 vector as a Int8x16 vector |
| func (x Uint8x16) BitsToInt8() Int8x16 |
| |
| // ConvertToInt8 converts a Uint8x16 vector to a Int8x16 vector |
| func (x Uint8x16) ConvertToInt8() Int8x16 |
| |
| // ConvertToUint8 converts a Int8x16 vector to a Uint8x16 vector |
| func (x Int8x16) ConvertToUint8() Uint8x16 |
| |
| // ToBits reinterprets the bits of a Int8x16 vector as a Uint8x16 vector |
| func (x Int8x16) ToBits() Uint8x16 |
| |
| // BitsToInt16 reinterprets the bits of a Uint16x8 vector as a Int16x8 vector |
| func (x Uint16x8) BitsToInt16() Int16x8 |
| |
| // ConvertToInt16 converts a Uint16x8 vector to a Int16x8 vector |
| func (x Uint16x8) ConvertToInt16() Int16x8 |
| |
| // ConvertToUint16 converts a Int16x8 vector to a Uint16x8 vector |
| func (x Int16x8) ConvertToUint16() Uint16x8 |
| |
| // ToBits reinterprets the bits of a Int16x8 vector as a Uint16x8 vector |
| func (x Int16x8) ToBits() Uint16x8 |
| |
| // BitsToInt32 reinterprets the bits of a Uint32x4 vector as a Int32x4 vector |
| func (x Uint32x4) BitsToInt32() Int32x4 |
| |
| // ConvertToInt32 converts a Uint32x4 vector to a Int32x4 vector |
| func (x Uint32x4) ConvertToInt32() Int32x4 |
| |
| // ConvertToUint32 converts a Int32x4 vector to a Uint32x4 vector |
| func (x Int32x4) ConvertToUint32() Uint32x4 |
| |
| // ToBits reinterprets the bits of a Int32x4 vector as a Uint32x4 vector |
| func (x Int32x4) ToBits() Uint32x4 |
| |
| // BitsToInt64 reinterprets the bits of a Uint64x2 vector as a Int64x2 vector |
| func (x Uint64x2) BitsToInt64() Int64x2 |
| |
| // ConvertToInt64 converts a Uint64x2 vector to a Int64x2 vector |
| func (x Uint64x2) ConvertToInt64() Int64x2 |
| |
| // ConvertToUint64 converts a Int64x2 vector to a Uint64x2 vector |
| func (x Int64x2) ConvertToUint64() Uint64x2 |
| |
| // ToBits reinterprets the bits of a Int64x2 vector as a Uint64x2 vector |
| func (x Int64x2) ToBits() Uint64x2 |
| |
| // ReshapeToUint16s reinterprets the bits of a Uint8x16 vector as a Uint16x8 vector |
| func (x Uint8x16) ReshapeToUint16s() Uint16x8 |
| |
| // ReshapeToUint32s reinterprets the bits of a Uint8x16 vector as a Uint32x4 vector |
| func (x Uint8x16) ReshapeToUint32s() Uint32x4 |
| |
| // ReshapeToUint64s reinterprets the bits of a Uint8x16 vector as a Uint64x2 vector |
| func (x Uint8x16) ReshapeToUint64s() Uint64x2 |
| |
| // ReshapeToUint8s reinterprets the bits of a Uint16x8 vector as a Uint8x16 vector |
| func (x Uint16x8) ReshapeToUint8s() Uint8x16 |
| |
| // ReshapeToUint32s reinterprets the bits of a Uint16x8 vector as a Uint32x4 vector |
| func (x Uint16x8) ReshapeToUint32s() Uint32x4 |
| |
| // ReshapeToUint64s reinterprets the bits of a Uint16x8 vector as a Uint64x2 vector |
| func (x Uint16x8) ReshapeToUint64s() Uint64x2 |
| |
| // ReshapeToUint8s reinterprets the bits of a Uint32x4 vector as a Uint8x16 vector |
| func (x Uint32x4) ReshapeToUint8s() Uint8x16 |
| |
| // ReshapeToUint16s reinterprets the bits of a Uint32x4 vector as a Uint16x8 vector |
| func (x Uint32x4) ReshapeToUint16s() Uint16x8 |
| |
| // ReshapeToUint64s reinterprets the bits of a Uint32x4 vector as a Uint64x2 vector |
| func (x Uint32x4) ReshapeToUint64s() Uint64x2 |
| |
| // ReshapeToUint8s reinterprets the bits of a Uint64x2 vector as a Uint8x16 vector |
| func (x Uint64x2) ReshapeToUint8s() Uint8x16 |
| |
| // ReshapeToUint16s reinterprets the bits of a Uint64x2 vector as a Uint16x8 vector |
| func (x Uint64x2) ReshapeToUint16s() Uint16x8 |
| |
| // ReshapeToUint32s reinterprets the bits of a Uint64x2 vector as a Uint32x4 vector |
| func (x Uint64x2) ReshapeToUint32s() Uint32x4 |