Skip to content

Instantly share code, notes, and snippets.

@dvyukov
Created November 25, 2021 15:55
Show Gist options
  • Save dvyukov/d898e8abaffe5809d9a3ec517ec81ae6 to your computer and use it in GitHub Desktop.
Save dvyukov/d898e8abaffe5809d9a3ec517ec81ae6 to your computer and use it in GitHub Desktop.
00000000004ba450 <__tsan_read16>:
4ba450: 49 89 f9 mov %rdi,%r9
4ba453: 48 c7 c1 c0 f8 ff ff mov $0xfffffffffffff8c0,%rcx
4ba45a: 64 48 8b 79 28 mov %fs:0x28(%rcx),%rdi
4ba45f: 8b 17 mov (%rdi),%edx
4ba461: 85 d2 test %edx,%edx
4ba463: 0f 88 82 00 00 00 js 4ba4eb <__tsan_read16+0x9b>
4ba469: 4c 8b 04 24 mov (%rsp),%r8
4ba46d: 4b 8d 0c 09 lea (%r9,%r9,1),%rcx
4ba471: 48 b8 f0 ff ff ff ff movabs $0xffff0ffffffffff0,%rax
4ba478: 0f ff ff
4ba47b: 48 21 c8 and %rcx,%rax
4ba47e: 48 be 00 00 00 00 00 movabs $0x80000000000,%rsi
4ba485: 08 00 00
4ba488: 48 31 c6 xor %rax,%rsi
4ba48b: 81 ca ff 00 00 40 or $0x400000ff,%edx
4ba491: 66 0f 6e c2 movd %edx,%xmm0
4ba495: 66 0f 70 c8 00 pshufd $0x0,%xmm0,%xmm1
4ba49a: 66 0f 6f 06 movdqa (%rsi),%xmm0
4ba49e: 66 0f 6f 15 5a 74 02 movdqa 0x2745a(%rip),%xmm2 # 4e1900 <_ZN6__tsanL15kSuppressionLibE+0x4d80>
4ba4a5: 00
4ba4a6: 66 0f 6f d8 movdqa %xmm0,%xmm3
4ba4aa: 66 0f eb da por %xmm2,%xmm3
4ba4ae: 66 0f 76 d9 pcmpeqd %xmm1,%xmm3
4ba4b2: 66 0f 6f e0 movdqa %xmm0,%xmm4
4ba4b6: 66 0f 76 e2 pcmpeqd %xmm2,%xmm4
4ba4ba: 66 0f eb e3 por %xmm3,%xmm4
4ba4be: 0f 50 c4 movmskps %xmm4,%eax
4ba4c1: 85 c0 test %eax,%eax
4ba4c3: 74 27 je 4ba4ec <__tsan_read16+0x9c>
4ba4c5: 31 c9 xor %ecx,%ecx
4ba4c7: 66 0f 6f 46 10 movdqa 0x10(%rsi),%xmm0
4ba4cc: 66 0f 6f d8 movdqa %xmm0,%xmm3
4ba4d0: 66 0f eb da por %xmm2,%xmm3
4ba4d4: 66 0f 76 d9 pcmpeqd %xmm1,%xmm3
4ba4d8: 66 0f 76 d0 pcmpeqd %xmm0,%xmm2
4ba4dc: 66 0f eb d3 por %xmm3,%xmm2
4ba4e0: 0f 50 c2 movmskps %xmm2,%eax
4ba4e3: 85 c0 test %eax,%eax
4ba4e5: 0f 84 de 00 00 00 je 4ba5c9 <__tsan_read16+0x179>
4ba4eb: c3 ret
4ba4ec: 48 8b 4f 18 mov 0x18(%rdi),%rcx
4ba4f0: 8d 41 08 lea 0x8(%rcx),%eax
4ba4f3: a9 f0 0f 00 00 test $0xff0,%eax
4ba4f8: 0f 84 9b 01 00 00 je 4ba699 <__tsan_read16+0x249>
4ba4fe: 4c 89 47 20 mov %r8,0x20(%rdi)
4ba502: 4c 89 c0 mov %r8,%rax
4ba505: 48 c1 e0 14 shl $0x14,%rax
4ba509: 49 ba ff ff ff ff ff movabs $0xfffffffffff,%r10
4ba510: 0f 00 00
4ba513: 4d 21 ca and %r9,%r10
4ba516: 48 0d 24 08 00 00 or $0x824,%rax
4ba51c: 4c 89 51 08 mov %r10,0x8(%rcx)
4ba520: 48 89 01 mov %rax,(%rcx)
4ba523: 48 83 c1 10 add $0x10,%rcx
4ba527: 48 89 4f 18 mov %rcx,0x18(%rdi)
4ba52b: 66 0f 6f f0 movdqa %xmm0,%xmm6
4ba52f: 66 0f db f1 pand %xmm1,%xmm6
4ba533: 66 0f 6f d8 movdqa %xmm0,%xmm3
4ba537: 66 0f ef d9 pxor %xmm1,%xmm3
4ba53b: 66 0f 6f 3d cd 73 02 movdqa 0x273cd(%rip),%xmm7 # 4e1910 <_ZN6__tsanL15kSuppressionLibE+0x4d90>
4ba542: 00
4ba543: 66 0f db fe pand %xmm6,%xmm7
4ba547: 66 45 0f ef c0 pxor %xmm8,%xmm8
4ba54c: 66 41 0f 76 f8 pcmpeqd %xmm8,%xmm7
4ba551: 66 0f 6f 2d c7 73 02 movdqa 0x273c7(%rip),%xmm5 # 4e1920 <_ZN6__tsanL15kSuppressionLibE+0x4da0>
4ba558: 00
4ba559: 66 0f db eb pand %xmm3,%xmm5
4ba55d: 66 41 0f 76 e8 pcmpeqd %xmm8,%xmm5
4ba562: 66 0f 6f 25 c6 73 02 movdqa 0x273c6(%rip),%xmm4 # 4e1930 <_ZN6__tsanL15kSuppressionLibE+0x4db0>
4ba569: 00
4ba56a: 66 0f 38 3b e6 pminud %xmm6,%xmm4
4ba56f: 66 0f 76 e6 pcmpeqd %xmm6,%xmm4
4ba573: 66 0f df fc pandn %xmm4,%xmm7
4ba577: 66 0f df ef pandn %xmm7,%xmm5
4ba57b: 0f 50 c5 movmskps %xmm5,%eax
4ba57e: 85 c0 test %eax,%eax
4ba580: 0f 85 d9 01 00 00 jne 4ba75f <__tsan_read16+0x30f>
4ba586: 66 41 0f 3a 0e d8 aa pblendw $0xaa,%xmm8,%xmm3
4ba58d: 66 41 0f 76 d8 pcmpeqd %xmm8,%xmm3
4ba592: 66 0f 6f 25 66 73 02 movdqa 0x27366(%rip),%xmm4 # 4e1900 <_ZN6__tsanL15kSuppressionLibE+0x4d80>
4ba599: 00
4ba59a: 66 0f 38 3f e0 pmaxud %xmm0,%xmm4
4ba59f: 66 0f 76 e0 pcmpeqd %xmm0,%xmm4
4ba5a3: 66 0f db e3 pand %xmm3,%xmm4
4ba5a7: 0f 50 c4 movmskps %xmm4,%eax
4ba5aa: 85 c0 test %eax,%eax
4ba5ac: 0f 84 54 02 00 00 je 4ba806 <__tsan_read16+0x3b6>
4ba5b2: 66 0f d7 c4 pmovmskb %xmm4,%eax
4ba5b6: 0f bc c8 bsf %eax,%ecx
4ba5b9: 83 c1 01 add $0x1,%ecx
4ba5bc: 83 e1 fc and $0xfffffffc,%ecx
4ba5bf: 89 14 0e mov %edx,(%rsi,%rcx,1)
4ba5c2: b1 01 mov $0x1,%cl
4ba5c4: e9 fe fe ff ff jmp 4ba4c7 <__tsan_read16+0x77>
4ba5c9: 84 c9 test %cl,%cl
4ba5cb: 75 3d jne 4ba60a <__tsan_read16+0x1ba>
4ba5cd: 48 8b 4f 18 mov 0x18(%rdi),%rcx
4ba5d1: 8d 41 08 lea 0x8(%rcx),%eax
4ba5d4: a9 f0 0f 00 00 test $0xff0,%eax
4ba5d9: 0f 84 ba 00 00 00 je 4ba699 <__tsan_read16+0x249>
4ba5df: 4c 89 47 20 mov %r8,0x20(%rdi)
4ba5e3: 49 c1 e0 14 shl $0x14,%r8
4ba5e7: 48 b8 ff ff ff ff ff movabs $0xfffffffffff,%rax
4ba5ee: 0f 00 00
4ba5f1: 49 21 c1 and %rax,%r9
4ba5f4: 49 81 c8 24 08 00 00 or $0x824,%r8
4ba5fb: 4c 89 49 08 mov %r9,0x8(%rcx)
4ba5ff: 4c 89 01 mov %r8,(%rcx)
4ba602: 48 83 c1 10 add $0x10,%rcx
4ba606: 48 89 4f 18 mov %rcx,0x18(%rdi)
4ba60a: 48 83 c6 10 add $0x10,%rsi
4ba60e: 66 0f 6f e0 movdqa %xmm0,%xmm4
4ba612: 66 0f db e1 pand %xmm1,%xmm4
4ba616: 66 0f ef c8 pxor %xmm0,%xmm1
4ba61a: 66 0f 6f 2d ee 72 02 movdqa 0x272ee(%rip),%xmm5 # 4e1910 <_ZN6__tsanL15kSuppressionLibE+0x4d90>
4ba621: 00
4ba622: 66 0f db ec pand %xmm4,%xmm5
4ba626: 66 0f ef d2 pxor %xmm2,%xmm2
4ba62a: 66 0f 76 ea pcmpeqd %xmm2,%xmm5
4ba62e: 66 0f 6f 1d ea 72 02 movdqa 0x272ea(%rip),%xmm3 # 4e1920 <_ZN6__tsanL15kSuppressionLibE+0x4da0>
4ba635: 00
4ba636: 66 0f db d9 pand %xmm1,%xmm3
4ba63a: 66 0f 76 da pcmpeqd %xmm2,%xmm3
4ba63e: 66 0f 6f 35 ea 72 02 movdqa 0x272ea(%rip),%xmm6 # 4e1930 <_ZN6__tsanL15kSuppressionLibE+0x4db0>
4ba645: 00
4ba646: 66 0f 38 3b f4 pminud %xmm4,%xmm6
4ba64b: 66 0f 76 f4 pcmpeqd %xmm4,%xmm6
4ba64f: 66 0f df ee pandn %xmm6,%xmm5
4ba653: 66 0f df dd pandn %xmm5,%xmm3
4ba657: 0f 50 c3 movmskps %xmm3,%eax
4ba65a: 85 c0 test %eax,%eax
4ba65c: 75 4b jne 4ba6a9 <__tsan_read16+0x259>
4ba65e: 66 0f 3a 0e ca aa pblendw $0xaa,%xmm2,%xmm1
4ba664: 66 0f 76 ca pcmpeqd %xmm2,%xmm1
4ba668: 66 0f 6f 15 90 72 02 movdqa 0x27290(%rip),%xmm2 # 4e1900 <_ZN6__tsanL15kSuppressionLibE+0x4d80>
4ba66f: 00
4ba670: 66 0f 38 3f d0 pmaxud %xmm0,%xmm2
4ba675: 66 0f 76 d0 pcmpeqd %xmm0,%xmm2
4ba679: 66 0f db d1 pand %xmm1,%xmm2
4ba67d: 0f 50 c2 movmskps %xmm2,%eax
4ba680: 85 c0 test %eax,%eax
4ba682: 0f 84 bb 00 00 00 je 4ba743 <__tsan_read16+0x2f3>
4ba688: 66 0f d7 c2 pmovmskb %xmm2,%eax
4ba68c: 0f bc c0 bsf %eax,%eax
4ba68f: 83 c0 01 add $0x1,%eax
4ba692: 83 e0 fc and $0xfffffffc,%eax
4ba695: 89 14 06 mov %edx,(%rsi,%rax,1)
4ba698: c3 ret
4ba699: b9 01 00 00 00 mov $0x1,%ecx
4ba69e: 4c 89 c6 mov %r8,%rsi
4ba6a1: 4c 89 ca mov %r9,%rdx
4ba6a4: e9 27 d9 ff ff jmp 4b7fd0 <_ZN6__tsan21RestartMemoryAccess16EPNS_11ThreadStateEmmm>
4ba6a9: 66 0f d7 c3 pmovmskb %xmm3,%eax
4ba6ad: a8 01 test $0x1,%al
4ba6af: 0f 84 69 01 00 00 je 4ba81e <__tsan_read16+0x3ce>
4ba6b5: 66 0f 3a 14 c1 01 pextrb $0x1,%xmm0,%ecx
4ba6bb: 0f b7 4c 4f 40 movzwl 0x40(%rdi,%rcx,2),%ecx
4ba6c0: c1 e1 10 shl $0x10,%ecx
4ba6c3: 66 0f 6f 1d 85 72 02 movdqa 0x27285(%rip),%xmm3 # 4e1950 <_ZN6__tsanL15kSuppressionLibE+0x4dd0>
4ba6ca: 00
4ba6cb: 66 0f 3a 22 d9 00 pinsrd $0x0,%ecx,%xmm3
4ba6d1: a8 10 test $0x10,%al
4ba6d3: 74 14 je 4ba6e9 <__tsan_read16+0x299>
4ba6d5: 66 0f 3a 14 c1 05 pextrb $0x5,%xmm0,%ecx
4ba6db: 0f b7 4c 4f 40 movzwl 0x40(%rdi,%rcx,2),%ecx
4ba6e0: c1 e1 10 shl $0x10,%ecx
4ba6e3: 66 0f 3a 22 d9 01 pinsrd $0x1,%ecx,%xmm3
4ba6e9: a9 00 01 00 00 test $0x100,%eax
4ba6ee: 74 14 je 4ba704 <__tsan_read16+0x2b4>
4ba6f0: 66 0f 3a 14 c1 09 pextrb $0x9,%xmm0,%ecx
4ba6f6: 0f b7 4c 4f 40 movzwl 0x40(%rdi,%rcx,2),%ecx
4ba6fb: c1 e1 10 shl $0x10,%ecx
4ba6fe: 66 0f 3a 22 d9 02 pinsrd $0x2,%ecx,%xmm3
4ba704: a9 00 10 00 00 test $0x1000,%eax
4ba709: 74 14 je 4ba71f <__tsan_read16+0x2cf>
4ba70b: 66 0f 3a 14 c0 0d pextrb $0xd,%xmm0,%eax
4ba711: 0f b7 44 47 40 movzwl 0x40(%rdi,%rax,2),%eax
4ba716: c1 e0 10 shl $0x10,%eax
4ba719: 66 0f 3a 22 d8 03 pinsrd $0x3,%eax,%xmm3
4ba71f: 66 0f 6f 25 39 72 02 movdqa 0x27239(%rip),%xmm4 # 4e1960 <_ZN6__tsanL15kSuppressionLibE+0x4de0>
4ba726: 00
4ba727: 66 0f db e0 pand %xmm0,%xmm4
4ba72b: 66 0f 66 e3 pcmpgtd %xmm3,%xmm4
4ba72f: 0f 50 c4 movmskps %xmm4,%eax
4ba732: 85 c0 test %eax,%eax
4ba734: 0f 84 24 ff ff ff je 4ba65e <__tsan_read16+0x20e>
4ba73a: 66 0f d7 c4 pmovmskb %xmm4,%eax
4ba73e: e9 b5 00 00 00 jmp 4ba7f8 <__tsan_read16+0x3a8>
4ba743: 66 0f ef c9 pxor %xmm1,%xmm1
4ba747: 66 0f 76 c1 pcmpeqd %xmm1,%xmm0
4ba74b: 0f 50 c0 movmskps %xmm0,%eax
4ba74e: 85 c0 test %eax,%eax
4ba750: 0f 84 dd 00 00 00 je 4ba833 <__tsan_read16+0x3e3>
4ba756: 66 0f d7 c0 pmovmskb %xmm0,%eax
4ba75a: e9 2d ff ff ff jmp 4ba68c <__tsan_read16+0x23c>
4ba75f: 66 0f d7 cd pmovmskb %xmm5,%ecx
4ba763: f6 c1 01 test $0x1,%cl
4ba766: 0f 84 d7 00 00 00 je 4ba843 <__tsan_read16+0x3f3>
4ba76c: 66 0f 3a 14 c0 01 pextrb $0x1,%xmm0,%eax
4ba772: 0f b7 44 47 40 movzwl 0x40(%rdi,%rax,2),%eax
4ba777: c1 e0 10 shl $0x10,%eax
4ba77a: 66 0f 6f 2d ce 71 02 movdqa 0x271ce(%rip),%xmm5 # 4e1950 <_ZN6__tsanL15kSuppressionLibE+0x4dd0>
4ba781: 00
4ba782: 66 0f 3a 22 e8 00 pinsrd $0x0,%eax,%xmm5
4ba788: f6 c1 10 test $0x10,%cl
4ba78b: 74 14 je 4ba7a1 <__tsan_read16+0x351>
4ba78d: 66 0f 3a 14 c0 05 pextrb $0x5,%xmm0,%eax
4ba793: 0f b7 44 47 40 movzwl 0x40(%rdi,%rax,2),%eax
4ba798: c1 e0 10 shl $0x10,%eax
4ba79b: 66 0f 3a 22 e8 01 pinsrd $0x1,%eax,%xmm5
4ba7a1: f7 c1 00 01 00 00 test $0x100,%ecx
4ba7a7: 74 14 je 4ba7bd <__tsan_read16+0x36d>
4ba7a9: 66 0f 3a 14 c0 09 pextrb $0x9,%xmm0,%eax
4ba7af: 0f b7 44 47 40 movzwl 0x40(%rdi,%rax,2),%eax
4ba7b4: c1 e0 10 shl $0x10,%eax
4ba7b7: 66 0f 3a 22 e8 02 pinsrd $0x2,%eax,%xmm5
4ba7bd: f7 c1 00 10 00 00 test $0x1000,%ecx
4ba7c3: 74 14 je 4ba7d9 <__tsan_read16+0x389>
4ba7c5: 66 0f 3a 14 c0 0d pextrb $0xd,%xmm0,%eax
4ba7cb: 0f b7 44 47 40 movzwl 0x40(%rdi,%rax,2),%eax
4ba7d0: c1 e0 10 shl $0x10,%eax
4ba7d3: 66 0f 3a 22 e8 03 pinsrd $0x3,%eax,%xmm5
4ba7d9: 66 0f 6f 35 7f 71 02 movdqa 0x2717f(%rip),%xmm6 # 4e1960 <_ZN6__tsanL15kSuppressionLibE+0x4de0>
4ba7e0: 00
4ba7e1: 66 0f db f0 pand %xmm0,%xmm6
4ba7e5: 66 0f 66 f5 pcmpgtd %xmm5,%xmm6
4ba7e9: 0f 50 c6 movmskps %xmm6,%eax
4ba7ec: 85 c0 test %eax,%eax
4ba7ee: 0f 84 92 fd ff ff je 4ba586 <__tsan_read16+0x136>
4ba7f4: 66 0f d7 c6 pmovmskb %xmm6,%eax
4ba7f8: 0f b7 c8 movzwl %ax,%ecx
4ba7fb: 41 b8 01 00 00 00 mov $0x1,%r8d
4ba801: e9 da cf ff ff jmp 4b77e0 <_ZN6__tsan13DoReportRaceVEPNS_11ThreadStateEPNS_9RawShadowENS_6ShadowEjDv2_xm>
4ba806: 66 0f ef db pxor %xmm3,%xmm3
4ba80a: 66 0f 76 c3 pcmpeqd %xmm3,%xmm0
4ba80e: 0f 50 c0 movmskps %xmm0,%eax
4ba811: 85 c0 test %eax,%eax
4ba813: 74 44 je 4ba859 <__tsan_read16+0x409>
4ba815: 66 0f d7 c0 pmovmskb %xmm0,%eax
4ba819: e9 98 fd ff ff jmp 4ba5b6 <__tsan_read16+0x166>
4ba81e: 66 0f 6f 1d 1a 71 02 movdqa 0x2711a(%rip),%xmm3 # 4e1940 <_ZN6__tsanL15kSuppressionLibE+0x4dc0>
4ba825: 00
4ba826: a8 10 test $0x10,%al
4ba828: 0f 85 a7 fe ff ff jne 4ba6d5 <__tsan_read16+0x285>
4ba82e: e9 b6 fe ff ff jmp 4ba6e9 <__tsan_read16+0x299>
4ba833: 48 8b 47 18 mov 0x18(%rdi),%rax
4ba837: d1 e8 shr %eax
4ba839: 83 e0 0f and $0xf,%eax
4ba83c: 83 e0 fc and $0xfffffffc,%eax
4ba83f: 89 14 06 mov %edx,(%rsi,%rax,1)
4ba842: c3 ret
4ba843: 66 0f 6f 2d f5 70 02 movdqa 0x270f5(%rip),%xmm5 # 4e1940 <_ZN6__tsanL15kSuppressionLibE+0x4dc0>
4ba84a: 00
4ba84b: f6 c1 10 test $0x10,%cl
4ba84e: 0f 85 39 ff ff ff jne 4ba78d <__tsan_read16+0x33d>
4ba854: e9 48 ff ff ff jmp 4ba7a1 <__tsan_read16+0x351>
4ba859: 48 8b 4f 18 mov 0x18(%rdi),%rcx
4ba85d: d1 e9 shr %ecx
4ba85f: 83 e1 0f and $0xf,%ecx
4ba862: e9 55 fd ff ff jmp 4ba5bc <__tsan_read16+0x16c>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment