Table of Opcodes opcode destination source 1 source 2 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 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 1 shift left a << b shrsb 1 1 1 signed shift right a >> b shrub 1 1 1 unsigned shift right a >> b signb 1 1 sign sign(a) 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 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) >> 8 mulhuw 2 2 2 high bits of unsigned multiply (a * b) >> 8 orw 2 2 2 bitwise or a | b shlw 2 2 2 shift left a << b shrsw 2 2 2 signed shift right a >> b shruw 2 2 2 unsigned shift right a >> b signw 2 2 sign sign(a) 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 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) >> 8 mulhul 4 4 4 high bits of unsigned multiply (a * b) >> 8 orl 4 4 4 bitwise or a | b shll 4 4 4 shift left a << b shrsl 4 4 4 signed shift right a >> b shrul 4 4 4 unsigned shift right a >> b signl 4 4 sign sign(a) 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 convsbw 2 1 convert signed a convubw 2 1 convert unsigned a convswl 4 2 convert signed a convuwl 4 2 convert unsigned a convwb 1 2 convert a 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 a convssslw 2 4 convert signed to unsigned with saturation clamp(a) convsuslw 2 4 convert signed to signed with saturation clamp(a) convusslw 2 4 convert unsigned to unsigned with saturation clamp(a) convuuslw 2 4 convert unsigned to signed with saturation clamp(a) mulsbw 2 1 1 multiply signed a * b mulubw 2 1 1 multiply unsigned a * b mulswl 4 2 2 multiply signed a * b muluwl 4 2 2 multiply unsigned 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 swap special swapl 4 4 endianness 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 mergewl 4 2 2 merge halves special mergebw 2 1 1 merge halves special splitlw 2 4 splitwb 1 2 addf 4 4 4 subf 4 4 4 mulf 4 4 4 divf 4 4 4 sqrtf 4 4 maxf 4 4 4 minf 4 4 4 cmpeqf 4 4 4 cmpltf 4 4 4 cmplef 4 4 4 convfl 4 4 convlf 4 4