| # source file to test assembly of mips64r2 instructions |
| # (assumes that mips32r2 instructions will be tested separately for mips64r2.) |
| |
| .set noreorder |
| .set noat |
| |
| .text |
| text_label: |
| |
| # unprivileged CPU instructions |
| |
| # Test macro's ability to turn "dext" into "dext", "dextm" and |
| # "dextu" as appropriate. Also, add some explicit tests of the |
| # actual instructions. |
| dext $2, $3, 0, 1 # dext |
| dext $2, $3, 0, 32 # dext |
| dext $2, $3, 0, 33 # dextm |
| dext $2, $3, 0, 64 # dextm |
| dext $2, $3, 31, 1 # dext |
| dext $2, $3, 31, 32 # dext |
| dext $2, $3, 31, 33 # dextm |
| dext $2, $3, 32, 1 # dextu |
| dext $2, $3, 32, 32 # dextu |
| dext $2, $3, 63, 1 # dextu |
| dextm $2, $3, 10, 44 |
| dextu $2, $3, 42, 12 |
| |
| # Test macro's ability to turn "dins" into "dins", "dinsm" and |
| # "dinsu" as appropriate. Also, add some explicit tests of the |
| # non-macro instructions. |
| dins $2, $3, 0, 1 # dins |
| dins $2, $3, 0, 32 # dins |
| dins $2, $3, 0, 33 # dinsm |
| dins $2, $3, 0, 64 # dinsm |
| dins $2, $3, 31, 1 # dins |
| dins $2, $3, 31, 2 # dinsm |
| dins $2, $3, 31, 33 # dinsm |
| dins $2, $3, 32, 1 # dinsu |
| dins $2, $3, 32, 32 # dinsu |
| dins $2, $3, 63, 1 # dinsu |
| dinsm $2, $3, 10, 44 |
| dinsu $2, $3, 42, 12 |
| |
| # This file checks that in fact HW rotate will |
| # be used for this arch, and checks assembly |
| # of the official MIPS mnemonics. (Note that disassembly |
| # uses the traditional "dror", "dror32" and "drorv" |
| # mnemonics.) Additional rotate tests are done by rol64-hw.d. |
| drotl $25, $10, 4 # dror32 |
| drotr $25, $10, 4 # dror |
| drotl $25, $10, 36 # dror |
| drotr $25, $10, 36 # dror32 |
| drotl $25, $10, $4 # neg / drorv |
| drotr $25, $10, $4 # drorv |
| drotr32 $25, $10, 4 # dror32 |
| drotrv $25, $10, $4 # drorv |
| |
| dsbh $7 |
| dsbh $8, $10 |
| |
| dshd $7 |
| dshd $8, $10 |
| |
| # Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ... |
| .space 8 |