Describes vector arithmetic that has one destination and two sources.
| Constant | Description |
|---|
| kAndU32 | Vector u32 bitwise AND - dst = src1 & src2.
|
| kAndU64 | Vector u64 bitwise AND - dst = src1 & src2.
|
| kOrU32 | Vector u32 bitwise OR - dst = src1 | src2.
|
| kOrU64 | Vector u64 bitwise OR - dst = src1 | src2.
|
| kXorU32 | Vector u32 bitwise XOR - dst = src1 ^ src2.
|
| kXorU64 | Vector u64 bitwise XOR - dst = src1 ^ src2.
|
| kAndnU32 | Vector u32 bitwise ANDN - dst = ~src1 & src2.
|
| kAndnU64 | Vector u64 bitwise ANDN - dst = ~src1 & src2.
|
| kBicU32 | Vector u32 bitwise BIC - dst = src1 & ~src2.
|
| kBicU64 | Vector u64 bitwise BIC - dst = src1 & ~src2.
|
| kAvgrU8 | Vector u8 average rounded half up dst = (src1 + src2 + 1) >> 1.
|
| kAvgrU16 | Vector u16 average rounded half up dst = (src1 + src2 + 1) >> 1.
|
| kAddU8 | Vector u8 add.
|
| kAddU16 | Vector u16 add.
|
| kAddU32 | Vector u32 add.
|
| kAddU64 | Vector u64 add.
|
| kSubU8 | Vector u8 sub.
|
| kSubU16 | Vector u16 sub.
|
| kSubU32 | Vector u32 sub.
|
| kSubU64 | Vector u64 sub.
|
| kAddsI8 | Vector i8 add with saturation (signed).
|
| kAddsU8 | Vector u8 add with saturation (unsigned).
|
| kAddsI16 | Vector i16 add with saturation (signed).
|
| kAddsU16 | Vector u16 add with saturation (unsigned).
|
| kSubsI8 | Vector i8 sub with saturation (signed).
|
| kSubsU8 | Vector u8 sub with saturation (unsigned).
|
| kSubsI16 | Vector i16 sub with saturation (signed).
|
| kSubsU16 | Vector u16 sub with saturation (unsigned).
|
| kMulU16 | Vector u16 multiply.
|
| kMulU32 | Vector u32 multiply.
|
| kMulU64 | Vector u64 multiply.
|
| kMulhI16 | Vector i16 multiply high - dst = (src1 * src2) >> 16.
|
| kMulhU16 | Vector u16 multiply high - dst = (src1 * src2) >> 16.
|
| kMulU64_LoU32 | Vector u64xu32 multiply.
|
| kMHAddI16_I32 | Vector i16 multiply with horizontal widening add to form a 32-bit result.
|
| kMinI8 | Vector i8 minimum.
|
| kMinU8 | Vector u8 minimum.
|
| kMinI16 | Vector i16 minimum.
|
| kMinU16 | Vector u16 minimum.
|
| kMinI32 | Vector i32 minimum.
|
| kMinU32 | Vector u32 minimum.
|
| kMinI64 | Vector i64 minimum.
|
| kMinU64 | Vector u64 minimum.
|
| kMaxI8 | Vector i8 maximum.
|
| kMaxU8 | Vector u8 maximum.
|
| kMaxI16 | Vector i16 maximum.
|
| kMaxU16 | Vector u16 maximum.
|
| kMaxI32 | Vector i32 maximum.
|
| kMaxU32 | Vector u32 maximum.
|
| kMaxI64 | Vector i64 maximum.
|
| kMaxU64 | Vector u64 maximum.
|
| kCmpEqU8 | Vector u8 compare equal.
|
| kCmpEqU16 | Vector u16 compare equal.
|
| kCmpEqU32 | Vector u32 compare equal.
|
| kCmpEqU64 | Vector u64 compare equal.
|
| kCmpGtI8 | Vector i8 compare greater-than.
|
| kCmpGtU8 | Vector u8 compare greater-than.
|
| kCmpGtI16 | Vector i16 compare greater-than.
|
| kCmpGtU16 | Vector u16 compare greater-than.
|
| kCmpGtI32 | Vector i32 compare greater-than.
|
| kCmpGtU32 | Vector u32 compare greater-than.
|
| kCmpGtI64 | Vector i64 compare greater-than.
|
| kCmpGtU64 | Vector u64 compare greater-than.
|
| kCmpGeI8 | Vector i8 compare greater-or-equal.
|
| kCmpGeU8 | Vector u8 compare greater-or-equal.
|
| kCmpGeI16 | Vector i16 compare greater-or-equal.
|
| kCmpGeU16 | Vector u16 compare greater-or-equal.
|
| kCmpGeI32 | Vector i32 compare greater-or-equal.
|
| kCmpGeU32 | Vector u32 compare greater-or-equal.
|
| kCmpGeI64 | Vector i64 compare greater-or-equal.
|
| kCmpGeU64 | Vector u64 compare greater-or-equal.
|
| kCmpLtI8 | Vector i8 compare lesser-than.
|
| kCmpLtU8 | Vector u8 compare lesser-than.
|
| kCmpLtI16 | Vector i16 compare lesser-than.
|
| kCmpLtU16 | Vector u16 compare lesser-than.
|
| kCmpLtI32 | Vector i32 compare lesser-than.
|
| kCmpLtU32 | Vector u32 compare lesser-than.
|
| kCmpLtI64 | Vector i64 compare lesser-than.
|
| kCmpLtU64 | Vector u64 compare lesser-than.
|
| kCmpLeI8 | Vector i8 compare lesser-or-equal.
|
| kCmpLeU8 | Vector u8 compare lesser-or-equal.
|
| kCmpLeI16 | Vector i16 compare lesser-or-equal.
|
| kCmpLeU16 | Vector u16 compare lesser-or-equal.
|
| kCmpLeI32 | Vector i32 compare lesser-or-equal.
|
| kCmpLeU32 | Vector u32 compare lesser-or-equal.
|
| kCmpLeI64 | Vector i64 compare lesser-or-equal.
|
| kCmpLeU64 | Vector u64 compare lesser-or-equal.
|
| kAndF32 | Vector f32 bitwise AND - dst = src1 & src2.
|
| kAndF64 | Vector f64 bitwise AND - dst = src1 & src2.
|
| kOrF32 | Vector f32 bitwise OR - dst = src1 | src2.
|
| kOrF64 | Vector f64 bitwise OR - dst = src1 | src2.
|
| kXorF32 | Vector f32 bitwise XOR - dst = src1 ^ src2.
|
| kXorF64 | Vector f64 bitwise XOR - dst = src1 ^ src2.
|
| kAndnF32 | Vector f32 bitwise ANDN - dst = ~src1 & src2.
|
| kAndnF64 | Vector f64 bitwise ANDN - dst = ~src1 & src2.
|
| kBicF32 | Vector f32 bitwise BIC - dst = src1 & ~src2.
|
| kBicF64 | Vector f64 bitwise BIC - dst = src1 & ~src2.
|
| kAddF32S | Scalar f32 add.
|
| kAddF64S | Scalar f64 add.
|
| kAddF32 | Vector f32 add.
|
| kAddF64 | Vector f64 add.
|
| kSubF32S | Scalar f32 sub.
|
| kSubF64S | Scalar f64 sub.
|
| kSubF32 | Vector f32 sub.
|
| kSubF64 | Vector f64 sub.
|
| kMulF32S | Scalar f32 mul.
|
| kMulF64S | Scalar f64 mul.
|
| kMulF32 | Vector f32 mul.
|
| kMulF64 | Vector f64 mul.
|
| kDivF32S | Scalar f32 div.
|
| kDivF64S | Scalar f64 div.
|
| kDivF32 | Vector f32 div.
|
| kDivF64 | Vector f64 div.
|
| kModF32S | Scalar f32 modulo.
|
| kModF64S | Scalar f64 modulo.
|
| kModF32 | Vector f32 modulo.
|
| kModF64 | Vector f64 modulo.
|
| kMinF32S | Scalar f32 minimum.
|
| kMinF64S | Scalar f64 minimum.
|
| kMinF32 | Vector f32 minimum.
|
| kMinF64 | Vector f64 minimum.
|
| kMaxF32S | Scalar f32 maximum.
|
| kMaxF64S | Scalar f64 maximum.
|
| kMaxF32 | Vector f32 maximum.
|
| kMaxF64 | Vector f64 maximum.
|
| kCmpEqF32S | Scalar f32 compare equal (ordered).
|
| kCmpEqF64S | Scalar f64 compare equal (ordered).
|
| kCmpEqF32 | Vector f32 compare equal (ordered).
|
| kCmpEqF64 | Vector f64 compare equal (ordered).
|
| kCmpNeF32S | Scalar f32 compare not-equal (ordered)
|
| kCmpNeF64S | Scalar f64 compare not-equal (ordered)
|
| kCmpNeF32 | Vector f32 compare not-equal (ordered)
|
| kCmpNeF64 | Vector f64 compare not-equal (ordered)
|
| kCmpGtF32S | Scalar f32 compare greater-than (ordered)
|
| kCmpGtF64S | Scalar f64 compare greater-than (ordered)
|
| kCmpGtF32 | Vector f32 compare greater-than (ordered)
|
| kCmpGtF64 | Vector f64 compare greater-than (ordered)
|
| kCmpGeF32S | Scalar f32 compare greater-or-equal (ordered)
|
| kCmpGeF64S | Scalar f64 compare greater-or-equal (ordered)
|
| kCmpGeF32 | Vector f32 compare greater-or-equal (ordered)
|
| kCmpGeF64 | Vector f64 compare greater-or-equal (ordered)
|
| kCmpLtF32S | Scalar f32 compare lesser-than (ordered)
|
| kCmpLtF64S | Scalar f64 compare lesser-than (ordered)
|
| kCmpLtF32 | Vector f32 compare lesser-than (ordered)
|
| kCmpLtF64 | Vector f64 compare lesser-than (ordered)
|
| kCmpLeF32S | Scalar f32 compare lesser-or-equal (ordered)
|
| kCmpLeF64S | Scalar f64 compare lesser-or-equal (ordered)
|
| kCmpLeF32 | Vector f32 compare lesser-or-equal (ordered)
|
| kCmpLeF64 | Vector f64 compare lesser-or-equal (ordered)
|
| kCmpOrdF32S | Scalar f32 compare ordered.
|
| kCmpOrdF64S | Scalar f64 compare ordered.
|
| kCmpOrdF32 | Vector f32 compare ordered.
|
| kCmpOrdF64 | Vector f64 compare ordered.
|
| kCmpUnordF32S | Scalar f32 compare unordered.
|
| kCmpUnordF64S | Scalar f64 compare unordered.
|
| kCmpUnordF32 | Vector f32 compare unordered.
|
| kCmpUnordF64 | Vector f64 compare unordered.
|
| kHAddF64 | Vector f64 horizontal-add.
|
| kCombineLoHiU64 | Combine low and high u64 lanes.
|
| kCombineLoHiF64 | Combine low and high f64 lanes.
|
| kCombineHiLoU64 | Combine low and high u64 lanes.
|
| kCombineHiLoF64 | Combine low and high f64 lanes.
|
| kInterleaveLoU8 | Interleave low u8 lanes.
|
| kInterleaveHiU8 | Interleave high u8 lanes.
|
| kInterleaveLoU16 | Interleave low u16 lanes.
|
| kInterleaveHiU16 | Interleave high u16 lanes.
|
| kInterleaveLoU32 | Interleave low u32 lanes.
|
| kInterleaveHiU32 | Interleave high u32 lanes.
|
| kInterleaveLoU64 | Interleave low u64 lanes.
|
| kInterleaveHiU64 | Interleave high u64 lanes.
|
| kInterleaveLoF32 | Interleave low f32 lanes.
|
| kInterleaveHiF32 | Interleave high f32 lanes.
|
| kInterleaveLoF64 | Interleave low f64 lanes.
|
| kInterleaveHiF64 | Interleave high f64 lanes.
|
| kPacksI16_I8 | Pack i16 to i8 with saturation.
|
| kPacksI16_U8 | Pack i16 to u8 with saturation.
|
| kPacksI32_I16 | Pack i32 to i16 with saturation.
|
| kPacksI32_U16 | Pack i32 to u16 with saturation.
|
| kSwizzlev_U8 | Swizzle 16xu8 elements in each 128-bit lane.
|