# Orc Opcodes

Opcodes only work with variables of a particular size. In the table below, destination and source indicate the size of the destination and source operands, in bytes. In general, opcodes have a suffix indicating the sizes, "b" for 1-byte operations, "w" for 2-byte operations, and "l" for 4-byte operations. If the source and destination have different sizes, the source size suffix is listed first, then the destination suffix. For example, converting a 1-byte variable to 2-byte can be performed using the "convsbw" opcode.

Signed, unsigned, and saturating operations are indicated by the letters "s", "u", and "s". If signed or unsigned is not indicated, it generally means that the signedness is not relevant to the definition of the opcode, and that the operation on signed or unsigned values will give the same result.

The "select" opcodes divide the bits in the source value into two halves. For "select0", the half that is first in memory order is selected, and the latter half for "select1". In other words, "convwb" is the same as "select0wb" on little-endian systems, and "select1wb" on big-endian systems.

The "merge" opcodes take two values and put them together in memory order.

Accumulating opcodes require an accumulator variable as the destination. Accumulating opcodes start with "acc". These opcodes sum the source values over the entire array, and can be read from the OrcExecutor structure after an execution of an Orc program.

Shift opcodes only work with constants or parameters as the second source value.

For more precise understanding of operations, it is recommended to compile a program for the C target and examine the resulting C source code.

## Table of Opcodes

