1#
2# Copyright 2020, Data61, CSIRO (ABN 41 687 119 230)
3#
4# SPDX-License-Identifier: BSD-2-Clause
5#
6
7Function f 26 ret Word 32 r0 Word 32 r1 Word 32 r2 Word 32 r3 Word 32 r4 Word 32 r5 Word 32 r6 Word 32 r7 Word 32 r8 Word 32 r9 Word 32 r10 Word 32 r11 Word 32 r12 Word 32 r13 Word 32 r14 Word 32 mode Word 32 n Bool z Bool c Bool v Bool mem Mem dom Dom stack Mem dom_stack Dom clock Word 32 25 r0 Word 32 r1 Word 32 r2 Word 32 r3 Word 32 r4 Word 32 r5 Word 32 r6 Word 32 r7 Word 32 r8 Word 32 r9 Word 32 r10 Word 32 r11 Word 32 r12 Word 32 r13 Word 32 r14 Word 32 mode Word 32 n Bool z Bool c Bool v Bool mem Mem dom Dom stack Mem dom_stack Dom clock Word 32
8
9#    c:	e3510063 	cmp	r1, #99	; 0x63
1012 Basic 16 4 v Bool Op And Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r1 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r1 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r1 Word 32 Num 4294967197 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 c Bool Op Or Bool 2 Op LessEquals Bool 2 Op Minus Word 32 2 Num 0 Word 32 Op Plus Word 32 2 Num 4294967196 Word 32 Num 1 Word 32 Var r1 Word 32 Op Equals Bool 2 Num 4294967196 Word 32 Num ~1 Word 32 z Bool Op Equals Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 4294967197 Word 32 Num 0 Word 32 n Bool Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r1 Word 32 Num 4294967197 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32
11
12#   10:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)
1316 Cond 1 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r13 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 4294967292 Word 32 Var dom_stack Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 4294967293 Word 32 Var dom_stack Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 4294967294 Word 32 Var dom_stack Dom Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 4294967295 Word 32 Var dom_stack Dom
141 Basic 20 2 stack Mem Op MemUpdate Mem 3 Var stack Mem Op Plus Word 32 2 Var r13 Word 32 Num 4294967292 Word 32 Var r4 Word 32 r13 Word 32 Op Plus Word 32 2 Var r13 Word 32 Num 4294967292 Word 32
15
16#   14:	ca000021 	bgt	a0 <f+0x94>
1720 Cond 3 5 Op And Bool 2 Op Equals Bool 2 Var n Bool Var v Bool Op Not Bool 1 Var z Bool
183 Basic 160 0
195 Basic 24 0
20
21#   18:	e1a02181 	lsl	r2, r1, #3
2224 Basic 28 1 r2 Word 32 Op ShiftLeft Word 32 2 Var r1 Word 32 Num 3 Word 32
23
24#   1c:	e201c00f 	and	ip, r1, #15
2528 Basic 32 1 r12 Word 32 Op BWAnd Word 32 2 Var r1 Word 32 Num 15 Word 32
26
27#   20:	e2813001 	add	r3, r1, #1
2832 Basic 36 1 r3 Word 32 Op Plus Word 32 2 Var r1 Word 32 Num 1 Word 32
29
30#   24:	e2614063 	rsb	r4, r1, #99	; 0x63
3136 Basic 40 1 r4 Word 32 Op Minus Word 32 2 Num 99 Word 32 Var r1 Word 32
32
33#   28:	e08cc002 	add	ip, ip, r2
3440 Basic 44 1 r12 Word 32 Op Plus Word 32 2 Var r12 Word 32 Var r2 Word 32
35
36#   2c:	e0801101 	add	r1, r0, r1, lsl #2
3744 Basic 48 1 r1 Word 32 Op Plus Word 32 2 Var r0 Word 32 Op ShiftLeft Word 32 2 Var r1 Word 32 Num 2 Word 32
38
39#   30:	e3530064 	cmp	r3, #100	; 0x64
4048 Basic 52 4 v Bool Op And Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 c Bool Op Or Bool 2 Op LessEquals Bool 2 Op Minus Word 32 2 Num 0 Word 32 Op Plus Word 32 2 Num 4294967195 Word 32 Num 1 Word 32 Var r3 Word 32 Op Equals Bool 2 Num 4294967195 Word 32 Num ~1 Word 32 z Bool Op Equals Bool 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Num 0 Word 32 n Bool Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32
41
42#   34:	e2044001 	and	r4, r4, #1
4352 Basic 56 1 r4 Word 32 Op BWAnd Word 32 2 Var r4 Word 32 Num 1 Word 32
44
45#   38:	e481c004 	str	ip, [r1], #4
4656 Cond 7 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r1 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r1 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 1 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 2 Word 32 Var dom Dom Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 3 Word 32 Var dom Dom
477 Basic 60 2 mem Mem Op MemUpdate Mem 3 Var mem Mem Var r1 Word 32 Var r12 Word 32 r1 Word 32 Op Plus Word 32 2 Var r1 Word 32 Num 4 Word 32
48
49#   3c:	e2820008 	add	r0, r2, #8
5060 Basic 64 1 r0 Word 32 Op Plus Word 32 2 Var r2 Word 32 Num 8 Word 32
51
52#   40:	0a000016 	beq	a0 <f+0x94>
5364 Cond 9 11 Var z Bool
549 Basic 160 0
5511 Basic 68 0
56
57#   44:	e3540000 	cmp	r4, #0
5868 Basic 72 4 v Bool Op False Bool 0 c Bool Op Or Bool 2 Op LessEquals Bool 2 Op Minus Word 32 2 Num 0 Word 32 Op Plus Word 32 2 Num 4294967295 Word 32 Num 1 Word 32 Var r4 Word 32 Op Equals Bool 2 Num 4294967295 Word 32 Num ~1 Word 32 z Bool Op Equals Bool 2 Var r4 Word 32 Num 0 Word 32 n Bool Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r4 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32
59
60#   48:	0a000006 	beq	68 <f+0x5c>
6172 Cond 13 15 Var z Bool
6213 Basic 104 0
6315 Basic 76 0
64
65#   4c:	e203200f 	and	r2, r3, #15
6676 Basic 80 1 r2 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Num 15 Word 32
67
68#   50:	e2833001 	add	r3, r3, #1
6980 Basic 84 1 r3 Word 32 Op Plus Word 32 2 Var r3 Word 32 Num 1 Word 32
70
71#   54:	e082c000 	add	ip, r2, r0
7284 Basic 88 1 r12 Word 32 Op Plus Word 32 2 Var r2 Word 32 Var r0 Word 32
73
74#   58:	e3530064 	cmp	r3, #100	; 0x64
7588 Basic 92 4 v Bool Op And Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 c Bool Op Or Bool 2 Op LessEquals Bool 2 Op Minus Word 32 2 Num 0 Word 32 Op Plus Word 32 2 Num 4294967195 Word 32 Num 1 Word 32 Var r3 Word 32 Op Equals Bool 2 Num 4294967195 Word 32 Num ~1 Word 32 z Bool Op Equals Bool 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Num 0 Word 32 n Bool Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32
76
77#   5c:	e481c004 	str	ip, [r1], #4
7892 Cond 17 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r1 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r1 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 1 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 2 Word 32 Var dom Dom Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 3 Word 32 Var dom Dom
7917 Basic 96 2 mem Mem Op MemUpdate Mem 3 Var mem Mem Var r1 Word 32 Var r12 Word 32 r1 Word 32 Op Plus Word 32 2 Var r1 Word 32 Num 4 Word 32
80
81#   60:	e2800008 	add	r0, r0, #8
8296 Basic 100 1 r0 Word 32 Op Plus Word 32 2 Var r0 Word 32 Num 8 Word 32
83
84#   64:	0a00000d 	beq	a0 <f+0x94>
85100 Cond 19 21 Var z Bool
8619 Basic 160 0
8721 Basic 104 0
88
89#   68:	e203200f 	and	r2, r3, #15
90104 Basic 108 1 r2 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Num 15 Word 32
91
92#   6c:	e082c000 	add	ip, r2, r0
93108 Basic 112 1 r12 Word 32 Op Plus Word 32 2 Var r2 Word 32 Var r0 Word 32
94
95#   70:	e2833001 	add	r3, r3, #1
96112 Basic 116 1 r3 Word 32 Op Plus Word 32 2 Var r3 Word 32 Num 1 Word 32
97
98#   74:	e1a02001 	mov	r2, r1
99116 Basic 120 1 r2 Word 32 Var r1 Word 32
100
101#   78:	e482c004 	str	ip, [r2], #4
102120 Cond 23 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r2 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r2 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r2 Word 32 Num 1 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r2 Word 32 Num 2 Word 32 Var dom Dom Op MemDom Bool 2 Op Plus Word 32 2 Var r2 Word 32 Num 3 Word 32 Var dom Dom
10323 Basic 124 2 mem Mem Op MemUpdate Mem 3 Var mem Mem Var r2 Word 32 Var r12 Word 32 r2 Word 32 Op Plus Word 32 2 Var r2 Word 32 Num 4 Word 32
104
105#   7c:	e2800008 	add	r0, r0, #8
106124 Basic 128 1 r0 Word 32 Op Plus Word 32 2 Var r0 Word 32 Num 8 Word 32
107
108#   80:	e203c00f 	and	ip, r3, #15
109128 Basic 132 1 r12 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Num 15 Word 32
110
111#   84:	e2833001 	add	r3, r3, #1
112132 Basic 136 1 r3 Word 32 Op Plus Word 32 2 Var r3 Word 32 Num 1 Word 32
113
114#   88:	e08cc000 	add	ip, ip, r0
115136 Basic 140 1 r12 Word 32 Op Plus Word 32 2 Var r12 Word 32 Var r0 Word 32
116
117#   8c:	e3530064 	cmp	r3, #100	; 0x64
118140 Basic 144 4 v Bool Op And Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32 c Bool Op Or Bool 2 Op LessEquals Bool 2 Op Minus Word 32 2 Num 0 Word 32 Op Plus Word 32 2 Num 4294967195 Word 32 Num 1 Word 32 Var r3 Word 32 Op Equals Bool 2 Num 4294967195 Word 32 Num ~1 Word 32 z Bool Op Equals Bool 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Num 0 Word 32 n Bool Op Not Bool 1 Op Equals Bool 2 Num 0 Word 32 Op BWAnd Word 32 2 Op Plus Word 32 2 Var r3 Word 32 Num 4294967196 Word 32 Op ShiftLeft Word 32 2 Num 1 Word 32 Num 31 Word 32
119
120#   90:	e581c004 	str	ip, [r1, #4]
121144 Cond 25 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r1 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 4 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 5 Word 32 Var dom Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 6 Word 32 Var dom Dom Op MemDom Bool 2 Op Plus Word 32 2 Var r1 Word 32 Num 7 Word 32 Var dom Dom
12225 Basic 148 1 mem Mem Op MemUpdate Mem 3 Var mem Mem Op Plus Word 32 2 Var r1 Word 32 Num 4 Word 32 Var r12 Word 32
123
124#   94:	e2800008 	add	r0, r0, #8
125148 Basic 152 1 r0 Word 32 Op Plus Word 32 2 Var r0 Word 32 Num 8 Word 32
126
127#   98:	e2821004 	add	r1, r2, #4
128152 Basic 156 1 r1 Word 32 Op Plus Word 32 2 Var r2 Word 32 Num 4 Word 32
129
130#   9c:	1afffff1 	bne	68 <f+0x5c>
131156 Cond 27 29 Op Not Bool 1 Var z Bool
13227 Basic 104 0
13329 Basic 160 0
134
135#   a0:	e49d4004 	pop	{r4}		; (ldr r4, [sp], #4)
136160 Cond 31 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r13 Word 32 Num 3 Word 32 Num 0 Word 32 Op And Bool 2 Op MemDom Bool 2 Var r13 Word 32 Var dom_stack Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 1 Word 32 Var dom_stack Dom Op And Bool 2 Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 2 Word 32 Var dom_stack Dom Op MemDom Bool 2 Op Plus Word 32 2 Var r13 Word 32 Num 3 Word 32 Var dom_stack Dom
13731 Basic 164 2 r4 Word 32 Op MemAcc Word 32 2 Var stack Mem Var r13 Word 32 r13 Word 32 Op Plus Word 32 2 Var r13 Word 32 Num 4 Word 32
138
139#   a4:	e12fff1e 	bx	lr
140164 Cond 33 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r14 Word 32 Num 3 Word 32 Num 0 Word 32 Op Equals Bool 2 Var r14 Word 32 Var ret Word 32
14133 Basic Ret 0
142
143EntryPoint 12
144
145Function g 26 ret Word 32 r0 Word 32 r1 Word 32 r2 Word 32 r3 Word 32 r4 Word 32 r5 Word 32 r6 Word 32 r7 Word 32 r8 Word 32 r9 Word 32 r10 Word 32 r11 Word 32 r12 Word 32 r13 Word 32 r14 Word 32 mode Word 32 n Bool z Bool c Bool v Bool mem Mem dom Dom stack Mem dom_stack Dom clock Word 32 25 r0 Word 32 r1 Word 32 r2 Word 32 r3 Word 32 r4 Word 32 r5 Word 32 r6 Word 32 r7 Word 32 r8 Word 32 r9 Word 32 r10 Word 32 r11 Word 32 r12 Word 32 r13 Word 32 r14 Word 32 mode Word 32 n Bool z Bool c Bool v Bool mem Mem dom Dom stack Mem dom_stack Dom clock Word 32
146
147#    0:	e200300f 	and	r3, r0, #15
1480 Basic 4 1 r3 Word 32 Op BWAnd Word 32 2 Var r0 Word 32 Num 15 Word 32
149
150#    4:	e0830180 	add	r0, r3, r0, lsl #3
1514 Basic 8 1 r0 Word 32 Op Plus Word 32 2 Var r3 Word 32 Op ShiftLeft Word 32 2 Var r0 Word 32 Num 3 Word 32
152
153#    8:	e12fff1e 	bx	lr
154# (first check return address is expected, and aligned)
1558 Cond 1 Err Op And Bool 2 Op Equals Bool 2 Op BWAnd Word 32 2 Var r14 Word 32 Num 3 Word 32 Num 0 Word 32 Op Equals Bool 2 Var r14 Word 32 Var ret Word 32
1561 Basic Ret 0
157EntryPoint 0
158
159
160