| 1 | # Source file used to test the div macro. |
| 2 | foo: |
| 3 | div $0,$4,$5 |
| 4 | div $4,$5 |
| 5 | div $4,$5,$6 |
| 6 | div $4,1 |
| 7 | div $4,$5,1 |
| 8 | div $4,-1 |
| 9 | div $4,$5,-1 |
| 10 | div $4,2 |
| 11 | div $4,$5,2 |
| 12 | div $4,0x8000 |
| 13 | div $4,$5,0x8000 |
| 14 | div $4,-0x8000 |
| 15 | div $4,$5,-0x8000 |
| 16 | div $4,0x10000 |
| 17 | div $4,$5,0x10000 |
| 18 | div $4,0x1a5a5 |
| 19 | div $4,$5,0x1a5a5 |
| 20 | |
| 21 | # divu is like div, except when both arguments are registers. |
| 22 | # Just sanity check it otherwise. |
| 23 | divu $0,$4,$5 |
| 24 | divu $4,$5 |
| 25 | divu $4,$5,$6 |
| 26 | divu $4,1 |
| 27 | |
| 28 | # rem is like div, remu is like divu |
| 29 | rem $4,$5,$6 |
| 30 | remu $4,$5,2 |
| 31 | |
| 32 | # Sanity check the 64 bit versions. |
| 33 | .set mips3 |
| 34 | ddiv $4,$5,$6 |
| 35 | ddivu $4,$5,2 |
| 36 | drem $4,$5,0x8000 |
| 37 | dremu $4,$5,-0x8000 |
| 38 | |
| 39 | # force some padding, to make objdump consistently report that there's some |
| 40 | # here... |
| 41 | .space 8 |