Created
November 10, 2009 06:50
-
-
Save ice799/230705 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
; | |
; branch predictor on with -O2 | |
; | |
0000000000000000 <st_lookup>: | |
0: 48 89 5c 24 d8 mov %rbx,-0x28(%rsp) | |
5: 48 89 6c 24 e0 mov %rbp,-0x20(%rsp) | |
a: 48 89 fd mov %rdi,%rbp | |
d: 4c 89 64 24 e8 mov %r12,-0x18(%rsp) | |
12: 4c 89 6c 24 f0 mov %r13,-0x10(%rsp) | |
17: 31 c0 xor %eax,%eax | |
19: 4c 89 74 24 f8 mov %r14,-0x8(%rsp) | |
1e: 48 83 ec 28 sub $0x28,%rsp | |
22: 49 89 d6 mov %rdx,%r14 | |
25: 48 8b 17 mov (%rdi),%rdx | |
28: 49 89 f5 mov %rsi,%r13 | |
2b: 48 89 f7 mov %rsi,%rdi | |
2e: ff 52 08 callq *0x8(%rdx) | |
31: 31 d2 xor %edx,%edx | |
33: 41 89 c4 mov %eax,%r12d | |
36: f7 75 08 divl 0x8(%rbp) | |
39: 48 8b 45 10 mov 0x10(%rbp),%rax | |
3d: 89 d2 mov %edx,%edx | |
3f: 48 8b 1c d0 mov (%rax,%rdx,8),%rbx | |
43: 48 85 db test %rbx,%rbx | |
46: 75 25 jne 6d <st_lookup+0x6d> | |
48: 31 c0 xor %eax,%eax | |
4a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) | |
50: 48 8b 1c 24 mov (%rsp),%rbx | |
54: 48 8b 6c 24 08 mov 0x8(%rsp),%rbp | |
59: 4c 8b 64 24 10 mov 0x10(%rsp),%r12 | |
5e: 4c 8b 6c 24 18 mov 0x18(%rsp),%r13 | |
63: 4c 8b 74 24 20 mov 0x20(%rsp),%r14 | |
68: 48 83 c4 28 add $0x28,%rsp | |
6c: c3 retq | |
6d: 44 39 23 cmp %r12d,(%rbx) | |
70: 75 30 jne a2 <st_lookup+0xa2> | |
72: 48 8b 73 08 mov 0x8(%rbx),%rsi | |
76: 4c 39 ee cmp %r13,%rsi | |
79: 75 18 jne 93 <st_lookup+0x93> | |
7b: 4d 85 f6 test %r14,%r14 | |
7e: b8 01 00 00 00 mov $0x1,%eax | |
83: 74 cb je 50 <st_lookup+0x50> | |
85: 48 8b 43 10 mov 0x10(%rbx),%rax | |
89: 49 89 06 mov %rax,(%r14) | |
8c: b8 01 00 00 00 mov $0x1,%eax | |
91: eb bd jmp 50 <st_lookup+0x50> | |
93: 48 8b 55 00 mov 0x0(%rbp),%rdx | |
97: 31 c0 xor %eax,%eax | |
99: 4c 89 ef mov %r13,%rdi | |
9c: ff 12 callq *(%rdx) | |
9e: 85 c0 test %eax,%eax | |
a0: 74 d9 je 7b <st_lookup+0x7b> | |
a2: 48 8b 43 18 mov 0x18(%rbx),%rax | |
a6: 48 85 c0 test %rax,%rax | |
a9: 75 19 jne c4 <st_lookup+0xc4> | |
ab: 0f 1f 44 00 00 nopl 0x0(%rax,%rax,1) | |
b0: eb 96 jmp 48 <st_lookup+0x48> | |
b2: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) | |
b8: 48 89 c3 mov %rax,%rbx | |
bb: 48 8b 40 18 mov 0x18(%rax),%rax | |
bf: 48 85 c0 test %rax,%rax | |
c2: 74 84 je 48 <st_lookup+0x48> | |
c4: 44 39 20 cmp %r12d,(%rax) | |
c7: 90 nop | |
c8: 75 ee jne b8 <st_lookup+0xb8> | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; | |
; | |
; just O2 | |
; | |
0000000000000000 <st_lookup>: | |
0: 41 56 push %r14 | |
2: 49 89 d6 mov %rdx,%r14 | |
5: 31 c0 xor %eax,%eax | |
7: 41 55 push %r13 | |
9: 49 89 fd mov %rdi,%r13 | |
c: 41 54 push %r12 | |
e: 49 89 f4 mov %rsi,%r12 | |
11: 55 push %rbp | |
12: 53 push %rbx | |
13: 48 8b 17 mov (%rdi),%rdx | |
16: 48 89 f7 mov %rsi,%rdi | |
19: ff 52 08 callq *0x8(%rdx) | |
1c: 31 d2 xor %edx,%edx | |
1e: 89 c5 mov %eax,%ebp | |
20: 41 f7 75 08 divl 0x8(%r13) | |
24: 49 8b 45 10 mov 0x10(%r13),%rax | |
28: 89 d2 mov %edx,%edx | |
2a: 48 8b 1c d0 mov (%rax,%rdx,8),%rbx | |
2e: 48 85 db test %rbx,%rbx | |
31: 0f 84 81 00 00 00 je b8 <st_lookup+0xb8> | |
37: 39 2b cmp %ebp,(%rbx) | |
39: 74 45 je 80 <st_lookup+0x80> | |
3b: 48 8b 43 18 mov 0x18(%rbx),%rax | |
3f: 48 85 c0 test %rax,%rax | |
42: 75 18 jne 5c <st_lookup+0x5c> | |
44: 0f 1f 40 00 nopl 0x0(%rax) | |
48: eb 6e jmp b8 <st_lookup+0xb8> | |
4a: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1) | |
50: 48 89 c3 mov %rax,%rbx | |
53: 48 8b 40 18 mov 0x18(%rax),%rax | |
57: 48 85 c0 test %rax,%rax | |
5a: 74 5c je b8 <st_lookup+0xb8> | |
5c: 39 28 cmp %ebp,(%rax) | |
5e: 66 90 xchg %ax,%ax | |
60: 75 ee jne 50 <st_lookup+0x50> | |
62: 48 8b 70 08 mov 0x8(%rax),%rsi | |
66: 4c 39 e6 cmp %r12,%rsi | |
69: 74 42 je ad <st_lookup+0xad> | |
6b: 49 8b 55 00 mov 0x0(%r13),%rdx | |
6f: 31 c0 xor %eax,%eax | |
71: 4c 89 e7 mov %r12,%rdi | |
74: ff 12 callq *(%rdx) | |
76: 85 c0 test %eax,%eax | |
78: 74 2f je a9 <st_lookup+0xa9> | |
7a: 48 8b 43 18 mov 0x18(%rbx),%rax | |
7e: eb d0 jmp 50 <st_lookup+0x50> | |
80: 48 8b 73 08 mov 0x8(%rbx),%rsi | |
84: 4c 39 e6 cmp %r12,%rsi | |
87: 90 nop | |
88: 75 39 jne c3 <st_lookup+0xc3> | |
8a: 4d 85 f6 test %r14,%r14 | |
8d: b8 01 00 00 00 mov $0x1,%eax | |
92: 74 0c je a0 <st_lookup+0xa0> | |
94: 48 8b 43 10 mov 0x10(%rbx),%rax | |
98: 49 89 06 mov %rax,(%r14) | |
9b: b8 01 00 00 00 mov $0x1,%eax | |
a0: 5b pop %rbx | |
a1: 5d pop %rbp |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment