File: mips16e.s

package info (click to toggle)
binutils 2.25-5
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 240,432 kB
  • sloc: ansic: 1,327,513; asm: 553,096; cpp: 110,410; exp: 58,446; makefile: 51,977; sh: 19,499; yacc: 14,700; lisp: 13,606; perl: 1,791; lex: 1,626; pascal: 307; sed: 195; python: 154; awk: 26
file content (58 lines) | stat: -rw-r--r-- 912 bytes parent folder | download | duplicates (10)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
# Test the mips16e instruction set.

	.set	mips16
	.text
stuff:
	# explicit compact jumps
	jalrc	$2
	jalrc	$31,$2
	jrc	$31
	jrc	$2
	
	# these jumps should all be converted to compact versions
	jalr	$2
	jalr	$31,$2
	jal	$2
	jal	$31,$2
	jr	$31
	jr	$2
	j	$31
	j	$2
	
	# make sure unconditional jumps don't swap with compact jumps
	# and vice versa.
	jalr	$2
	.set	noreorder
	jal	foo		# mustn't swap with previous jalr
	addu	$4,$2,1
	.set	reorder
	jalr	$2
	jal	foo
	
	move	$4,$2
1:	jal	$2		# can't swap with move
		
	move	$4,$2
1:	jr	$2		# can't swap with move
	
	move	$4,$2
1:	jr	$31		# can't swap with move
	
	seb	$4
	seh	$4
	zeb	$4
	zeh	$4

	save	$31,8
	save	$31,128
	save	$31,$16,16
	save	$31,$16-$17,16
	save	$31,$17,120
	save	$31,$16,136
	save	$4,$31,$16-$17,16
	save	$4-$5,$31,$16,$18,$19,$20,16
	save	$4-$6,$31,$16-$20,16
	save	$4-$7,$31,$17,$18-$30,16
	save	$4-$5,$31,$16,$18,$19,$20,16,$6-$7
	
	.p2align 4