65 lines
1.8 KiB
ArmAsm
65 lines
1.8 KiB
ArmAsm
# 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
|