speck3264.lst 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866
  1. 1 .cpu cortex-m4
  2. 2 .eabi_attribute 20, 1
  3. 3 .eabi_attribute 21, 1
  4. 4 .eabi_attribute 23, 3
  5. 5 .eabi_attribute 24, 1
  6. 6 .eabi_attribute 25, 1
  7. 7 .eabi_attribute 26, 1
  8. 8 .eabi_attribute 30, 4
  9. 9 .eabi_attribute 34, 1
  10. 10 .eabi_attribute 18, 4
  11. 11 .file "speck3264.c"
  12. 12 .text
  13. 13 .Ltext0:
  14. 14 .cfi_sections .debug_frame
  15. 15 .section .text.FuncER16,"ax",%progbits
  16. 16 .align 1
  17. 17 .global FuncER16
  18. 18 .arch armv7e-m
  19. 19 .syntax unified
  20. 20 .thumb
  21. 21 .thumb_func
  22. 22 .fpu softvfp
  23. 24 FuncER16:
  24. 25 .LVL0:
  25. 26 .LFB3:
  26. 27 .file 1 "speck3264.c"
  27. 1:speck3264.c **** #include <stdio.h>
  28. 2:speck3264.c **** #include <stdint.h>
  29. 3:speck3264.c **** #include "speck.h"
  30. 4:speck3264.c **** #include "helper.h"
  31. 5:speck3264.c ****
  32. 6:speck3264.c **** u8 random_seed[8] = {0x00};
  33. 7:speck3264.c ****
  34. 8:speck3264.c ****
  35. 9:speck3264.c **** // This function is only used for the "x86" Speck compilation and as reference
  36. 10:speck3264.c **** void FuncER16(u16 *x, u16 *y, u16 k)
  37. 11:speck3264.c **** {
  38. 28 .loc 1 11 1 view -0
  39. 29 .cfi_startproc
  40. 30 @ args = 0, pretend = 0, frame = 0
  41. 31 @ frame_needed = 0, uses_anonymous_args = 0
  42. 12:speck3264.c **** u16 tmp_x = *x;
  43. 32 .loc 1 12 5 view .LVU1
  44. 11:speck3264.c **** u16 tmp_x = *x;
  45. 33 .loc 1 11 1 is_stmt 0 view .LVU2
  46. 34 0000 70B5 push {r4, r5, r6, lr}
  47. 35 .LCFI0:
  48. 36 .cfi_def_cfa_offset 16
  49. 37 .cfi_offset 4, -16
  50. 38 .cfi_offset 5, -12
  51. 39 .cfi_offset 6, -8
  52. 40 .cfi_offset 14, -4
  53. 11:speck3264.c **** u16 tmp_x = *x;
  54. 41 .loc 1 11 1 view .LVU3
  55. 42 0002 0D46 mov r5, r1
  56. 43 0004 1146 mov r1, r2
  57. 44 .LVL1:
  58. 45 .loc 1 12 9 view .LVU4
  59. 46 0006 0288 ldrh r2, [r0]
  60. 47 .LVL2:
  61. 13:speck3264.c **** u16 tmp_y = *y;
  62. 48 .loc 1 13 5 is_stmt 1 view .LVU5
  63. 49 .loc 1 13 9 is_stmt 0 view .LVU6
  64. 50 0008 2E88 ldrh r6, [r5]
  65. 51 .LVL3:
  66. 14:speck3264.c ****
  67. 15:speck3264.c **** *x = (((tmp_x)>>(7)) | ((tmp_x)<<(16-(7))));
  68. 52 .loc 1 15 5 is_stmt 1 view .LVU7
  69. 53 .loc 1 15 36 is_stmt 0 view .LVU8
  70. 54 000a 5302 lsls r3, r2, #9
  71. 55 .loc 1 15 26 view .LVU9
  72. 56 000c 43EAD213 orr r3, r3, r2, lsr #7
  73. 57 0010 9BB2 uxth r3, r3
  74. 58 .loc 1 15 8 view .LVU10
  75. 59 0012 0380 strh r3, [r0] @ movhi
  76. 16:speck3264.c **** *x += *y;
  77. 60 .loc 1 16 5 is_stmt 1 view .LVU11
  78. 61 .loc 1 16 8 is_stmt 0 view .LVU12
  79. 62 0014 2A88 ldrh r2, [r5]
  80. 63 .LVL4:
  81. 64 .loc 1 16 8 view .LVU13
  82. 65 0016 1344 add r3, r3, r2
  83. 11:speck3264.c **** u16 tmp_x = *x;
  84. 66 .loc 1 11 1 view .LVU14
  85. 67 0018 0446 mov r4, r0
  86. 68 .loc 1 16 8 view .LVU15
  87. 69 001a 98B2 uxth r0, r3
  88. 70 .LVL5:
  89. 17:speck3264.c ****
  90. 18:speck3264.c **** //*x = *x ^ k;
  91. 19:speck3264.c **** *x = XOR(*x, k, random_seed[*x & 0x07]);
  92. 71 .loc 1 19 37 view .LVU16
  93. 72 001c 00F00703 and r3, r0, #7
  94. 73 .loc 1 19 10 view .LVU17
  95. 74 0020 084A ldr r2, .L2
  96. 16:speck3264.c ****
  97. 75 .loc 1 16 8 view .LVU18
  98. 76 0022 2080 strh r0, [r4] @ movhi
  99. 77 .loc 1 19 5 is_stmt 1 view .LVU19
  100. 78 .loc 1 19 10 is_stmt 0 view .LVU20
  101. 79 0024 D25C ldrb r2, [r2, r3] @ zero_extendqisi2
  102. 80 0026 FFF7FEFF bl XOR
  103. 81 .LVL6:
  104. 82 .loc 1 19 8 view .LVU21
  105. 83 002a 2080 strh r0, [r4] @ movhi
  106. 20:speck3264.c ****
  107. 21:speck3264.c **** *y = (((tmp_y)<<(2)) | (tmp_y>>(16-(2))));
  108. 84 .loc 1 21 5 is_stmt 1 view .LVU22
  109. 85 .loc 1 21 19 is_stmt 0 view .LVU23
  110. 86 002c B000 lsls r0, r6, #2
  111. 87 .loc 1 21 26 view .LVU24
  112. 88 002e 40EA9633 orr r3, r0, r6, lsr #14
  113. 89 0032 98B2 uxth r0, r3
  114. 90 .loc 1 21 8 view .LVU25
  115. 91 0034 2880 strh r0, [r5] @ movhi
  116. 22:speck3264.c **** *y = XOR(*y, *x, *y);
  117. 92 .loc 1 22 5 is_stmt 1 view .LVU26
  118. 93 .loc 1 22 10 is_stmt 0 view .LVU27
  119. 94 0036 2188 ldrh r1, [r4]
  120. 95 0038 C2B2 uxtb r2, r0
  121. 96 003a FFF7FEFF bl XOR
  122. 97 .LVL7:
  123. 98 .loc 1 22 8 view .LVU28
  124. 99 003e 2880 strh r0, [r5] @ movhi
  125. 23:speck3264.c **** //*y = *y ^ *x;
  126. 24:speck3264.c ****
  127. 25:speck3264.c **** }
  128. 100 .loc 1 25 1 view .LVU29
  129. 101 0040 70BD pop {r4, r5, r6, pc}
  130. 102 .LVL8:
  131. 103 .L3:
  132. 104 .loc 1 25 1 view .LVU30
  133. 105 0042 00BF .align 2
  134. 106 .L2:
  135. 107 0044 00000000 .word .LANCHOR0
  136. 108 .cfi_endproc
  137. 109 .LFE3:
  138. 111 .section .text.FuncER16_ASM,"ax",%progbits
  139. 112 .align 1
  140. 113 .global FuncER16_ASM
  141. 114 .syntax unified
  142. 115 .thumb
  143. 116 .thumb_func
  144. 117 .fpu softvfp
  145. 119 FuncER16_ASM:
  146. 120 .LVL9:
  147. 121 .LFB4:
  148. 26:speck3264.c ****
  149. 27:speck3264.c ****
  150. 28:speck3264.c **** #ifdef ARM
  151. 29:speck3264.c **** // This function is used when running on the CW
  152. 30:speck3264.c **** void FuncER16_ASM(u16 *x, u16 *y, u16 k)
  153. 31:speck3264.c **** {
  154. 122 .loc 1 31 1 is_stmt 1 view -0
  155. 123 .cfi_startproc
  156. 124 @ args = 0, pretend = 0, frame = 0
  157. 125 @ frame_needed = 0, uses_anonymous_args = 0
  158. 126 @ link register save eliminated.
  159. 32:speck3264.c ****
  160. 33:speck3264.c **** asm volatile (
  161. 127 .loc 1 33 5 view .LVU32
  162. 128 .syntax unified
  163. 129 @ 33 "speck3264.c" 1
  164. 130 0000 00BF nop
  165. 131 0002 30B5 push {r4, r5, lr}
  166. 132 0004 0588 ldrh r5, [r0, #0]
  167. 133 0006 0C88 ldrh r4, [r1, #0]
  168. 134 0008 6B02 lsls r3, r5, #9
  169. 135 000a 43EAD513 orr.w r3, r3, r5, lsr #7
  170. 136 000e 9BB2 uxth r3, r3
  171. 137 0010 0380 strh r3, [r0, #0]
  172. 138 0012 0D88 ldrh r5, [r1, #0]
  173. 139 0014 2B44 add r3, r5
  174. 140 0016 5A40 eors r2, r3
  175. 141 0018 A300 lsls r3, r4, #2
  176. 142 001a 43EA9433 orr.w r3, r3, r4, lsr #14
  177. 143 001e 9BB2 uxth r3, r3
  178. 144 0020 0280 strh r2, [r0, #0]
  179. 145 0022 0B80 strh r3, [r1, #0]
  180. 146 0024 0288 ldrh r2, [r0, #0]
  181. 147 0026 5340 eors r3, r2
  182. 148 0028 0B80 strh r3, [r1, #0]
  183. 149 002a 30BD pop {r4, r5, pc}
  184. 150
  185. 151 @ 0 "" 2
  186. 34:speck3264.c **** "nop\n\t"
  187. 35:speck3264.c **** "push {r4, r5, lr}\n\t"
  188. 36:speck3264.c **** "ldrh r5, [r0, #0]\n\t"
  189. 37:speck3264.c **** "ldrh r4, [r1, #0]\n\t"
  190. 38:speck3264.c **** "lsls r3, r5, #9\n\t"
  191. 39:speck3264.c **** "orr.w r3, r3, r5, lsr #7\n\t"
  192. 40:speck3264.c **** "uxth r3, r3\n\t"
  193. 41:speck3264.c **** "strh r3, [r0, #0]\n\t"
  194. 42:speck3264.c **** "ldrh r5, [r1, #0]\n\t"
  195. 43:speck3264.c **** "add r3, r5\n\t"
  196. 44:speck3264.c **** "eors r2, r3\n\t"
  197. 45:speck3264.c **** "lsls r3, r4, #2\n\t"
  198. 46:speck3264.c **** "orr.w r3, r3, r4, lsr #14\n\t"
  199. 47:speck3264.c **** "uxth r3, r3\n\t"
  200. 48:speck3264.c **** "strh r2, [r0, #0]\n\t"
  201. 49:speck3264.c **** "strh r3, [r1, #0]\n\t"
  202. 50:speck3264.c **** "ldrh r2, [r0, #0]\n\t"
  203. 51:speck3264.c **** "eors r3, r2\n\t"
  204. 52:speck3264.c **** "strh r3, [r1, #0]\n\t"
  205. 53:speck3264.c **** "pop {r4, r5, pc}\n\t"
  206. 54:speck3264.c **** );
  207. 55:speck3264.c ****
  208. 56:speck3264.c **** }
  209. 152 .loc 1 56 1 is_stmt 0 view .LVU33
  210. 153 .thumb
  211. 154 .syntax unified
  212. 155 002c 7047 bx lr
  213. 156 .cfi_endproc
  214. 157 .LFE4:
  215. 159 .section .text.Words16ToBytes,"ax",%progbits
  216. 160 .align 1
  217. 161 .global Words16ToBytes
  218. 162 .syntax unified
  219. 163 .thumb
  220. 164 .thumb_func
  221. 165 .fpu softvfp
  222. 167 Words16ToBytes:
  223. 168 .LVL10:
  224. 169 .LFB5:
  225. 57:speck3264.c **** #endif
  226. 58:speck3264.c ****
  227. 59:speck3264.c ****
  228. 60:speck3264.c **** void Words16ToBytes(u16 words[],u8 bytes[],int numwords)
  229. 61:speck3264.c **** {
  230. 170 .loc 1 61 1 is_stmt 1 view -0
  231. 171 .cfi_startproc
  232. 172 @ args = 0, pretend = 0, frame = 0
  233. 173 @ frame_needed = 0, uses_anonymous_args = 0
  234. 62:speck3264.c **** int i,j=0;
  235. 174 .loc 1 62 5 view .LVU35
  236. 63:speck3264.c **** for(i=0;i<numwords;i++){
  237. 175 .loc 1 63 5 view .LVU36
  238. 61:speck3264.c **** int i,j=0;
  239. 176 .loc 1 61 1 is_stmt 0 view .LVU37
  240. 177 0000 30B5 push {r4, r5, lr}
  241. 178 .LCFI1:
  242. 179 .cfi_def_cfa_offset 12
  243. 180 .cfi_offset 4, -12
  244. 181 .cfi_offset 5, -8
  245. 182 .cfi_offset 14, -4
  246. 183 0002 0238 subs r0, r0, #2
  247. 184 .LVL11:
  248. 185 .loc 1 63 10 view .LVU38
  249. 186 0004 0023 movs r3, #0
  250. 64:speck3264.c **** bytes[j]=(u8)words[i];
  251. 65:speck3264.c **** bytes[j+1]=(u8)(words[i]>>8);
  252. 187 .loc 1 65 19 view .LVU39
  253. 188 0006 4D1C adds r5, r1, #1
  254. 189 .LVL12:
  255. 190 .L6:
  256. 63:speck3264.c **** bytes[j]=(u8)words[i];
  257. 191 .loc 1 63 14 is_stmt 1 discriminator 1 view .LVU40
  258. 192 0008 9342 cmp r3, r2
  259. 193 000a 00DB blt .L7
  260. 66:speck3264.c **** j+=2;
  261. 67:speck3264.c **** }
  262. 68:speck3264.c **** }
  263. 194 .loc 1 68 1 is_stmt 0 view .LVU41
  264. 195 000c 30BD pop {r4, r5, pc}
  265. 196 .L7:
  266. 64:speck3264.c **** bytes[j+1]=(u8)(words[i]>>8);
  267. 197 .loc 1 64 9 is_stmt 1 discriminator 3 view .LVU42
  268. 64:speck3264.c **** bytes[j+1]=(u8)(words[i]>>8);
  269. 198 .loc 1 64 18 is_stmt 0 discriminator 3 view .LVU43
  270. 199 000e 30F8024F ldrh r4, [r0, #2]!
  271. 200 .LVL13:
  272. 64:speck3264.c **** bytes[j+1]=(u8)(words[i]>>8);
  273. 201 .loc 1 64 18 discriminator 3 view .LVU44
  274. 202 0012 01F81340 strb r4, [r1, r3, lsl #1]
  275. 65:speck3264.c **** j+=2;
  276. 203 .loc 1 65 9 is_stmt 1 discriminator 3 view .LVU45
  277. 65:speck3264.c **** j+=2;
  278. 204 .loc 1 65 20 is_stmt 0 discriminator 3 view .LVU46
  279. 205 0016 0488 ldrh r4, [r0]
  280. 206 0018 240A lsrs r4, r4, #8
  281. 207 001a 05F81340 strb r4, [r5, r3, lsl #1]
  282. 66:speck3264.c **** j+=2;
  283. 208 .loc 1 66 9 is_stmt 1 discriminator 3 view .LVU47
  284. 209 .LVL14:
  285. 63:speck3264.c **** bytes[j]=(u8)words[i];
  286. 210 .loc 1 63 25 discriminator 3 view .LVU48
  287. 211 001e 0133 adds r3, r3, #1
  288. 212 .LVL15:
  289. 63:speck3264.c **** bytes[j]=(u8)words[i];
  290. 213 .loc 1 63 25 is_stmt 0 discriminator 3 view .LVU49
  291. 214 0020 F2E7 b .L6
  292. 215 .cfi_endproc
  293. 216 .LFE5:
  294. 218 .section .text.BytesToWords16,"ax",%progbits
  295. 219 .align 1
  296. 220 .global BytesToWords16
  297. 221 .syntax unified
  298. 222 .thumb
  299. 223 .thumb_func
  300. 224 .fpu softvfp
  301. 226 BytesToWords16:
  302. 227 .LVL16:
  303. 228 .LFB6:
  304. 69:speck3264.c ****
  305. 70:speck3264.c **** void BytesToWords16(u8 bytes[],u16 words[],int numbytes)
  306. 71:speck3264.c **** {
  307. 229 .loc 1 71 1 is_stmt 1 view -0
  308. 230 .cfi_startproc
  309. 231 @ args = 0, pretend = 0, frame = 0
  310. 232 @ frame_needed = 0, uses_anonymous_args = 0
  311. 72:speck3264.c **** int i,j=0; for(i=0;i<numbytes/2;i++){
  312. 233 .loc 1 72 5 view .LVU51
  313. 234 .loc 1 72 16 view .LVU52
  314. 235 .loc 1 72 34 is_stmt 0 view .LVU53
  315. 236 0000 02EBD272 add r2, r2, r2, lsr #31
  316. 237 .LVL17:
  317. 71:speck3264.c **** int i,j=0; for(i=0;i<numbytes/2;i++){
  318. 238 .loc 1 71 1 view .LVU54
  319. 239 0004 70B5 push {r4, r5, r6, lr}
  320. 240 .LCFI2:
  321. 241 .cfi_def_cfa_offset 16
  322. 242 .cfi_offset 4, -16
  323. 243 .cfi_offset 5, -12
  324. 244 .cfi_offset 6, -8
  325. 245 .cfi_offset 14, -4
  326. 246 .loc 1 72 34 view .LVU55
  327. 247 0006 5210 asrs r2, r2, #1
  328. 248 .loc 1 72 21 view .LVU56
  329. 249 0008 0023 movs r3, #0
  330. 73:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  331. 250 .loc 1 73 45 view .LVU57
  332. 251 000a 451C adds r5, r0, #1
  333. 252 .LVL18:
  334. 253 .L9:
  335. 72:speck3264.c **** int i,j=0; for(i=0;i<numbytes/2;i++){
  336. 254 .loc 1 72 25 is_stmt 1 discriminator 1 view .LVU58
  337. 255 000c 9A42 cmp r2, r3
  338. 256 000e 00DC bgt .L10
  339. 74:speck3264.c **** j+=2;
  340. 75:speck3264.c **** }
  341. 76:speck3264.c **** }
  342. 257 .loc 1 76 1 is_stmt 0 view .LVU59
  343. 258 0010 70BD pop {r4, r5, r6, pc}
  344. 259 .L10:
  345. 73:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  346. 260 .loc 1 73 9 is_stmt 1 discriminator 3 view .LVU60
  347. 73:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  348. 261 .loc 1 73 35 is_stmt 0 discriminator 3 view .LVU61
  349. 262 0012 15F81360 ldrb r6, [r5, r3, lsl #1] @ zero_extendqisi2
  350. 73:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  351. 263 .loc 1 73 28 discriminator 3 view .LVU62
  352. 264 0016 10F81340 ldrb r4, [r0, r3, lsl #1] @ zero_extendqisi2
  353. 73:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  354. 265 .loc 1 73 32 discriminator 3 view .LVU63
  355. 266 001a 44EA0624 orr r4, r4, r6, lsl #8
  356. 73:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  357. 267 .loc 1 73 17 discriminator 3 view .LVU64
  358. 268 001e 21F81340 strh r4, [r1, r3, lsl #1] @ movhi
  359. 74:speck3264.c **** j+=2;
  360. 269 .loc 1 74 9 is_stmt 1 discriminator 3 view .LVU65
  361. 270 .LVL19:
  362. 72:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  363. 271 .loc 1 72 38 discriminator 3 view .LVU66
  364. 272 0022 0133 adds r3, r3, #1
  365. 273 .LVL20:
  366. 72:speck3264.c **** words[i]=(u16)bytes[j] | ((u16)bytes[j+1]<<8);
  367. 274 .loc 1 72 38 is_stmt 0 discriminator 3 view .LVU67
  368. 275 0024 F2E7 b .L9
  369. 276 .cfi_endproc
  370. 277 .LFE6:
  371. 279 .section .text.Speck3264KeySchedule,"ax",%progbits
  372. 280 .align 1
  373. 281 .global Speck3264KeySchedule
  374. 282 .syntax unified
  375. 283 .thumb
  376. 284 .thumb_func
  377. 285 .fpu softvfp
  378. 287 Speck3264KeySchedule:
  379. 288 .LVL21:
  380. 289 .LFB7:
  381. 77:speck3264.c ****
  382. 78:speck3264.c **** void Speck3264KeySchedule(u16 K[],u16 rk[])
  383. 79:speck3264.c **** {
  384. 290 .loc 1 79 1 is_stmt 1 view -0
  385. 291 .cfi_startproc
  386. 292 @ args = 0, pretend = 0, frame = 8
  387. 293 @ frame_needed = 0, uses_anonymous_args = 0
  388. 80:speck3264.c **** u16 i,D=K[3],C=K[2],B=K[1],A=K[0];
  389. 294 .loc 1 80 5 view .LVU69
  390. 79:speck3264.c **** u16 i,D=K[3],C=K[2],B=K[1],A=K[0];
  391. 295 .loc 1 79 1 is_stmt 0 view .LVU70
  392. 296 0000 F7B5 push {r0, r1, r2, r4, r5, r6, r7, lr}
  393. 297 .LCFI3:
  394. 298 .cfi_def_cfa_offset 32
  395. 299 .cfi_offset 4, -20
  396. 300 .cfi_offset 5, -16
  397. 301 .cfi_offset 6, -12
  398. 302 .cfi_offset 7, -8
  399. 303 .cfi_offset 14, -4
  400. 304 .loc 1 80 11 view .LVU71
  401. 305 0002 C388 ldrh r3, [r0, #6]
  402. 306 0004 ADF80030 strh r3, [sp] @ movhi
  403. 307 .loc 1 80 18 view .LVU72
  404. 308 0008 8388 ldrh r3, [r0, #4]
  405. 309 000a ADF80230 strh r3, [sp, #2] @ movhi
  406. 310 .loc 1 80 25 view .LVU73
  407. 311 000e 4388 ldrh r3, [r0, #2]
  408. 312 0010 ADF80430 strh r3, [sp, #4] @ movhi
  409. 313 .loc 1 80 32 view .LVU74
  410. 314 0014 0388 ldrh r3, [r0]
  411. 315 0016 ADF80630 strh r3, [sp, #6] @ movhi
  412. 81:speck3264.c **** #ifdef ARM
  413. 82:speck3264.c **** for(i=0;i<22;){
  414. 316 .loc 1 82 5 is_stmt 1 view .LVU75
  415. 317 .LVL22:
  416. 318 .loc 1 82 14 view .LVU76
  417. 79:speck3264.c **** u16 i,D=K[3],C=K[2],B=K[1],A=K[0];
  418. 319 .loc 1 79 1 is_stmt 0 view .LVU77
  419. 320 001a 0E46 mov r6, r1
  420. 80:speck3264.c **** #ifdef ARM
  421. 321 .loc 1 80 32 view .LVU78
  422. 322 001c 0024 movs r4, #0
  423. 83:speck3264.c **** rk[i]=A;
  424. 84:speck3264.c **** //ER16(B,A,i++);
  425. 85:speck3264.c **** FuncER16(&B,&A,i++);
  426. 86:speck3264.c **** rk[i]=A;
  427. 323 .loc 1 86 14 view .LVU79
  428. 324 001e 8F1C adds r7, r1, #2
  429. 325 .LVL23:
  430. 326 .L12:
  431. 327 .loc 1 86 14 view .LVU80
  432. 328 0020 A5B2 uxth r5, r4
  433. 329 .LVL24:
  434. 83:speck3264.c **** rk[i]=A;
  435. 330 .loc 1 83 9 is_stmt 1 view .LVU81
  436. 83:speck3264.c **** rk[i]=A;
  437. 331 .loc 1 83 14 is_stmt 0 view .LVU82
  438. 332 0022 BDF80630 ldrh r3, [sp, #6]
  439. 333 0026 26F81430 strh r3, [r6, r4, lsl #1] @ movhi
  440. 85:speck3264.c **** rk[i]=A;
  441. 334 .loc 1 85 9 is_stmt 1 view .LVU83
  442. 335 .LVL25:
  443. 85:speck3264.c **** rk[i]=A;
  444. 336 .loc 1 85 9 is_stmt 0 view .LVU84
  445. 337 002a 2A46 mov r2, r5
  446. 338 002c 0DF10601 add r1, sp, #6
  447. 339 0030 01A8 add r0, sp, #4
  448. 340 0032 FFF7FEFF bl FuncER16
  449. 341 .LVL26:
  450. 342 .loc 1 86 9 is_stmt 1 view .LVU85
  451. 343 .loc 1 86 14 is_stmt 0 view .LVU86
  452. 344 0036 BDF80630 ldrh r3, [sp, #6]
  453. 345 003a 27F81430 strh r3, [r7, r4, lsl #1] @ movhi
  454. 87:speck3264.c **** //ER16(C,A,i++);
  455. 88:speck3264.c **** FuncER16(&C,&A,i++);
  456. 346 .loc 1 88 9 is_stmt 1 view .LVU87
  457. 347 .LVL27:
  458. 348 .loc 1 88 9 is_stmt 0 view .LVU88
  459. 349 003e 6A1C adds r2, r5, #1
  460. 350 0040 92B2 uxth r2, r2
  461. 351 0042 0DF10601 add r1, sp, #6
  462. 352 0046 0DF10200 add r0, sp, #2
  463. 353 004a FFF7FEFF bl FuncER16
  464. 354 .LVL28:
  465. 89:speck3264.c **** rk[i]=A;
  466. 355 .loc 1 89 9 is_stmt 1 view .LVU89
  467. 356 .loc 1 89 14 is_stmt 0 view .LVU90
  468. 357 004e 331D adds r3, r6, #4
  469. 358 0050 BDF80620 ldrh r2, [sp, #6]
  470. 359 0054 23F81420 strh r2, [r3, r4, lsl #1] @ movhi
  471. 90:speck3264.c **** //ER16(D,A,i++);
  472. 91:speck3264.c **** FuncER16(&D,&A,i++);
  473. 360 .loc 1 91 9 is_stmt 1 view .LVU91
  474. 361 .LVL29:
  475. 362 .loc 1 91 9 is_stmt 0 view .LVU92
  476. 363 0058 AA1C adds r2, r5, #2
  477. 364 005a 92B2 uxth r2, r2
  478. 365 005c 0DF10601 add r1, sp, #6
  479. 366 0060 6846 mov r0, sp
  480. 82:speck3264.c **** rk[i]=A;
  481. 367 .loc 1 82 14 view .LVU93
  482. 368 0062 0334 adds r4, r4, #3
  483. 369 .LVL30:
  484. 370 .loc 1 91 9 view .LVU94
  485. 371 0064 FFF7FEFF bl FuncER16
  486. 372 .LVL31:
  487. 82:speck3264.c **** rk[i]=A;
  488. 373 .loc 1 82 14 is_stmt 1 view .LVU95
  489. 374 0068 182C cmp r4, #24
  490. 375 006a D9D1 bne .L12
  491. 92:speck3264.c **** }
  492. 93:speck3264.c **** #endif
  493. 94:speck3264.c ****
  494. 95:speck3264.c **** #ifndef ARM
  495. 96:speck3264.c **** for(i=0;i<22;){
  496. 97:speck3264.c ****
  497. 98:speck3264.c **** printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
  498. 99:speck3264.c ****
  499. 100:speck3264.c **** rk[i]=A;
  500. 101:speck3264.c **** //ER16(B,A,i++);
  501. 102:speck3264.c **** FuncER16(&B, &A, i++);
  502. 103:speck3264.c ****
  503. 104:speck3264.c **** printf("rk[%d] = 0x%x\n", i-1, A);
  504. 105:speck3264.c ****
  505. 106:speck3264.c **** printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
  506. 107:speck3264.c **** rk[i]=A;
  507. 108:speck3264.c **** //ER16(C,A,i++);
  508. 109:speck3264.c **** FuncER16(&C, &A, i++);
  509. 110:speck3264.c **** printf("rk[%d] = 0x%x\n", i-1, A);
  510. 111:speck3264.c ****
  511. 112:speck3264.c **** printf("A = 0x%x ; B = 0x%x ; C = 0x%x ; D = 0x%x\n", A, B, C, D);
  512. 113:speck3264.c **** rk[i]=A;
  513. 114:speck3264.c **** //ER16(D,A,i++);
  514. 115:speck3264.c **** FuncER16(&D, &A, i++);
  515. 116:speck3264.c **** printf("rk[%d] = 0x%x\n <- D = 0x%x", i-1, A, D);
  516. 117:speck3264.c **** printf("----------------------\n");
  517. 118:speck3264.c **** }
  518. 119:speck3264.c **** #endif
  519. 120:speck3264.c **** }
  520. 376 .loc 1 120 1 is_stmt 0 view .LVU96
  521. 377 006c 03B0 add sp, sp, #12
  522. 378 .LCFI4:
  523. 379 .cfi_def_cfa_offset 20
  524. 380 @ sp needed
  525. 381 006e F0BD pop {r4, r5, r6, r7, pc}
  526. 382 .loc 1 120 1 view .LVU97
  527. 383 .cfi_endproc
  528. 384 .LFE7:
  529. 386 .section .text.Speck3264Encrypt,"ax",%progbits
  530. 387 .align 1
  531. 388 .global Speck3264Encrypt
  532. 389 .syntax unified
  533. 390 .thumb
  534. 391 .thumb_func
  535. 392 .fpu softvfp
  536. 394 Speck3264Encrypt:
  537. 395 .LVL32:
  538. 396 .LFB8:
  539. 121:speck3264.c ****
  540. 122:speck3264.c ****
  541. 123:speck3264.c **** void Speck3264Encrypt(u16 Pt[],u16 Ct[],u16 rk[])
  542. 124:speck3264.c **** {
  543. 397 .loc 1 124 1 is_stmt 1 view -0
  544. 398 .cfi_startproc
  545. 399 @ args = 0, pretend = 0, frame = 0
  546. 400 @ frame_needed = 0, uses_anonymous_args = 0
  547. 401 .loc 1 124 1 is_stmt 0 view .LVU99
  548. 402 0000 F8B5 push {r3, r4, r5, r6, r7, lr}
  549. 403 .LCFI5:
  550. 404 .cfi_def_cfa_offset 24
  551. 405 .cfi_offset 3, -24
  552. 406 .cfi_offset 4, -20
  553. 407 .cfi_offset 5, -16
  554. 408 .cfi_offset 6, -12
  555. 409 .cfi_offset 7, -8
  556. 410 .cfi_offset 14, -4
  557. 125:speck3264.c **** u16 i;
  558. 126:speck3264.c **** Ct[0]=Pt[0]; Ct[1]=Pt[1];
  559. 411 .loc 1 126 13 view .LVU100
  560. 412 0002 0388 ldrh r3, [r0]
  561. 413 .loc 1 126 10 view .LVU101
  562. 414 0004 0B80 strh r3, [r1] @ movhi
  563. 415 .loc 1 126 23 view .LVU102
  564. 416 0006 0F46 mov r7, r1
  565. 417 0008 4388 ldrh r3, [r0, #2]
  566. 418 000a 27F8023F strh r3, [r7, #2]! @ movhi
  567. 124:speck3264.c **** u16 i;
  568. 419 .loc 1 124 1 view .LVU103
  569. 420 000e 0D46 mov r5, r1
  570. 125:speck3264.c **** u16 i;
  571. 421 .loc 1 125 5 is_stmt 1 view .LVU104
  572. 422 .loc 1 126 5 view .LVU105
  573. 423 .loc 1 126 18 view .LVU106
  574. 127:speck3264.c ****
  575. 128:speck3264.c **** // full 22 rounds
  576. 129:speck3264.c **** for(i=0;i<22;) {
  577. 424 .loc 1 129 5 view .LVU107
  578. 425 .LVL33:
  579. 426 .loc 1 129 14 view .LVU108
  580. 427 0010 961E subs r6, r2, #2
  581. 428 0012 02F12A04 add r4, r2, #42
  582. 429 .LVL34:
  583. 430 .L15:
  584. 130:speck3264.c **** //ER16(Ct[1],Ct[0],rk[i++]);
  585. 131:speck3264.c **** #ifdef ARM
  586. 132:speck3264.c **** //FuncER16_ASM(&Ct[1], &Ct[0],rk[i++]);
  587. 133:speck3264.c **** FuncER16(&Ct[1], &Ct[0], rk[i++]);
  588. 431 .loc 1 133 9 view .LVU109
  589. 432 .loc 1 133 9 is_stmt 0 view .LVU110
  590. 433 0016 36F8022F ldrh r2, [r6, #2]!
  591. 434 .LVL35:
  592. 435 .loc 1 133 9 view .LVU111
  593. 436 001a 2946 mov r1, r5
  594. 437 001c 3846 mov r0, r7
  595. 438 001e FFF7FEFF bl FuncER16
  596. 439 .LVL36:
  597. 129:speck3264.c **** //ER16(Ct[1],Ct[0],rk[i++]);
  598. 440 .loc 1 129 14 is_stmt 1 view .LVU112
  599. 441 0022 A642 cmp r6, r4
  600. 442 0024 F7D1 bne .L15
  601. 134:speck3264.c **** #else
  602. 135:speck3264.c **** FuncER16(&Ct[1], &Ct[0], rk[i++]);
  603. 136:speck3264.c **** //ER16(Ct[1],Ct[0],rk[i++]);
  604. 137:speck3264.c **** #endif
  605. 138:speck3264.c ****
  606. 139:speck3264.c **** }
  607. 140:speck3264.c **** }
  608. 443 .loc 1 140 1 is_stmt 0 view .LVU113
  609. 444 0026 F8BD pop {r3, r4, r5, r6, r7, pc}
  610. 445 .loc 1 140 1 view .LVU114
  611. 446 .cfi_endproc
  612. 447 .LFE8:
  613. 449 .section .text.Speck3264Decrypt,"ax",%progbits
  614. 450 .align 1
  615. 451 .global Speck3264Decrypt
  616. 452 .syntax unified
  617. 453 .thumb
  618. 454 .thumb_func
  619. 455 .fpu softvfp
  620. 457 Speck3264Decrypt:
  621. 458 .LVL37:
  622. 459 .LFB9:
  623. 141:speck3264.c ****
  624. 142:speck3264.c ****
  625. 143:speck3264.c **** void Speck3264Decrypt(u16 Pt[],u16 Ct[],u16 rk[])
  626. 144:speck3264.c **** {
  627. 460 .loc 1 144 1 is_stmt 1 view -0
  628. 461 .cfi_startproc
  629. 462 @ args = 0, pretend = 0, frame = 0
  630. 463 @ frame_needed = 0, uses_anonymous_args = 0
  631. 145:speck3264.c **** int i;
  632. 464 .loc 1 145 5 view .LVU116
  633. 146:speck3264.c **** Pt[0]=Ct[0]; Pt[1]=Ct[1];
  634. 465 .loc 1 146 5 view .LVU117
  635. 466 .loc 1 146 13 is_stmt 0 view .LVU118
  636. 467 0000 0B88 ldrh r3, [r1]
  637. 468 .loc 1 146 10 view .LVU119
  638. 469 0002 0380 strh r3, [r0] @ movhi
  639. 470 .loc 1 146 18 is_stmt 1 view .LVU120
  640. 471 .loc 1 146 23 is_stmt 0 view .LVU121
  641. 472 0004 4B88 ldrh r3, [r1, #2]
  642. 473 0006 4380 strh r3, [r0, #2] @ movhi
  643. 147:speck3264.c ****
  644. 148:speck3264.c **** for(i=21;i>=0;) DR16(Pt[1],Pt[0],rk[i--]);
  645. 474 .loc 1 148 5 is_stmt 1 view .LVU122
  646. 475 .LVL38:
  647. 476 .loc 1 148 15 view .LVU123
  648. 144:speck3264.c **** int i;
  649. 477 .loc 1 144 1 is_stmt 0 view .LVU124
  650. 478 0008 30B5 push {r4, r5, lr}
  651. 479 .LCFI6:
  652. 480 .cfi_def_cfa_offset 12
  653. 481 .cfi_offset 4, -12
  654. 482 .cfi_offset 5, -8
  655. 483 .cfi_offset 14, -4
  656. 484 000a 02F12C05 add r5, r2, #44
  657. 485 .LVL39:
  658. 486 .L18:
  659. 487 .loc 1 148 21 is_stmt 1 discriminator 3 view .LVU125
  660. 488 000e 4388 ldrh r3, [r0, #2]
  661. 489 0010 0488 ldrh r4, [r0]
  662. 490 0012 5C40 eors r4, r4, r3
  663. 491 0014 A103 lsls r1, r4, #14
  664. 492 0016 41EA9401 orr r1, r1, r4, lsr #2
  665. 493 001a 89B2 uxth r1, r1
  666. 494 001c 0180 strh r1, [r0] @ movhi
  667. 495 .loc 1 148 21 is_stmt 0 discriminator 3 view .LVU126
  668. 496 001e 35F8024D ldrh r4, [r5, #-2]!
  669. 497 0022 6340 eors r3, r3, r4
  670. 498 0024 5B1A subs r3, r3, r1
  671. 499 0026 99B2 uxth r1, r3
  672. 500 0028 C3F34623 ubfx r3, r3, #9, #7
  673. 501 002c 43EAC113 orr r3, r3, r1, lsl #7
  674. 502 .loc 1 148 15 discriminator 3 view .LVU127
  675. 503 0030 AA42 cmp r2, r5
  676. 504 .loc 1 148 21 discriminator 3 view .LVU128
  677. 505 0032 4380 strh r3, [r0, #2] @ movhi
  678. 506 .loc 1 148 15 is_stmt 1 discriminator 3 view .LVU129
  679. 507 0034 EBD1 bne .L18
  680. 149:speck3264.c **** }
  681. 508 .loc 1 149 1 is_stmt 0 view .LVU130
  682. 509 0036 30BD pop {r4, r5, pc}
  683. 510 .cfi_endproc
  684. 511 .LFE9:
  685. 513 .section .text.Speck3264_EncryptBlock,"ax",%progbits
  686. 514 .align 1
  687. 515 .global Speck3264_EncryptBlock
  688. 516 .syntax unified
  689. 517 .thumb
  690. 518 .thumb_func
  691. 519 .fpu softvfp
  692. 521 Speck3264_EncryptBlock:
  693. 522 .LVL40:
  694. 523 .LFB10:
  695. 150:speck3264.c ****
  696. 151:speck3264.c ****
  697. 152:speck3264.c **** // Add a random byte array
  698. 153:speck3264.c **** void Speck3264_EncryptBlock(u8 pt[], u8 k[], u8 ct[], u8 rand[]) {
  699. 524 .loc 1 153 66 is_stmt 1 view -0
  700. 525 .cfi_startproc
  701. 526 @ args = 0, pretend = 0, frame = 88
  702. 527 @ frame_needed = 0, uses_anonymous_args = 0
  703. 154:speck3264.c ****
  704. 155:speck3264.c **** u16 Pt[2] = {0};
  705. 528 .loc 1 155 5 view .LVU132
  706. 153:speck3264.c ****
  707. 529 .loc 1 153 66 is_stmt 0 view .LVU133
  708. 530 0000 2DE9F041 push {r4, r5, r6, r7, r8, lr}
  709. 531 .LCFI7:
  710. 532 .cfi_def_cfa_offset 24
  711. 533 .cfi_offset 4, -24
  712. 534 .cfi_offset 5, -20
  713. 535 .cfi_offset 6, -16
  714. 536 .cfi_offset 7, -12
  715. 537 .cfi_offset 8, -8
  716. 538 .cfi_offset 14, -4
  717. 539 .loc 1 155 9 view .LVU134
  718. 540 0004 0024 movs r4, #0
  719. 153:speck3264.c ****
  720. 541 .loc 1 153 66 view .LVU135
  721. 542 0006 96B0 sub sp, sp, #88
  722. 543 .LCFI8:
  723. 544 .cfi_def_cfa_offset 112
  724. 153:speck3264.c ****
  725. 545 .loc 1 153 66 view .LVU136
  726. 546 0008 8046 mov r8, r0
  727. 547 000a 0F46 mov r7, r1
  728. 548 000c 1646 mov r6, r2
  729. 156:speck3264.c **** u16 K[4] = {0};
  730. 157:speck3264.c **** u16 rk[34] = {0};
  731. 549 .loc 1 157 9 view .LVU137
  732. 550 000e 2146 mov r1, r4
  733. 551 .LVL41:
  734. 552 .loc 1 157 9 view .LVU138
  735. 553 0010 4422 movs r2, #68
  736. 554 .LVL42:
  737. 555 .loc 1 157 9 view .LVU139
  738. 556 0012 05A8 add r0, sp, #20
  739. 557 .LVL43:
  740. 153:speck3264.c ****
  741. 558 .loc 1 153 66 view .LVU140
  742. 559 0014 1D46 mov r5, r3
  743. 156:speck3264.c **** u16 K[4] = {0};
  744. 560 .loc 1 156 9 view .LVU141
  745. 561 0016 CDE90344 strd r4, r4, [sp, #12]
  746. 155:speck3264.c **** u16 K[4] = {0};
  747. 562 .loc 1 155 9 view .LVU142
  748. 563 001a 0194 str r4, [sp, #4]
  749. 156:speck3264.c **** u16 K[4] = {0};
  750. 564 .loc 1 156 5 is_stmt 1 view .LVU143
  751. 565 .loc 1 157 5 view .LVU144
  752. 566 .loc 1 157 9 is_stmt 0 view .LVU145
  753. 567 001c FFF7FEFF bl memset
  754. 568 .LVL44:
  755. 158:speck3264.c **** u16 Ct[2] = {0};
  756. 569 .loc 1 158 5 is_stmt 1 view .LVU146
  757. 159:speck3264.c ****
  758. 160:speck3264.c **** BytesToWords16(pt,Pt,8);
  759. 570 .loc 1 160 5 is_stmt 0 view .LVU147
  760. 571 0020 01A9 add r1, sp, #4
  761. 572 0022 4046 mov r0, r8
  762. 573 0024 0822 movs r2, #8
  763. 158:speck3264.c **** u16 Ct[2] = {0};
  764. 574 .loc 1 158 9 view .LVU148
  765. 575 0026 0294 str r4, [sp, #8]
  766. 576 .loc 1 160 5 is_stmt 1 view .LVU149
  767. 577 0028 FFF7FEFF bl BytesToWords16
  768. 578 .LVL45:
  769. 161:speck3264.c **** BytesToWords16(k,K,16);
  770. 579 .loc 1 161 5 view .LVU150
  771. 580 002c 03A9 add r1, sp, #12
  772. 581 002e 3846 mov r0, r7
  773. 582 0030 1022 movs r2, #16
  774. 583 0032 FFF7FEFF bl BytesToWords16
  775. 584 .LVL46:
  776. 162:speck3264.c ****
  777. 163:speck3264.c **** // copy the random data to the global variable
  778. 164:speck3264.c **** memcpy(random_seed, rand, 8);
  779. 585 .loc 1 164 5 view .LVU151
  780. 586 0036 0B4A ldr r2, .L21
  781. 587 0038 2B68 ldr r3, [r5] @ unaligned
  782. 588 003a 1360 str r3, [r2] @ unaligned
  783. 589 003c 6B68 ldr r3, [r5, #4] @ unaligned
  784. 590 003e 5360 str r3, [r2, #4] @ unaligned
  785. 165:speck3264.c ****
  786. 166:speck3264.c **** Speck3264KeySchedule(K,rk);
  787. 591 .loc 1 166 5 view .LVU152
  788. 592 0040 05A9 add r1, sp, #20
  789. 593 0042 03A8 add r0, sp, #12
  790. 594 0044 FFF7FEFF bl Speck3264KeySchedule
  791. 595 .LVL47:
  792. 167:speck3264.c ****
  793. 168:speck3264.c **** #ifndef ARM
  794. 169:speck3264.c **** // DEBUG Purposes
  795. 170:speck3264.c **** for (int i=0; i < 16; i++)
  796. 171:speck3264.c **** {
  797. 172:speck3264.c **** printf("Key: 0x%x\n", rk[i]);
  798. 173:speck3264.c **** }
  799. 174:speck3264.c **** #endif
  800. 175:speck3264.c **** Speck3264Encrypt(Pt,Ct,rk);
  801. 596 .loc 1 175 5 view .LVU153
  802. 597 0048 05AA add r2, sp, #20
  803. 598 004a 02A9 add r1, sp, #8
  804. 599 004c 01A8 add r0, sp, #4
  805. 600 004e FFF7FEFF bl Speck3264Encrypt
  806. 601 .LVL48:
  807. 176:speck3264.c **** Words16ToBytes(Ct,ct,2);
  808. 602 .loc 1 176 5 view .LVU154
  809. 603 0052 0222 movs r2, #2
  810. 604 0054 3146 mov r1, r6
  811. 605 0056 02A8 add r0, sp, #8
  812. 606 0058 FFF7FEFF bl Words16ToBytes
  813. 607 .LVL49:
  814. 177:speck3264.c **** }
  815. 608 .loc 1 177 1 is_stmt 0 view .LVU155
  816. 609 005c 16B0 add sp, sp, #88
  817. 610 .LCFI9:
  818. 611 .cfi_def_cfa_offset 24
  819. 612 @ sp needed
  820. 613 005e BDE8F081 pop {r4, r5, r6, r7, r8, pc}
  821. 614 .LVL50:
  822. 615 .L22:
  823. 616 .loc 1 177 1 view .LVU156
  824. 617 0062 00BF .align 2
  825. 618 .L21:
  826. 619 0064 00000000 .word .LANCHOR0
  827. 620 .cfi_endproc
  828. 621 .LFE10:
  829. 623 .global random_seed
  830. 624 .bss
  831. 625 .set .LANCHOR0,. + 0
  832. 628 random_seed:
  833. 629 0000 00000000 .space 8
  834. 629 00000000
  835. 630 .text
  836. 631 .Letext0:
  837. 632 .file 2 "/usr/arm-none-eabi/include/machine/_default_types.h"
  838. 633 .file 3 "/usr/arm-none-eabi/include/sys/_stdint.h"
  839. 634 .file 4 "helper.h"
  840. 635 .file 5 "<built-in>"
  841. DEFINED SYMBOLS
  842. *ABS*:0000000000000000 speck3264.c
  843. /tmp/ccN3tgDA.s:16 .text.FuncER16:0000000000000000 $t
  844. /tmp/ccN3tgDA.s:24 .text.FuncER16:0000000000000000 FuncER16
  845. /tmp/ccN3tgDA.s:107 .text.FuncER16:0000000000000044 $d
  846. /tmp/ccN3tgDA.s:112 .text.FuncER16_ASM:0000000000000000 $t
  847. /tmp/ccN3tgDA.s:119 .text.FuncER16_ASM:0000000000000000 FuncER16_ASM
  848. /tmp/ccN3tgDA.s:160 .text.Words16ToBytes:0000000000000000 $t
  849. /tmp/ccN3tgDA.s:167 .text.Words16ToBytes:0000000000000000 Words16ToBytes
  850. /tmp/ccN3tgDA.s:219 .text.BytesToWords16:0000000000000000 $t
  851. /tmp/ccN3tgDA.s:226 .text.BytesToWords16:0000000000000000 BytesToWords16
  852. /tmp/ccN3tgDA.s:280 .text.Speck3264KeySchedule:0000000000000000 $t
  853. /tmp/ccN3tgDA.s:287 .text.Speck3264KeySchedule:0000000000000000 Speck3264KeySchedule
  854. /tmp/ccN3tgDA.s:387 .text.Speck3264Encrypt:0000000000000000 $t
  855. /tmp/ccN3tgDA.s:394 .text.Speck3264Encrypt:0000000000000000 Speck3264Encrypt
  856. /tmp/ccN3tgDA.s:450 .text.Speck3264Decrypt:0000000000000000 $t
  857. /tmp/ccN3tgDA.s:457 .text.Speck3264Decrypt:0000000000000000 Speck3264Decrypt
  858. /tmp/ccN3tgDA.s:514 .text.Speck3264_EncryptBlock:0000000000000000 $t
  859. /tmp/ccN3tgDA.s:521 .text.Speck3264_EncryptBlock:0000000000000000 Speck3264_EncryptBlock
  860. /tmp/ccN3tgDA.s:619 .text.Speck3264_EncryptBlock:0000000000000064 $d
  861. /tmp/ccN3tgDA.s:628 .bss:0000000000000000 random_seed
  862. /tmp/ccN3tgDA.s:629 .bss:0000000000000000 $d
  863. UNDEFINED SYMBOLS
  864. XOR
  865. memset