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
|
-
|
!
| objdump -S -d main
main: ファイル形式 elf32-littlearm
00010518 <main>:
int main()
{
10518: e92d4800 push {fp, lr}
1051c: e28db004 add fp, sp, 10520: e24dd070 sub sp, sp, const uint32x4_t a1 = { 0, 1, 2, 3 };
10524: eddf0b29 vldr d16, [pc, 10528: eddf1b2a vldr d17, [pc, 1052c: e24b3014 sub r3, fp, 10530: f4430adf vst1.64 {d16-d17}, [r3 :64]
const uint32x4_t a2 = { 0, 1, 2, 3 };
10534: eddf0b25 vldr d16, [pc, 10538: eddf1b26 vldr d17, [pc, 1053c: e24b3024 sub r3, fp, 10540: f4430adf vst1.64 {d16-d17}, [r3 :64]
const uint32x4_t a3 = { 0, 1, 2, 3 };
10544: eddf0b21 vldr d16, [pc, 10548: eddf1b22 vldr d17, [pc, 1054c: e24b3034 sub r3, fp, 10550: f4430adf vst1.64 {d16-d17}, [r3 :64]
printf("start!\n");
10554: e3000654 movw r0, 10558: e3400001 movt r0, 1055c: ebffff9f bl 103e0 <puts@plt>
10560: e24b3014 sub r3, fp, 10564: f4630adf vld1.64 {d16-d17}, [r3 :64]
10568: e24b3054 sub r3, fp, 1056c: f4430adf vst1.64 {d16-d17}, [r3 :64]
10570: e24b3024 sub r3, fp, 10574: f4630adf vld1.64 {d16-d17}, [r3 :64]
10578: e24b3064 sub r3, fp, 1057c: f4430adf vst1.64 {d16-d17}, [r3 :64]
10580: e24b3034 sub r3, fp, 10584: f4630adf vld1.64 {d16-d17}, [r3 :64]
10588: e24b3074 sub r3, fp, 1058c: f4430adf vst1.64 {d16-d17}, [r3 :64]
}
__extension__ static __inline uint32x4_t __attribute__ ((__always_inline__))
vsha256hq_u32 (uint32x4_t __hash_abcd, uint32x4_t __hash_efgh, uint32x4_t __wk)
{
return __builtin_arm_crypto_sha256h (__hash_abcd, __hash_efgh, __wk);
10590: e24b3054 sub r3, fp, 10594: f4630adf vld1.64 {d16-d17}, [r3 :64]
10598: e24b3064 sub r3, fp, 1059c: f4632adf vld1.64 {d18-d19}, [r3 :64]
105a0: e24b3074 sub r3, fp, 105a4: f4634adf vld1.64 {d20-d21}, [r3 :64]
105a8: f3420ce4 sha256h.32 q8, q9, q10
const uint32x4_t ret = vsha256hq_u32(a1, a2, a3);
105ac: e24b3044 sub r3, fp, 105b0: f4430adf vst1.64 {d16-d17}, [r3 :64]
printf("end!\n");
105b4: e300065c movw r0, 105b8: e3400001 movt r0, 105bc: ebffff87 bl 103e0 <puts@plt>
return 0;
105c0: e3a03000 mov r3, }
|