Opcode | Dest Size | Src 1 Size | Src 2 Size | Description | Pseudo Code
--- | --- | --- | --- | --- | ---
absb | 1 | 1 |  | absolute value | (a < 0) ? -a : a
addb | 1 | 1 | 1 | add | a + b
addssb | 1 | 1 | 1 | add with signed saturate | clamp(a + b)
addusb | 1 | 1 | 1 | add with unsigned saturate | clamp(a + b)
andb | 1 | 1 | 1 | bitwise AND | a & b
andnb | 1 | 1 | 1 | bitwise AND NOT | a & (~b)
avgsb | 1 | 1 | 1 | signed average | (a + b + 1)>>1
avgub | 1 | 1 | 1 | unsigned average | (a + b + 1)>>1
cmpeqb | 1 | 1 | 1 | compare equal | (a == b) ? (~0) : 0
cmpgtsb | 1 | 1 | 1 | compare greater than | (a > b) ? (~0) : 0
copyb | 1 | 1 |  | copy | a
loadb | 1 | 1 |  | load from memory | array[i]
loadoffb | 1 | 1 | 4S | load from memory with offset | array[i+offset]
loadupdb | 1 | 1 |  | load upsampled duplicate | array[i>>1]
loadupib | 1 | 1 |  | load upsampled interpolate | (array[i>>1] + array[(i+1)>>1] + 1)>>1
loadpb | 1 | 1 |  | load parameter or constant | scalar
ldresnearb | 1 | 1 | 4S | load, nearest neighbor resampled | array[(b+c*i)>>8]
ldresnearl | 4 | 4 | 4S | load, nearest neighbor resampled | array[(b+c*i)>>8]
ldreslinb | 1 | 1 | 4S | load, bilinear resampled | special
ldreslinl | 4 | 4 | 4S | load, bilinear resampled | special
maxsb | 1 | 1 | 1 | signed maximum | (a > b) ? a : b
maxub | 1 | 1 | 1 | unsigned maximum | (a > b) ? a : b
minsb | 1 | 1 | 1 | signed minimum | (a < b) ? a : b
minub | 1 | 1 | 1 | unsigned minimum | (a < b) ? a : b
mullb | 1 | 1 | 1 | low bits of multiply | a * b
mulhsb | 1 | 1 | 1 | high bits of signed multiply | (a * b) >> 8
mulhub | 1 | 1 | 1 | high bits of unsigned multiply | (a * b) >> 8
orb | 1 | 1 | 1 | bitwise or | a | b
shlb | 1 | 1 | 1S | shift left | a << b
shrsb | 1 | 1 | 1S | signed shift right | a >> b
shrub | 1 | 1 | 1S | unsigned shift right | a >> b
signb | 1 | 1 |  | sign | sign(a)
storeb | 1 | 1 |  | store to memory | special
subb | 1 | 1 | 1 | subtract | a - b
subssb | 1 | 1 | 1 | subtract with signed saturate | clamp(a - b)
subusb | 1 | 1 | 1 | subtract with unsigned saturate | clamp(a - b)
xorb | 1 | 1 | 1 | bitwise XOR | a ^ b
absw | 2 | 2 |  | absolute value | (a < 0) ? -a : a
addw | 2 | 2 | 2 | add | a + b
addssw | 2 | 2 | 2 | add with signed saturate | clamp(a + b)
addusw | 2 | 2 | 2 | add with unsigned saturate | clamp(a + b)
andw | 2 | 2 | 2 | bitwise AND | a & b
andnw | 2 | 2 | 2 | bitwise AND NOT | a & (~b)
avgsw | 2 | 2 | 2 | signed average | (a + b + 1)>>1
avguw | 2 | 2 | 2 | unsigned average | (a + b + 1)>>1
cmpeqw | 2 | 2 | 2 | compare equal | (a == b) ? (~0) : 0
cmpgtsw | 2 | 2 | 2 | compare greater than | (a > b) ? (~0) : 0
copyw | 2 | 2 |  | copy | a
div255w | 2 | 2 |  | divide by 255 | a/255
divluw | 2 | 2 | 2 | saturated unsigned divide 16-bit by 8-bit | clamp(a/(b & 255),0,255)
loadw | 2 | 2 |  | load from memory | array[i]
loadoffw | 2 | 2 | 4S | load from memory with offset | array[i+offset]
loadpw | 2 | 2 |  | load parameter or constant | scalar
maxsw | 2 | 2 | 2 | signed maximum | (a > b) ? a : b
maxuw | 2 | 2 | 2 | unsigned maximum | (a > b) ? a : b
minsw | 2 | 2 | 2 | signed minimum | (a < b) ? a : b
minuw | 2 | 2 | 2 | unsigned minimum | (a < b) ? a : b
mullw | 2 | 2 | 2 | low bits of multiply | a * b
mulhsw | 2 | 2 | 2 | high bits of signed multiply | (a * b) >> 16
mulhuw | 2 | 2 | 2 | high bits of unsigned multiply | (a * b) >> 16
orw | 2 | 2 | 2 | bitwise or | a | b
shlw | 2 | 2 | 2S | shift left | a << b
shrsw | 2 | 2 | 2S | signed shift right | a >> b
shruw | 2 | 2 | 2S | unsigned shift right | a >> b
signw | 2 | 2 |  | sign | sign(a)
storew | 2 | 2 |  | store to memory | special
subw | 2 | 2 | 2 | subtract | a - b
subssw | 2 | 2 | 2 | subtract with signed saturate | clamp(a - b)
subusw | 2 | 2 | 2 | subtract with unsigned saturate | clamp(a - b)
xorw | 2 | 2 | 2 | bitwise XOR | a ^ b
absl | 4 | 4 |  | absolute value | (a < 0) ? -a : a
addl | 4 | 4 | 4 | add | a + b
addssl | 4 | 4 | 4 | add with signed saturate | clamp(a + b)
addusl | 4 | 4 | 4 | add with unsigned saturate | clamp(a + b)
andl | 4 | 4 | 4 | bitwise AND | a & b
andnl | 4 | 4 | 4 | bitwise AND NOT | a & (~b)
avgsl | 4 | 4 | 4 | signed average | (a + b + 1)>>1
avgul | 4 | 4 | 4 | unsigned average | (a + b + 1)>>1
cmpeql | 4 | 4 | 4 | compare equal | (a == b) ? (~0) : 0
cmpgtsl | 4 | 4 | 4 | compare greater than | (a > b) ? (~0) : 0
copyl | 4 | 4 |  | copy | a
loadl | 4 | 4 |  | load from memory | array[i]
loadoffl | 4 | 4 | 4S | load from memory with offset | array[i+offset]
loadpl | 4 | 4 |  | load parameter or constant | scalar
maxsl | 4 | 4 | 4 | signed maximum | (a > b) ? a : b
maxul | 4 | 4 | 4 | unsigned maximum | (a > b) ? a : b
minsl | 4 | 4 | 4 | signed minimum | (a < b) ? a : b
minul | 4 | 4 | 4 | unsigned minimum | (a < b) ? a : b
mulll | 4 | 4 | 4 | low bits of multiply | a * b
mulhsl | 4 | 4 | 4 | high bits of signed multiply | (a * b) >> 32
mulhul | 4 | 4 | 4 | high bits of unsigned multiply | (a * b) >> 32
orl | 4 | 4 | 4 | bitwise or | a | b
shll | 4 | 4 | 4S | shift left | a << b
shrsl | 4 | 4 | 4S | signed shift right | a >> b
shrul | 4 | 4 | 4S | unsigned shift right | a >> b
signl | 4 | 4 |  | sign | sign(a)
storel | 4 | 4 |  | store to memory | special
subl | 4 | 4 | 4 | subtract | a - b
subssl | 4 | 4 | 4 | subtract with signed saturate | clamp(a - b)
subusl | 4 | 4 | 4 | subtract with unsigned saturate | clamp(a - b)
xorl | 4 | 4 | 4 | bitwise XOR | a ^ b
loadq | 8 | 8 |  | load from memory | array[i]
loadpq | 8 | 8 |  | load parameter or constant | scalar
storeq | 8 | 8 |  | store to memory | special
splatw3q | 8 | 8 |  | duplicates high 16-bits to lower 48 bits | special
copyq | 8 | 8 |  |  |
cmpeqq | 8 | 8 | 8 |  |
cmpgtsq | 8 | 8 | 8 |  |
andq | 8 | 8 | 8 |  |
andnq | 8 | 8 | 8 |  |
orq | 8 | 8 | 8 |  |
xorq | 8 | 8 | 8 |  |
addq | 8 | 8 | 8 |  |
subq | 8 | 8 | 8 |  |
shlq | 8 | 8 | 8S |  |
shrsq | 8 | 8 | 8S |  |
shruq | 8 | 8 | 8S |  |
convsbw | 2 | 1 |  | convert signed to wider | a
convubw | 2 | 1 |  | convert unsigned to wider | a
splatbw | 2 | 1 |  | duplicates 8 bits to both halfs of 16 bits | special
splatbl | 4 | 1 |  | duplicates 8 bits to all parts of 32 bits | special
convswl | 4 | 2 |  | convert signed to wider | a
convuwl | 4 | 2 |  | convert unsigned to wider | a
convslq | 8 | 4 |  | convert signed to wider | a
convulq | 8 | 4 |  | convert unsigned to wider | a
convwb | 1 | 2 |  | convert signed to narrower | a
convhwb | 1 | 2 |  | shift and convert | a>>8
convssswb | 1 | 2 |  | convert signed to signed with saturation | clamp(a)
convsuswb | 1 | 2 |  | convert signed to unsigned with saturation | clamp(a)
convusswb | 1 | 2 |  | convert unsigned to signed with saturation | clamp(a)
convuuswb | 1 | 2 |  | convert unsigned to unsigned with saturation | clamp(a)
convlw | 2 | 4 |  | convert signed to narrower | a
convhlw | 2 | 4 |  | shift and convert | a>>16
convssslw | 2 | 4 |  | convert signed to signed with saturation | clamp(a)
convsuslw | 2 | 4 |  | convert signed to unsigned with saturation | clamp(a)
convusslw | 2 | 4 |  | convert unsigned to signed with saturation | clamp(a)
convuuslw | 2 | 4 |  | convert unsigned to unsigned with saturation | clamp(a)
convql | 4 | 8 |  | convert signed to narrower | a
convsssql | 4 | 8 |  | convert signed to signed with saturation | clamp(a)
convsusql | 4 | 8 |  | convert signed to unsigned with saturation | clamp(a)
convussql | 4 | 8 |  | convert unsigned to signed with saturation | clamp(a)
convuusql | 4 | 8 |  | convert unsigned to unsigned with saturation | clamp(a)
mulsbw | 2 | 1 | 1 | multiply signed to wider | a * b
mulubw | 2 | 1 | 1 | multiply unsigned to wider | a * b
mulswl | 4 | 2 | 2 | multiply signed to wider | a * b
muluwl | 4 | 2 | 2 | multiply unsigned to wider | a * b
mulslq | 8 | 4 | 4 | multiply signed to wider | a * b
mululq | 8 | 4 | 4 | multiply unsigned to wider | a * b
accw | 2 | 2 |  | accumulate | += a
accl | 4 | 4 |  | accumulate | += a
accsadubl | 4 | 1 | 1 | accumulate absolute difference | += abs(a - b)
swapw | 2 | 2 |  | endianness byte swap | special
swapl | 4 | 4 |  | endianness byte swap | special
swapwl | 4 | 4 |  | endianness word swap | special
swapq | 8 | 8 |  | endianness byte swap | special
swaplq | 8 | 8 |  | endianness long word swap | special
select0wb | 1 | 2 |  | select first half | special
select1wb | 1 | 2 |  | select second half | special
select0lw | 2 | 4 |  | select first half | special
select1lw | 2 | 4 |  | select second half | special
select0ql | 4 | 8 |  | select first half | special
select1ql | 4 | 8 |  | select second half | special
mergelq | 8 | 4 | 4 | merge words | special
mergewl | 4 | 2 | 2 | merge halfwords | special
mergebw | 2 | 1 | 1 | merge bytes | special
splitql | 4 | 8 |  | split first/second long words | special
splitlw | 2 | 4 |  | split first/second words | special
splitwb | 1 | 2 |  | split first/second bytes | special
addf | 4 | 4 | 4 | add | a + b
subf | 4 | 4 | 4 | subtract | a - b
mulf | 4 | 4 | 4 | multiply | a * b
divf | 4 | 4 | 4 | divide | a / b
sqrtf | 4 | 4 |  | square root | sqrt(a)
maxf | 4 | 4 | 4 | maximum | max(a,b)
minf | 4 | 4 | 4 | minimum | min(a,b)
cmpeqf | 4 | 4 | 4 | compare equal | (a == b) ? (~0) : 0
cmpltf | 4 | 4 | 4 | compare less than | (a == b) ? (~0) : 0
cmplef | 4 | 4 | 4 | compare less than or equal | (a == b) ? (~0) : 0
convfl | 4 | 4 |  | convert float point to integer | a
convlf | 4 | 4 |  | convert integer to floating point | a
addd | 8 | 8 | 8 | add | a + b
subd | 8 | 8 | 8 | subtract | a - b
muld | 8 | 8 | 8 | multiply | a * b
divd | 8 | 8 | 8 | divide | a / b
sqrtd | 8 | 8 |  | square root | sqrt(a)
maxd | 8 | 8 | 8 | maximum | max(a,b)
mind | 8 | 8 | 8 | minimum | min(a,b)
cmpeqd | 8 | 8 | 8 | compare equal | (a == b) ? (~0) : 0
cmpltd | 8 | 8 | 8 | compare less than | (a == b) ? (~0) : 0
cmpled | 8 | 8 | 8 | compare less than or equal | (a == b) ? (~0) : 0
convdl | 4 | 8 |  | convert double point to integer | a
convld | 8 | 4 |  | convert integer to double point | a
convfd | 8 | 4 |  | convert float to double | a
convdf | 4 | 8 |  | convert double to float | a
orf | 4 | 4 | 4 | bitwise or | a | b
andf | 4 | 4 | 4 | bitwise and | a & b
convwf | 4 | 2 |  |  |

