If the following is specified for imm, the assembler executes instruction expansion to generate multiple machine instructions. |
If reg2 is r0 (Can be specified only in addi. An error will occur when specified in mulhi.)
Else if reg2 is the same as reg1
If reg2 is r0 (Can be specified only in addi. An error will occur when specified in mulhi.)
Else if reg2 is the same as reg1
Relative expression having #label or label, or that having $label for a label having no definition in the sdata/sbss-attribute section |
If reg2 is r0 (Can be specified only in addi. An error will occur when specified in mulhi.)
addi #label, reg1, r0 |
mov #label, r1 add reg1, r1 |
addi label, reg1, r0 |
mov label, r1 add reg1, r1 |
addi $label, reg1, r0 |
mov $label, r1 add reg1, r1 |
Else if reg2 is the same as reg1
addi #label, reg1, reg2 |
mov #label, r1 add r1, reg2 |
addi label, reg1, reg2 |
mov label, r1 add r1, reg2 |
addi $label, reg1, reg2 |
mov $label, r1 add r1, reg2 |
addi #label, reg1, reg2 |
mov #label, reg2 add reg1, reg2 |
addi label, reg1, reg2 |
mov label, reg2 add reg1, reg2 |
addi $label, reg1, reg2 |
mov $label, reg2 add reg1, reg2 |