| .text |
| |
| stuff: |
| .ent stuff |
| /* Integer instructions. */ |
| |
| mul $4,$5,$6 |
| mulu $4,$5,$6 |
| mulhi $4,$5,$6 |
| mulhiu $4,$5,$6 |
| muls $4,$5,$6 |
| mulsu $4,$5,$6 |
| mulshi $4,$5,$6 |
| mulshiu $4,$5,$6 |
| macc $4,$5,$6 |
| maccu $4,$5,$6 |
| macchi $4,$5,$6 |
| macchiu $4,$5,$6 |
| msac $4,$5,$6 |
| msacu $4,$5,$6 |
| msachi $4,$5,$6 |
| msachiu $4,$5,$6 |
| |
| ror $4,$5,25 |
| rorv $4,$5,$6 |
| dror $4,$5,25 |
| dror $4,$5,57 /* Should expand to dror32 $4,$5,25. */ |
| dror32 $4,$5,25 |
| drorv $4,$5,$6 |
| |
| |
| /* Prefetch instructions. */ |
| # We don't test pref because currently the disassembler will |
| # disassemble it as lwc3. lwc3 is correct for mips1 to mips3, |
| # while pref is correct for mips4. Unfortunately, the |
| # disassembler does not know which architecture it is |
| # disassembling for. |
| # pref 4,0($4) |
| |
| prefx 4,$4($5) |
| |
| /* Debug instructions. */ |
| |
| dbreak |
| dret |
| mfdr $3,$3 |
| mtdr $3,$3 |
| |
| /* Coprocessor 0 instructions, minus standard ISA 3 ones. |
| That leaves just the performance monitoring registers. */ |
| |
| mfpc $4,1 |
| mfps $4,1 |
| mtpc $4,1 |
| mtps $4,1 |
| |
| /* Miscellaneous instructions. */ |
| |
| wait |
| wait 0 # disassembles without code |
| wait 0x56789 |
| |
| ssnop |
| |
| clo $3,$4 |
| dclo $3,$4 |
| clz $3,$4 |
| dclz $3,$4 |
| |
| luxc1 $f0,$4($2) |
| suxc1 $f2,$4($2) |
| |
| tlbp |
| tlbr |
| |
| /* Align to 16-byte boundary. */ |
| nop |
| nop |
| nop |
| .end stuff |