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 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267
|
const char* const VixlJniHelpersResults[] = {
" 0: e92d 4de0 stmdb sp!, {r5, r6, r7, r8, sl, fp, lr}\n",
" 4: ed2d 8a10 vpush {s16-s31}\n",
" 8: b089 sub sp, #36 ; 0x24\n",
" a: 9000 str r0, [sp, #0]\n",
" c: 9121 str r1, [sp, #132] ; 0x84\n",
" e: ed8d 0a22 vstr s0, [sp, #136] ; 0x88\n",
" 12: 9223 str r2, [sp, #140] ; 0x8c\n",
" 14: 9324 str r3, [sp, #144] ; 0x90\n",
" 16: b088 sub sp, #32\n",
" 18: f5ad 5d80 sub.w sp, sp, #4096 ; 0x1000\n",
" 1c: 9808 ldr r0, [sp, #32]\n",
" 1e: 981f ldr r0, [sp, #124] ; 0x7c\n",
" 20: 9821 ldr r0, [sp, #132] ; 0x84\n",
" 22: 98ff ldr r0, [sp, #1020] ; 0x3fc\n",
" 24: f8dd 0400 ldr.w r0, [sp, #1024] ; 0x400\n",
" 28: f8dd cffc ldr.w ip, [sp, #4092] ; 0xffc\n",
" 2c: f50d 5c80 add.w ip, sp, #4096 ; 0x1000\n",
" 30: f8dc c000 ldr.w ip, [ip]\n",
" 34: f8d9 c200 ldr.w ip, [r9, #512] ; 0x200\n",
" 38: f8dc 0080 ldr.w r0, [ip, #128] ; 0x80\n",
" 3c: 9008 str r0, [sp, #32]\n",
" 3e: 901f str r0, [sp, #124] ; 0x7c\n",
" 40: 9021 str r0, [sp, #132] ; 0x84\n",
" 42: 90ff str r0, [sp, #1020] ; 0x3fc\n",
" 44: f8cd 0400 str.w r0, [sp, #1024] ; 0x400\n",
" 48: f8cd cffc str.w ip, [sp, #4092] ; 0xffc\n",
" 4c: f84d 5d04 str.w r5, [sp, #-4]!\n",
" 50: f50d 5580 add.w r5, sp, #4096 ; 0x1000\n",
" 54: f8c5 c004 str.w ip, [r5, #4]\n",
" 58: f85d 5b04 ldr.w r5, [sp], #4\n",
" 5c: f04f 0cff mov.w ip, #255 ; 0xff\n",
" 60: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" 64: f06f 4c7f mvn.w ip, #4278190080 ; 0xff000000\n",
" 68: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" 6c: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" 70: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" 74: 900c str r0, [sp, #48] ; 0x30\n",
" 76: f8dd c030 ldr.w ip, [sp, #48] ; 0x30\n",
" 7a: f8cd c034 str.w ip, [sp, #52] ; 0x34\n",
" 7e: f50d 5c80 add.w ip, sp, #4096 ; 0x1000\n",
" 82: f8c9 c200 str.w ip, [r9, #512] ; 0x200\n",
" 86: f8c9 d200 str.w sp, [r9, #512] ; 0x200\n",
" 8a: f8d0 c030 ldr.w ip, [r0, #48] ; 0x30\n",
" 8e: 47e0 blx ip\n",
" 90: f8dd c02c ldr.w ip, [sp, #44] ; 0x2c\n",
" 94: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" 98: f8d9 c200 ldr.w ip, [r9, #512] ; 0x200\n",
" 9c: f8cd c02c str.w ip, [sp, #44] ; 0x2c\n",
" a0: f8dd c02c ldr.w ip, [sp, #44] ; 0x2c\n",
" a4: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" a8: 4648 mov r0, r9\n",
" aa: f8cd 9030 str.w r9, [sp, #48] ; 0x30\n",
" ae: 4684 mov ip, r0\n",
" b0: f1bc 0f00 cmp.w ip, #0\n",
" b4: bf18 it ne\n",
" b6: f10d 0c30 addne.w ip, sp, #48 ; 0x30\n",
" ba: f10d 0c30 add.w ip, sp, #48 ; 0x30\n",
" be: f1bc 0f00 cmp.w ip, #0\n",
" c2: bf0c ite eq\n",
" c4: 2000 moveq r0, #0\n",
" c6: a80c addne r0, sp, #48 ; 0x30\n",
" c8: f8dd c040 ldr.w ip, [sp, #64] ; 0x40\n",
" cc: f1bc 0f00 cmp.w ip, #0\n",
" d0: bf18 it ne\n",
" d2: f10d 0c40 addne.w ip, sp, #64 ; 0x40\n",
" d6: f8cd c030 str.w ip, [sp, #48] ; 0x30\n",
" da: f1bc 0f00 cmp.w ip, #0\n",
" de: bf0c ite eq\n",
" e0: 2000 moveq r0, #0\n",
" e2: 4668 movne r0, sp\n",
" e4: f1bc 0f00 cmp.w ip, #0\n",
" e8: bf0c ite eq\n",
" ea: 2000 moveq r0, #0\n",
" ec: f20d 4001 addwne r0, sp, #1025 ; 0x401\n",
" f0: f1bc 0f00 cmp.w ip, #0\n",
" f4: bf18 it ne\n",
" f6: f20d 4c01 addwne ip, sp, #1025 ; 0x401\n",
" fa: f8d9 c0a4 ldr.w ip, [r9, #164] ; 0xa4\n",
" fe: f1bc 0f00 cmp.w ip, #0\n",
" 102: d171 bne.n 1e8 <VixlJniHelpers+0x1e8>\n",
" 104: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 108: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 10c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 110: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 114: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 118: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 11c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 120: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 124: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 128: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 12c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 130: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 134: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 138: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 13c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 140: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 144: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 148: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 14c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 150: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 154: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 158: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 15c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 160: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 164: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 168: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 16c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 170: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 174: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 178: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 17c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 180: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 184: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 188: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 18c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 190: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 194: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 198: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 19c: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1a0: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1a4: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1a8: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1ac: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1b0: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1b4: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1b8: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1bc: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1c0: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1c4: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1c8: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1cc: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1d0: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1d4: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1d8: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1dc: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1e0: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1e4: f000 b802 b.w 1ec <VixlJniHelpers+0x1ec>\n",
" 1e8: f000 b81b b.w 222 <VixlJniHelpers+0x222>\n",
" 1ec: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1f0: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1f4: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1f8: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 1fc: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 200: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 204: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 208: f8cd c7ff str.w ip, [sp, #2047] ; 0x7ff\n",
" 20c: f50d 5d80 add.w sp, sp, #4096 ; 0x1000\n",
" 210: b008 add sp, #32\n",
" 212: b009 add sp, #36 ; 0x24\n",
" 214: ecbd 8a10 vpop {s16-s31}\n",
" 218: e8bd 4de0 ldmia.w sp!, {r5, r6, r7, r8, sl, fp, lr}\n",
" 21c: f8d9 8034 ldr.w r8, [r9, #52] ; 0x34\n",
" 220: 4770 bx lr\n",
" 222: 4660 mov r0, ip\n",
" 224: f8d9 c2e8 ldr.w ip, [r9, #744] ; 0x2e8\n",
" 228: 47e0 blx ip\n",
nullptr
};
const char* const VixlLoadFromOffsetResults[] = {
" 0: 68e2 ldr r2, [r4, #12]\n",
" 2: f8d4 2fff ldr.w r2, [r4, #4095] ; 0xfff\n",
" 6: f504 5280 add.w r2, r4, #4096 ; 0x1000\n",
" a: 6812 ldr r2, [r2, #0]\n",
" c: f504 1280 add.w r2, r4, #1048576 ; 0x100000\n",
" 10: f8d2 20a4 ldr.w r2, [r2, #164] ; 0xa4\n",
" 14: f44f 5280 mov.w r2, #4096 ; 0x1000\n",
" 18: f2c0 0210 movt r2, #16\n",
" 1c: 4422 add r2, r4\n",
" 1e: 6812 ldr r2, [r2, #0]\n",
" 20: f44f 5c80 mov.w ip, #4096 ; 0x1000\n",
" 24: f2c0 0c10 movt ip, #16\n",
" 28: 4464 add r4, ip\n",
" 2a: 6824 ldr r4, [r4, #0]\n",
" 2c: 89a2 ldrh r2, [r4, #12]\n",
" 2e: f8b4 2fff ldrh.w r2, [r4, #4095] ; 0xfff\n",
" 32: f504 5280 add.w r2, r4, #4096 ; 0x1000\n",
" 36: 8812 ldrh r2, [r2, #0]\n",
" 38: f504 1280 add.w r2, r4, #1048576 ; 0x100000\n",
" 3c: f8b2 20a4 ldrh.w r2, [r2, #164] ; 0xa4\n",
" 40: f44f 5280 mov.w r2, #4096 ; 0x1000\n",
" 44: f2c0 0210 movt r2, #16\n",
" 48: 4422 add r2, r4\n",
" 4a: 8812 ldrh r2, [r2, #0]\n",
" 4c: f44f 5c80 mov.w ip, #4096 ; 0x1000\n",
" 50: f2c0 0c10 movt ip, #16\n",
" 54: 4464 add r4, ip\n",
" 56: 8824 ldrh r4, [r4, #0]\n",
" 58: e9d4 2303 ldrd r2, r3, [r4, #12]\n",
" 5c: e9d4 23ff ldrd r2, r3, [r4, #1020] ; 0x3fc\n",
" 60: f504 6280 add.w r2, r4, #1024 ; 0x400\n",
" 64: e9d2 2300 ldrd r2, r3, [r2]\n",
" 68: f504 2280 add.w r2, r4, #262144 ; 0x40000\n",
" 6c: e9d2 2329 ldrd r2, r3, [r2, #164] ; 0xa4\n",
" 70: f44f 6280 mov.w r2, #1024 ; 0x400\n",
" 74: f2c0 0204 movt r2, #4\n",
" 78: 4422 add r2, r4\n",
" 7a: e9d2 2300 ldrd r2, r3, [r2]\n",
" 7e: f44f 6c80 mov.w ip, #1024 ; 0x400\n",
" 82: f2c0 0c04 movt ip, #4\n",
" 86: 4464 add r4, ip\n",
" 88: e9d4 4500 ldrd r4, r5, [r4]\n",
" 8c: f8dc 000c ldr.w r0, [ip, #12]\n",
" 90: f5a4 1280 sub.w r2, r4, #1048576 ; 0x100000\n",
" 94: f8d2 20a4 ldr.w r2, [r2, #164] ; 0xa4\n",
" 98: f994 200c ldrsb.w r2, [r4, #12]\n",
" 9c: 7b22 ldrb r2, [r4, #12]\n",
" 9e: f9b4 200c ldrsh.w r2, [r4, #12]\n",
nullptr
};
const char* const VixlStoreToOffsetResults[] = {
" 0: 60e2 str r2, [r4, #12]\n",
" 2: f8c4 2fff str.w r2, [r4, #4095] ; 0xfff\n",
" 6: f504 5c80 add.w ip, r4, #4096 ; 0x1000\n",
" a: f8cc 2000 str.w r2, [ip]\n",
" e: f504 1c80 add.w ip, r4, #1048576 ; 0x100000\n",
" 12: f8cc 20a4 str.w r2, [ip, #164] ; 0xa4\n",
" 16: f44f 5c80 mov.w ip, #4096 ; 0x1000\n",
" 1a: f2c0 0c10 movt ip, #16\n",
" 1e: 44a4 add ip, r4\n",
" 20: f8cc 2000 str.w r2, [ip]\n",
" 24: f44f 5c80 mov.w ip, #4096 ; 0x1000\n",
" 28: f2c0 0c10 movt ip, #16\n",
" 2c: 44a4 add ip, r4\n",
" 2e: f8cc 4000 str.w r4, [ip]\n",
" 32: 81a2 strh r2, [r4, #12]\n",
" 34: f8a4 2fff strh.w r2, [r4, #4095] ; 0xfff\n",
" 38: f504 5c80 add.w ip, r4, #4096 ; 0x1000\n",
" 3c: f8ac 2000 strh.w r2, [ip]\n",
" 40: f504 1c80 add.w ip, r4, #1048576 ; 0x100000\n",
" 44: f8ac 20a4 strh.w r2, [ip, #164] ; 0xa4\n",
" 48: f44f 5c80 mov.w ip, #4096 ; 0x1000\n",
" 4c: f2c0 0c10 movt ip, #16\n",
" 50: 44a4 add ip, r4\n",
" 52: f8ac 2000 strh.w r2, [ip]\n",
" 56: f44f 5c80 mov.w ip, #4096 ; 0x1000\n",
" 5a: f2c0 0c10 movt ip, #16\n",
" 5e: 44a4 add ip, r4\n",
" 60: f8ac 4000 strh.w r4, [ip]\n",
" 64: e9c4 2303 strd r2, r3, [r4, #12]\n",
" 68: e9c4 23ff strd r2, r3, [r4, #1020] ; 0x3fc\n",
" 6c: f504 6c80 add.w ip, r4, #1024 ; 0x400\n",
" 70: e9cc 2300 strd r2, r3, [ip]\n",
" 74: f504 2c80 add.w ip, r4, #262144 ; 0x40000\n",
" 78: e9cc 2329 strd r2, r3, [ip, #164] ; 0xa4\n",
" 7c: f44f 6c80 mov.w ip, #1024 ; 0x400\n",
" 80: f2c0 0c04 movt ip, #4\n",
" 84: 44a4 add ip, r4\n",
" 86: e9cc 2300 strd r2, r3, [ip]\n",
" 8a: f44f 6c80 mov.w ip, #1024 ; 0x400\n",
" 8e: f2c0 0c04 movt ip, #4\n",
" 92: 44a4 add ip, r4\n",
" 94: e9cc 4500 strd r4, r5, [ip]\n",
" 98: f8cc 000c str.w r0, [ip, #12]\n",
" 9c: f5a4 1c80 sub.w ip, r4, #1048576 ; 0x100000\n",
" a0: f8cc 20a4 str.w r2, [ip, #164] ; 0xa4\n",
" a4: 7322 strb r2, [r4, #12]\n",
nullptr
};
std::map<std::string, const char* const*> test_results;
void setup_results() {
test_results["VixlJniHelpers"] = VixlJniHelpersResults;
test_results["VixlStoreToOffset"] = VixlStoreToOffsetResults;
test_results["VixlLoadFromOffset"] = VixlLoadFromOffsetResults;
}
|