File: 24k-triple-stores-3.s

package info (click to toggle)
binutils 2.32.51.20190821-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye, sid
  • size: 309,676 kB
  • sloc: ansic: 1,201,497; asm: 658,869; cpp: 130,432; exp: 69,370; makefile: 56,804; sh: 23,583; lisp: 14,519; yacc: 14,467; perl: 2,111; ada: 1,681; lex: 1,649; pascal: 1,446; python: 991; cs: 879; sed: 195; xml: 95; awk: 25
file content (102 lines) | stat: -rw-r--r-- 1,506 bytes parent folder | download | duplicates (21)
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# Assume to be on the same line (within 32bytes)
# Check for individual different double words

foo:
	# safe
	sb      $2,11($sp)
	sb      $3,11($sp)
	sb      $4,4($sp)
	break

	# safe
	sb      $2,0($sp)
	sb      $3,11($sp)
	sb      $4,5($sp)
	break
	
	# edge case
	sb      $2,7($sp)
	sb      $3,11($sp)
	sb      $4,16($sp)
	break

	# edge case (unaligned)
	sb      $2,0($8)
	sb      $3,8($8)
	sb      $4,9($8)	
	break

	sh      $2,0($sp)
	sh      $3,-31($sp)
	sh      $4,-30($sp)
	break

	# edge case
	sh      $2,6($sp)
	sh      $3,8($sp)
	sh      $4,16($sp)
	break

	# edge case (unaligned)
	sh      $2,1($8)
	sh      $3,3($8)
	sh      $4,11($8)	
	break

	sw      $2,8($sp)
	sw      $3,-8($sp)
	sw      $4,8($sp)
	break

	# edge case
	sw      $2,4($sp)
	sw      $3,8($sp)
	sw      $4,16($sp)
	break

	# edge case (unaligned)
	sw      $2,3($8)
	sw      $3,7($8)
	sw      $4,15($8)	
	break

	.ifndef r6
	swl      $2,4($sp)
	swl      $3,10($sp)
	swl      $4,17($sp)
	break

	# edge case
	swl      $2,7($sp)
	swl      $3,12($sp)
	swl      $4,16($sp)
	break

	# edge case
	swl      $2,0($sp)
	swl      $3,12($sp)
	swl      $4,23($sp)
	break

	# edge case (unaligned)
	swl      $2,3($8)
	swl      $3,8($8)
	swl      $4,12($8)
	break

	# mix swl & swr
	swl      $2,0($sp)
	swl      $3,12($sp)
	swr      $4,23($sp)
	break

	# mix swl & swr
	swl      $2,5($8)
	swl      $3,17($8)
	swr      $4,28($8)
	break		
	.endif

# Force at least 8 (non-delay-slot) zero bytes, to make 'objdump' print ...
	.align	2
	.space	8