Unit Type | Function | Bus | ||||
Unit | Function | Immediate | Size | Flags | ||
Integer | Add | 000x | 0000 | don't care | yes | Mode 0 |
Subtract | 0001 | |||||
Add I | 0010 | yes | ||||
Subtract I | 0011 | |||||
Multiply | 0100 | don't care | yes | |||
Divide | 0101 | |||||
Modulo | 0110 | |||||
Multiply I | 0111 | yes | ||||
Divide I | 1000 | |||||
Modulo I | 1001 | |||||
Bitshuffling & | Shift | 001x | 0000 | don't care | yes | Mode 1 |
Logic Operations | Rotate | 0001 | ||||
Byte Reverse | 0010 | |||||
Bit Reverse | 0011 | |||||
Logic | 0100 | |||||
Single Bit Logic | 0101 | |||||
Test | 0110 | |||||
SIMD Mix | 0111 | |||||
SIMD Expand | 1000 | |||||
Shift I | 1001 | yes | ||||
Rotate I | 1010 | |||||
Byte Reverse I | 1011 | |||||
Bit Reverse I | 1100 | |||||
Floating Point | Add/Subtract | 010x | 0000 | don't care | yes | Mode 2 |
Integer to F P | 0001 | |||||
F P to Integer | 0010 | |||||
Inverse | 0011 | |||||
Square Root | 0100 | |||||
Multiply | 0101 | |||||
Divide | 0110 | |||||
1/Square Root | 0111 | |||||
Register Exchange | Move | 0110 | 0000 | don't care | yes | Mode 3 |
Put | 0001 | |||||
Get | 0010 | |||||
Process Control | Absolute Jump | 0111 | 0000 | don't care | don't care | don't care |
Loopentry | 0001 | |||||
Loop | 0010 | |||||
Cache Control | 0011 | yes | ||||
Absolute Jump I | 0100 | yes | don't care | |||
Relative Jump I | 0101 | |||||
Load/Store | Load | 11xx** | 0000 | don't care | yes | Mode 4 |
Store | 0001 | |||||
Load I | 0010 | yes | ||||
Store I | 0011 | |||||
Load Constant | 0100 | yes | don't care |
Signed | Flags[0] |
SIMD | Flags[1] |
Saturate/Floor | Flags[2] |
Unused | Flags[3:6] |
Signed | Flags[0] |
SIMD | Flags[1] |
Direction | Flags[2] |
Mode | Flags[3:6] |
Negate | Flags[0] |
SIMD | Flags[1] |
Direction | Flags[2] |
No IEEE | Flags[3] |
Rounding Method | Flags[4:6] |
Negate | Flags[0] |
Unused | Flags[1:4] |
High Part Replacement Method | Flags[5:6] |
Negate | Flags[0] |
Endian | Flags[1] |
Unused | Flags[2:3] |
Shift | Flags[4:6] |