This table is generated automatically from the specification. For each SIMD type or interpretation, the table indicates a Y when the operation has a definition specialized to this interpretation.
When an operation is inherited from a less specific interpretation, that interpretation is listed.
Operation | b8x16 | b16x8 | b32x4 | b64x2 | s8x16 | s16x8 | s32x4 | s64x2 | u8x16 | u16x8 | u32x4 | u64x2 | f32x4 | f64x2 |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
build | Y | Y | Y | Y | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y |
splat | Y | Y | Y | Y | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y |
extractLane | Y | Y | Y | Y | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y |
replaceLane | Y | Y | Y | Y | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y |
select | v8x16 | v16x8 | v32x4 | v64x2 | v8x16 | v16x8 | v32x4 | v64x2 | v32x4 | v64x2 | ||||
swizzle | v8x16 | v16x8 | v32x4 | v64x2 | v8x16 | v16x8 | v32x4 | v64x2 | v32x4 | v64x2 | ||||
shuffle | v8x16 | v16x8 | v32x4 | v64x2 | v8x16 | v16x8 | v32x4 | v64x2 | v32x4 | v64x2 | ||||
add | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y | ||||
sub | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y | ||||
mul | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y | ||||
neg | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y | ||||
addSaturate | Y | Y | Y | Y | ||||||||||
subSaturate | Y | Y | Y | Y | ||||||||||
shiftLeftByScalar | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | ||||||
shiftRightByScalar | Y | Y | Y | Y | Y | Y | Y | Y | ||||||
and | Y | Y | Y | Y | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 |
or | Y | Y | Y | Y | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 |
xor | Y | Y | Y | Y | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 |
not | Y | Y | Y | Y | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 | v128 |
anyTrue | Y | Y | Y | Y | ||||||||||
allTrue | Y | Y | Y | Y | ||||||||||
equal | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y | ||||
notEqual | i8x16 | i16x8 | i32x4 | i64x2 | i8x16 | i16x8 | i32x4 | i64x2 | Y | Y | ||||
lessThan | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||
lessThanOrEqual | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||
greaterThan | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||
greaterThanOrEqual | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||
load | v8x16 | v16x8 | v32x4 | v64x2 | v8x16 | v16x8 | v32x4 | v64x2 | v32x4 | v64x2 | ||||
store | v8x16 | v16x8 | v32x4 | v64x2 | v8x16 | v16x8 | v32x4 | v64x2 | v32x4 | v64x2 | ||||
load1 | v32x4 | v32x4 | v32x4 | |||||||||||
load2 | v32x4 | v32x4 | v32x4 | |||||||||||
load3 | v32x4 | v32x4 | v32x4 | |||||||||||
store1 | v32x4 | v32x4 | v32x4 | |||||||||||
store2 | v32x4 | v32x4 | v32x4 | |||||||||||
store3 | v32x4 | v32x4 | v32x4 | |||||||||||
abs | Y | Y | ||||||||||||
min | Y | Y | ||||||||||||
max | Y | Y | ||||||||||||
minNum | Y | Y | ||||||||||||
maxNum | Y | Y | ||||||||||||
div | Y | Y | ||||||||||||
sqrt | Y | Y | ||||||||||||
reciprocalApproximation | Y | Y | ||||||||||||
reciprocalSqrtApproximation | Y | Y | ||||||||||||
fromSignedInt | Y | Y | ||||||||||||
fromUnsignedInt | Y | Y | ||||||||||||
fromFloat | Y | Y | Y | Y |