In the pseudo code of the above table, `abs()` indicates absolute value, `clamp()` indicates that any values outside the destination range are set to the nearest value in the destination range, and `sign()` evaluates to -1 for values less than 0, 1 for values greater than 0, and 0 for 0.

## Rule Coverage

The values for shift operations are not correct in this table.

Opcode Name | avx | sse | mmx | altivec | neon | c64x-c | mips | riscv | lsx | lasx | c
--- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | ---
absb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
addb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
addssb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
addusb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
andb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
andnb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
avgsb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
avgub | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
cmpeqb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
cmpgtsb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
copyb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
loadb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
loadoffb | yes | yes | yes | yes | yes | no | no | yes | yes | no | yes
loadupdb | yes | yes | yes | no | yes | no | no | yes | yes | yes | yes
loadupib | yes | yes | yes | no | no | no | yes | yes | no | no | yes
loadpb | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes
ldresnearb | no | no | no | no | no | no | no | no | no | no | yes
ldresnearl | no | yes | yes | no | no | no | no | yes | no | no | yes
ldreslinb | no | no | no | no | no | no | no | no | no | no | yes
ldreslinl | no | yes | yes | no | no | no | no | yes | no | no | yes
maxsb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
maxub | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
minsb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
minub | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mullb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
mulhsb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
mulhub | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
orb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
shlb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
shrsb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
shrub | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
signb | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
storeb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
subb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
subssb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
subusb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
xorb | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
absw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
addw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
addssw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
addusw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
andw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
andnw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
avgsw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
avguw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
cmpeqw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
cmpgtsw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
copyw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
div255w | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
divluw | yes | yes | yes | no | yes | no | no | yes | yes | yes | yes
loadw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
loadoffw | yes | yes | yes | yes | yes | no | no | yes | yes | no | yes
loadpw | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes
maxsw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
maxuw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
minsw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
minuw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mullw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
mulhsw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mulhuw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
orw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
shlw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
shrsw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
shruw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
signw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
storew | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
subw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
subssw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
subusw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
xorw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
absl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
addl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
addssl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
addusl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
andl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
andnl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
avgsl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
avgul | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
cmpeql | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
cmpgtsl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
copyl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
loadl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
loadoffl | yes | yes | yes | yes | yes | no | no | yes | yes | no | yes
loadpl | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes
maxsl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
maxul | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
minsl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
minul | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mulll | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mulhsl | yes | yes | no | no | yes | yes | no | yes | yes | yes | yes
mulhul | yes | yes | no | no | yes | yes | no | yes | yes | yes | yes
orl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
shll | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
shrsl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
shrul | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
signl | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
storel | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
subl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
subssl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
subusl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
xorl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
loadq | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
loadpq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
storeq | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
splatw3q | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
copyq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
cmpeqq | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
cmpgtsq | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
andq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
andnq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
orq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
xorq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
addq | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
subq | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
shlq | yes | yes | yes | no | yes | no | no | yes | yes | yes | yes
shrsq | yes | yes | yes | no | yes | no | no | yes | yes | yes | yes
shruq | yes | yes | yes | no | yes | no | no | yes | yes | yes | yes
convsbw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
convubw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
splatbw | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes
splatbl | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convswl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
convuwl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
convslq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convulq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convwb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
convhwb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convssswb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
convsuswb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
convusswb | yes | yes | no | no | no | no | no | yes | yes | yes | yes
convuuswb | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convlw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
convhlw | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convssslw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
convsuslw | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
convusslw | yes | yes | no | no | no | no | no | yes | yes | yes | yes
convuuslw | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
convql | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
convsssql | yes | yes | no | no | yes | no | no | yes | yes | yes | yes
convsusql | yes | no | no | no | yes | no | no | yes | yes | yes | yes
convussql | yes | no | no | no | no | no | no | yes | no | yes | yes
convuusql | yes | no | no | no | yes | no | no | yes | yes | yes | yes
mulsbw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mulubw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mulswl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
muluwl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
mulslq | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
mululq | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
accw | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
accl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
accsadubl | yes | yes | yes | yes | yes | yes | no | yes | yes | yes | yes
swapw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
swapl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
swapwl | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
swapq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
swaplq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
select0wb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
select1wb | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
select0lw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
select1lw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
select0ql | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
select1ql | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
mergelq | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
mergewl | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
mergebw | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes | yes
splitql | yes | yes | yes | yes | yes | no | no | yes | yes | yes | yes
splitlw | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes
splitwb | yes | yes | yes | yes | yes | no | yes | yes | yes | yes | yes
addf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
subf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
mulf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
divf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
sqrtf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
maxf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
minf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
cmpeqf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
cmpltf | yes | yes | no | yes | no | yes | no | yes | yes | yes | yes
cmplef | yes | yes | no | yes | no | yes | no | yes | yes | yes | yes
convfl | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
convlf | yes | yes | no | yes | yes | yes | no | yes | yes | yes | yes
addd | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
subd | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
muld | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
divd | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
sqrtd | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
maxd | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
mind | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
cmpeqd | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
cmpltd | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
cmpled | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
convdl | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
convld | yes | yes | no | yes | no | no | no | yes | yes | yes | yes
convfd | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
convdf | yes | yes | no | yes | yes | no | no | yes | yes | yes | yes
orf | yes | yes | no | no | no | no | no | yes | yes | yes | yes
andf | yes | yes | no | no | no | no | no | yes | yes | yes | yes
convwf | yes | yes | no | no | no | no | no | yes | no | no | yes

The results of the search are