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