Skip to content

Instantly share code, notes, and snippets.

@fsaintjacques
Last active September 11, 2015 13:49
Show Gist options
  • Save fsaintjacques/d56573377dadef75c9c8 to your computer and use it in GitHub Desktop.
Save fsaintjacques/d56573377dadef75c9c8 to your computer and use it in GitHub Desktop.
0000000000000550 <tw_bitmap_xor>:
550: 44 8b 07 mov (%rdi),%r8d
553: 31 c0 xor %eax,%eax
555: 44 3b 06 cmp (%rsi),%r8d
558: 75 3b jne 595 <tw_bitmap_xor+0x45>
55a: 49 83 c0 3f add $0x3f,%r8
55e: 49 c1 e8 06 shr $0x6,%r8
562: 74 32 je 596 <tw_bitmap_xor+0x46>
564: 31 d2 xor %edx,%edx
566: 31 c9 xor %ecx,%ecx
568: 0f 1f 84 00 00 00 00 nopl 0x0(%rax,%rax,1)
56f: 00
570: 48 8b 44 d6 08 mov 0x8(%rsi,%rdx,8),%rax
575: 48 33 44 d7 08 xor 0x8(%rdi,%rdx,8),%rax
57a: 48 89 44 d6 08 mov %rax,0x8(%rsi,%rdx,8)
57f: 48 83 c2 01 add $0x1,%rdx
583: f3 48 0f b8 c0 popcnt %rax,%rax
588: 01 c1 add %eax,%ecx
58a: 4c 39 c2 cmp %r8,%rdx
58d: 75 e1 jne 570 <tw_bitmap_xor+0x20>
58f: 89 4e 04 mov %ecx,0x4(%rsi)
592: 48 89 f0 mov %rsi,%rax
595: c3 retq
596: 31 c9 xor %ecx,%ecx
598: eb f5 jmp 58f <tw_bitmap_xor+0x3f>
0000000000000550 <tw_bitmap_xor>:
550: 4c 8d 54 24 08 lea 0x8(%rsp),%r10
555: 48 83 e4 e0 and $0xffffffffffffffe0,%rsp
559: 31 c0 xor %eax,%eax
55b: 41 ff 72 f8 pushq -0x8(%r10)
55f: 55 push %rbp
560: 48 89 e5 mov %rsp,%rbp
563: 41 55 push %r13
565: 41 54 push %r12
567: 41 52 push %r10
569: 53 push %rbx
56a: 8b 17 mov (%rdi),%edx
56c: 3b 16 cmp (%rsi),%edx
56e: 0f 85 45 01 00 00 jne 6b9 <tw_bitmap_xor+0x169>
574: 48 83 c2 3f add $0x3f,%rdx
578: 48 c1 ea 06 shr $0x6,%rdx
57c: 0f 84 73 01 00 00 je 6f5 <tw_bitmap_xor+0x1a5>
582: 4c 8d 47 08 lea 0x8(%rdi),%r8
586: 48 8d 4e 28 lea 0x28(%rsi),%rcx
58a: 48 8d 46 08 lea 0x8(%rsi),%rax
58e: 49 39 c8 cmp %rcx,%r8
591: 48 8d 4f 28 lea 0x28(%rdi),%rcx
595: 41 0f 93 c0 setae %r8b
599: 48 39 c8 cmp %rcx,%rax
59c: 0f 93 c1 setae %cl
59f: 41 08 c8 or %cl,%r8b
5a2: 0f 84 30 01 00 00 je 6d8 <tw_bitmap_xor+0x188>
5a8: 48 83 fa 08 cmp $0x8,%rdx
5ac: 0f 86 26 01 00 00 jbe 6d8 <tw_bitmap_xor+0x188>
5b2: 48 89 c1 mov %rax,%rcx
5b5: 83 e1 1f and $0x1f,%ecx
5b8: 48 c1 e9 03 shr $0x3,%rcx
5bc: 48 f7 d9 neg %rcx
5bf: 83 e1 03 and $0x3,%ecx
5c2: 48 39 d1 cmp %rdx,%rcx
5c5: 48 0f 47 ca cmova %rdx,%rcx
5c9: 45 31 c0 xor %r8d,%r8d
5cc: 48 85 c9 test %rcx,%rcx
5cf: 74 36 je 607 <tw_bitmap_xor+0xb7>
5d1: 4c 8b 47 08 mov 0x8(%rdi),%r8
5d5: 4c 31 46 08 xor %r8,0x8(%rsi)
5d9: 41 b8 01 00 00 00 mov $0x1,%r8d
5df: 48 83 f9 01 cmp $0x1,%rcx
5e3: 74 22 je 607 <tw_bitmap_xor+0xb7>
5e5: 4c 8b 47 10 mov 0x10(%rdi),%r8
5e9: 4c 31 46 10 xor %r8,0x10(%rsi)
5ed: 41 b8 02 00 00 00 mov $0x2,%r8d
5f3: 48 83 f9 03 cmp $0x3,%rcx
5f7: 75 0e jne 607 <tw_bitmap_xor+0xb7>
5f9: 4c 8b 47 18 mov 0x18(%rdi),%r8
5fd: 4c 31 46 18 xor %r8,0x18(%rsi)
601: 41 b8 03 00 00 00 mov $0x3,%r8d
607: 49 89 d3 mov %rdx,%r11
60a: 31 db xor %ebx,%ebx
60c: 49 29 cb sub %rcx,%r11
60f: 4d 8d 4b fc lea -0x4(%r11),%r9
613: 48 8d 0c cd 08 00 00 lea 0x8(,%rcx,8),%rcx
61a: 00
61b: 49 c1 e9 02 shr $0x2,%r9
61f: 4c 8d 2c 0e lea (%rsi,%rcx,1),%r13
623: 49 83 c1 01 add $0x1,%r9
627: 4c 8d 14 0f lea (%rdi,%rcx,1),%r10
62b: 31 c9 xor %ecx,%ecx
62d: 4e 8d 24 8d 00 00 00 lea 0x0(,%r9,4),%r12
634: 00
635: 48 83 c3 01 add $0x1,%rbx
639: c4 c1 7e 6f 04 0a vmovdqu (%r10,%rcx,1),%ymm0
63f: c4 c1 7d ef 44 0d 00 vpxor 0x0(%r13,%rcx,1),%ymm0,%ymm0
646: c4 c1 7d 7f 44 0d 00 vmovdqa %ymm0,0x0(%r13,%rcx,1)
64d: 48 83 c1 20 add $0x20,%rcx
651: 4c 39 cb cmp %r9,%rbx
654: 72 df jb 635 <tw_bitmap_xor+0xe5>
656: 4b 8d 0c 20 lea (%r8,%r12,1),%rcx
65a: 4d 39 e3 cmp %r12,%r11
65d: 74 71 je 6d0 <tw_bitmap_xor+0x180>
65f: 4c 8b 44 cf 08 mov 0x8(%rdi,%rcx,8),%r8
664: 4c 31 44 ce 08 xor %r8,0x8(%rsi,%rcx,8)
669: 4c 8d 41 01 lea 0x1(%rcx),%r8
66d: 49 39 d0 cmp %rdx,%r8
670: 73 5e jae 6d0 <tw_bitmap_xor+0x180>
672: 48 83 c1 02 add $0x2,%rcx
676: 4e 8b 4c c7 08 mov 0x8(%rdi,%r8,8),%r9
67b: 4e 31 4c c6 08 xor %r9,0x8(%rsi,%r8,8)
680: 48 39 ca cmp %rcx,%rdx
683: 76 4b jbe 6d0 <tw_bitmap_xor+0x180>
685: 48 8b 7c cf 08 mov 0x8(%rdi,%rcx,8),%rdi
68a: 48 31 7c ce 08 xor %rdi,0x8(%rsi,%rcx,8)
68f: c5 f8 77 vzeroupper
692: 48 8d 7c d6 08 lea 0x8(%rsi,%rdx,8),%rdi
697: 31 d2 xor %edx,%edx
699: 0f 1f 80 00 00 00 00 nopl 0x0(%rax)
6a0: 31 c9 xor %ecx,%ecx
6a2: 48 83 c0 08 add $0x8,%rax
6a6: f3 48 0f b8 48 f8 popcnt -0x8(%rax),%rcx
6ac: 01 ca add %ecx,%edx
6ae: 48 39 f8 cmp %rdi,%rax
6b1: 75 ed jne 6a0 <tw_bitmap_xor+0x150>
6b3: 89 56 04 mov %edx,0x4(%rsi)
6b6: 48 89 f0 mov %rsi,%rax
6b9: 5b pop %rbx
6ba: 41 5a pop %r10
6bc: 41 5c pop %r12
6be: 41 5d pop %r13
6c0: 5d pop %rbp
6c1: 49 8d 62 f8 lea -0x8(%r10),%rsp
6c5: c3 retq
6c6: 66 2e 0f 1f 84 00 00 nopw %cs:0x0(%rax,%rax,1)
6cd: 00 00 00
6d0: c5 f8 77 vzeroupper
6d3: eb bd jmp 692 <tw_bitmap_xor+0x142>
6d5: 0f 1f 00 nopl (%rax)
6d8: 31 c9 xor %ecx,%ecx
6da: 66 0f 1f 44 00 00 nopw 0x0(%rax,%rax,1)
6e0: 4c 8b 44 cf 08 mov 0x8(%rdi,%rcx,8),%r8
6e5: 4c 31 44 ce 08 xor %r8,0x8(%rsi,%rcx,8)
6ea: 48 83 c1 01 add $0x1,%rcx
6ee: 48 39 ca cmp %rcx,%rdx
6f1: 75 ed jne 6e0 <tw_bitmap_xor+0x190>
6f3: eb 9d jmp 692 <tw_bitmap_xor+0x142>
6f5: 31 d2 xor %edx,%edx
6f7: eb ba jmp 6b3 <tw_bitmap_xor+0x163>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment