Home | History | Annotate | Download | only in mips
      1 # Test the mips16 instruction set.
      2 
      3 	.set	mips16
      4 
      5 	.macro	ldst op, reg, base
      6 	\op	\reg,0(\base)
      7 	\op	\reg,1(\base)
      8 	\op	\reg,2(\base)
      9 	\op	\reg,3(\base)
     10 	\op	\reg,4(\base)
     11 	\op	\reg,8(\base)
     12 	\op	\reg,16(\base)
     13 	\op	\reg,32(\base)
     14 	\op	\reg,64(\base)
     15 	\op	\reg,128(\base)
     16 	\op	\reg,256(\base)
     17 	\op	\reg,512(\base)
     18 	\op	\reg,1024(\base)
     19 	\op	\reg,2048(\base)
     20 	\op	\reg,-1(\base)
     21 	\op	\reg,-2(\base)
     22 	\op	\reg,-3(\base)
     23 	\op	\reg,-4(\base)
     24 	\op	\reg,-8(\base)
     25 	\op	\reg,-16(\base)
     26 	\op	\reg,-32(\base)
     27 	\op	\reg,-64(\base)
     28 	\op	\reg,-128(\base)
     29 	\op	\reg,-256(\base)
     30 	\op	\reg,-512(\base)
     31 	\op	\reg,-1024(\base)
     32 	\op	\reg,-2048(\base)
     33 	.endm
     34 
     35 	.p2align 3
     36 data1:
     37 	.word	0
     38 insns1:
     39 	ldst	ld, $2, $3
     40 	ld	$2,data1
     41 	ld	$2,data2
     42 	ld	$2,bar
     43 	ld	$2,quux
     44 	ldst	ld, $2, $sp
     45 	ldst	lwu, $2, $3
     46 	ldst	lw, $2, $3
     47 	lw	$2,data1
     48 	lw	$2,data2
     49 	lw	$2,bar
     50 	lw	$2,quux
     51 	ldst	lw, $2, $sp
     52 	ldst	lh, $2, $3
     53 	ldst	lhu, $2, $3
     54 	ldst	lb, $2, $3
     55 	ldst	lbu, $2, $3
     56 	ldst	sd, $2, $3
     57 	ldst	sd, $2, $sp
     58 	ldst	sd, $31, $sp
     59 	ldst	sw, $2, $3
     60 	ldst	sw, $2, $sp
     61 	ldst	sw, $31, $sp
     62 	ldst	sh, $2, $3
     63 	ldst	sb, $2, $3
     64 
     65 	li	$2,0
     66 	li	$2,1
     67 	li	$2,256
     68 
     69 	move	$2,$30
     70 	move	$20,$2
     71 
     72 	daddu	$2,$3,0
     73 	daddu	$2,$3,1
     74 	daddu	$2,$3,-1
     75 	daddu	$2,$3,16
     76 	daddu	$2,$3,-16
     77 	daddu	$2,$3,$4
     78 	daddu	$2,0
     79 	daddu	$2,1
     80 	daddu	$2,-1
     81 	daddu	$2,32
     82 	daddu	$2,-32
     83 	daddu	$2,128
     84 	daddu	$2,-128
     85 	dla	$2,data1
     86 	dla	$2,data2
     87 	dla	$2,bar
     88 	dla	$2,quux
     89 	daddu	$sp,0
     90 	daddu	$sp,1
     91 	daddu	$sp,-1
     92 	daddu	$sp,256
     93 	daddu	$sp,-256
     94 	daddu	$2,$sp,0
     95 	daddu	$2,$sp,1
     96 	daddu	$2,$sp,-1
     97 	daddu	$2,$sp,32
     98 	daddu	$2,$sp,-32
     99 	daddu	$2,$sp,128
    100 	daddu	$2,$sp,-128
    101 
    102 	addu	$2,$3,0
    103 	addu	$2,$3,1
    104 	addu	$2,$3,-1
    105 	addu	$2,$3,16
    106 	addu	$2,$3,-16
    107 	addu	$2,$3,$4
    108 	addu	$2,0
    109 	addu	$2,1
    110 	addu	$2,-1
    111 	addu	$2,32
    112 	addu	$2,-32
    113 	addu	$2,128
    114 	addu	$2,-128
    115 	la	$2,data1
    116 	la	$2,data2
    117 	la	$2,bar
    118 	la	$2,quux
    119 	addu	$sp,0
    120 	addu	$sp,1
    121 	addu	$sp,-1
    122 	addu	$sp,256
    123 	addu	$sp,-256
    124 	addu	$2,$sp,0
    125 	addu	$2,$sp,1
    126 	addu	$2,$sp,-1
    127 	addu	$2,$sp,32
    128 	addu	$2,$sp,-32
    129 	addu	$2,$sp,128
    130 	addu	$2,$sp,-128
    131 
    132 data2:
    133 	.word	0
    134 insns2:
    135 	dsubu	$2,$3,$4
    136 	subu	$2,$3,$4
    137 	neg	$2,$3
    138 
    139 	and	$2,$3
    140 	or	$2,$3
    141 	xor	$2,$3
    142 	not	$2,$3
    143 
    144 	slt	$2,0
    145 	slt	$2,1
    146 	slt	$2,-1
    147 	slt	$2,255
    148 	slt	$2,256
    149 	slt	$2,$3
    150 	sltu	$2,0
    151 	sltu	$2,1
    152 	sltu	$2,-1
    153 	sltu	$2,255
    154 	sltu	$2,256
    155 	sltu	$2,$3
    156 	cmp	$2,0
    157 	cmp	$2,1
    158 	cmp	$2,255
    159 	cmp	$2,256
    160 	cmp	$2,$3
    161 
    162 	dsll	$2,$3,0
    163 	dsll	$2,$3,1
    164 	dsll	$2,$3,8
    165 	dsll	$2,$3,9
    166 	dsll	$2,$3,63
    167 	dsll	$2,$3
    168 	dsrl	$2,0
    169 	dsrl	$2,1
    170 	dsrl	$2,8
    171 	dsrl	$2,9
    172 	dsrl	$2,63
    173 	dsrl	$2,$3
    174 	dsra	$2,0
    175 	dsra	$2,1
    176 	dsra	$2,8
    177 	dsra	$2,9
    178 	dsra	$2,63
    179 	dsra	$2,$3
    180 
    181 	mflo	$2
    182 	mfhi	$3
    183 
    184 	sll	$2,$3,0
    185 	sll	$2,$3,1
    186 	sll	$2,$3,8
    187 	sll	$2,$3,9
    188 	sll	$2,$3,31
    189 	sll	$2,$3
    190 	srl	$2,$3,0
    191 	srl	$2,$3,1
    192 	srl	$2,$3,8
    193 	srl	$2,$3,9
    194 	srl	$2,$3,31
    195 	srl	$2,$3
    196 	sra	$2,$3,0
    197 	sra	$2,$3,1
    198 	sra	$2,$3,8
    199 	sra	$2,$3,9
    200 	sra	$2,$3,31
    201 	sra	$2,$3
    202 
    203 	dmult	$2,$3
    204 	dmultu	$2,$3
    205 	ddiv	$2,$3
    206 	ddivu	$2,$3
    207 
    208 	mult	$2,$3
    209 	multu	$2,$3
    210 	div	$2,$3
    211 	divu	$2,$3
    212 
    213 	jr	$2
    214 	jr	$31
    215 	jalr	$31,$2
    216 
    217 	beqz	$2,insns1
    218 	beqz	$2,insns2
    219 	beqz	$2,bar
    220 	beqz	$2,quux
    221 	bnez	$2,insns1
    222 	bnez	$2,insns2
    223 	bnez	$2,bar
    224 	bnez	$2,quux
    225 	bteqz	insns1
    226 	bteqz	insns2
    227 	bteqz	bar
    228 	bteqz	quux
    229 	btnez	insns1
    230 	btnez	insns2
    231 	btnez	bar
    232 	btnez	quux
    233 	b	insns1
    234 	b	insns2
    235 	b	bar
    236 	b	quux
    237 
    238 	break	0
    239 	break	1
    240 	break	63
    241 
    242 	jal	extern
    243 
    244 	entry
    245 	entry	$4
    246 	entry	$4-$6,$16
    247 	entry	$16-$17,$31
    248 	entry	$31
    249 	exit
    250 	exit	$16
    251 	exit	$16-$17,$31
    252 	exit	$31
    253 
    254 	.p2align 3
    255 bar:
    256 
    257 	.skip	200
    258 quux:
    259