Skip to content

Instantly share code, notes, and snippets.

@jaspervdj
Created February 19, 2013 14:37
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save jaspervdj/4986452 to your computer and use it in GitHub Desktop.
Save jaspervdj/4986452 to your computer and use it in GitHub Desktop.
Dissassembly of hashable_siphash24_sse2:
Dump of assembler code for function hashable_siphash24_sse2:
0x088ed150 <hashable_siphash24_sse2+0>: push %ebp
0x088ed151 <hashable_siphash24_sse2+1>: xor %eax,%eax
0x088ed153 <hashable_siphash24_sse2+3>: mov %esp,%ebp
0x088ed155 <hashable_siphash24_sse2+5>: and $0xfffffff0,%esp
0x088ed158 <hashable_siphash24_sse2+8>: push %ebx
0x088ed159 <hashable_siphash24_sse2+9>: sub $0x2c,%esp
0x088ed15c <hashable_siphash24_sse2+12>: mov 0x1c(%ebp),%ebx
0x088ed15f <hashable_siphash24_sse2+15>: movq 0x8(%ebp),%xmm2
0x088ed164 <hashable_siphash24_sse2+20>: movq 0x10(%ebp),%xmm1
0x088ed169 <hashable_siphash24_sse2+25>: movdqu 0x8d5a900,%xmm3
0x088ed171 <hashable_siphash24_sse2+33>: movdqu 0x8d5a910,%xmm0
0x088ed179 <hashable_siphash24_sse2+41>: pxor %xmm2,%xmm3
0x088ed17d <hashable_siphash24_sse2+45>: pxor %xmm1,%xmm0
0x088ed181 <hashable_siphash24_sse2+49>: movdqu 0x8d5a920,%xmm4
0x088ed189 <hashable_siphash24_sse2+57>: mov 0x18(%ebp),%edx
0x088ed18c <hashable_siphash24_sse2+60>: pxor %xmm2,%xmm4
0x088ed190 <hashable_siphash24_sse2+64>: mov %ebx,%ecx
0x088ed192 <hashable_siphash24_sse2+66>: movdqu 0x8d5a930,%xmm2
0x088ed19a <hashable_siphash24_sse2+74>: pxor %xmm2,%xmm1
0x088ed19e <hashable_siphash24_sse2+78>: and $0xfffffff8,%ecx
0x088ed1a1 <hashable_siphash24_sse2+81>: je 0x88ed28a <hashable_siphash24_sse2+314>
0x088ed1a7 <hashable_siphash24_sse2+87>: nop
0x088ed1a8 <hashable_siphash24_sse2+88>: movq (%edx,%eax,1),%xmm2
0x088ed1ad <hashable_siphash24_sse2+93>: paddq %xmm0,%xmm3
0x088ed1b1 <hashable_siphash24_sse2+97>: pxor %xmm2,%xmm1
0x088ed1b5 <hashable_siphash24_sse2+101>: movdqa %xmm0,%xmm5
0x088ed1b9 <hashable_siphash24_sse2+105>: paddq %xmm1,%xmm4
0x088ed1bd <hashable_siphash24_sse2+109>: psrlq $0x33,%xmm5
0x088ed1c2 <hashable_siphash24_sse2+114>: psllq $0xd,%xmm0
0x088ed1c7 <hashable_siphash24_sse2+119>: pshuflw $0x93,%xmm1,%xmm1
0x088ed1cc <hashable_siphash24_sse2+124>: pxor %xmm4,%xmm1
0x088ed1d0 <hashable_siphash24_sse2+128>: pxor %xmm5,%xmm0
0x088ed1d4 <hashable_siphash24_sse2+132>: pxor %xmm3,%xmm0
0x088ed1d8 <hashable_siphash24_sse2+136>: paddq %xmm0,%xmm4
0x088ed1dc <hashable_siphash24_sse2+140>: movdqa %xmm0,%xmm5
0x088ed1e0 <hashable_siphash24_sse2+144>: psllq $0x11,%xmm0
0x088ed1e5 <hashable_siphash24_sse2+149>: psrlq $0x2f,%xmm5
0x088ed1ea <hashable_siphash24_sse2+154>: pxor %xmm5,%xmm0
0x088ed1ee <hashable_siphash24_sse2+158>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed1f3 <hashable_siphash24_sse2+163>: movdqa %xmm1,%xmm5
0x088ed1f7 <hashable_siphash24_sse2+167>: paddq %xmm1,%xmm3
0x088ed1fb <hashable_siphash24_sse2+171>: psrlq $0x2b,%xmm5
0x088ed200 <hashable_siphash24_sse2+176>: pxor %xmm4,%xmm0
0x088ed204 <hashable_siphash24_sse2+180>: psllq $0x15,%xmm1
0x088ed209 <hashable_siphash24_sse2+185>: pshuflw $0x4e,%xmm4,%xmm4
0x088ed20e <hashable_siphash24_sse2+190>: add $0x8,%eax
0x088ed211 <hashable_siphash24_sse2+193>: pxor %xmm5,%xmm1
0x088ed215 <hashable_siphash24_sse2+197>: movdqa %xmm0,%xmm5
0x088ed219 <hashable_siphash24_sse2+201>: pxor %xmm3,%xmm1
0x088ed21d <hashable_siphash24_sse2+205>: psrlq $0x33,%xmm5
0x088ed222 <hashable_siphash24_sse2+210>: paddq %xmm0,%xmm3
0x088ed226 <hashable_siphash24_sse2+214>: paddq %xmm1,%xmm4
0x088ed22a <hashable_siphash24_sse2+218>: psllq $0xd,%xmm0
0x088ed22f <hashable_siphash24_sse2+223>: pshuflw $0x93,%xmm1,%xmm1
0x088ed234 <hashable_siphash24_sse2+228>: pxor %xmm5,%xmm0
0x088ed238 <hashable_siphash24_sse2+232>: pxor %xmm4,%xmm1
0x088ed23c <hashable_siphash24_sse2+236>: pxor %xmm3,%xmm0
0x088ed240 <hashable_siphash24_sse2+240>: paddq %xmm0,%xmm4
0x088ed244 <hashable_siphash24_sse2+244>: movdqa %xmm0,%xmm5
0x088ed248 <hashable_siphash24_sse2+248>: psllq $0x11,%xmm0
0x088ed24d <hashable_siphash24_sse2+253>: psrlq $0x2f,%xmm5
0x088ed252 <hashable_siphash24_sse2+258>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed257 <hashable_siphash24_sse2+263>: cmp %ecx,%eax
0x088ed259 <hashable_siphash24_sse2+265>: paddq %xmm1,%xmm3
0x088ed25d <hashable_siphash24_sse2+269>: pxor %xmm5,%xmm0
0x088ed261 <hashable_siphash24_sse2+273>: movdqa %xmm1,%xmm5
0x088ed265 <hashable_siphash24_sse2+277>: psllq $0x15,%xmm1
0x088ed26a <hashable_siphash24_sse2+282>: psrlq $0x2b,%xmm5
0x088ed26f <hashable_siphash24_sse2+287>: pxor %xmm4,%xmm0
0x088ed273 <hashable_siphash24_sse2+291>: pxor %xmm5,%xmm1
0x088ed277 <hashable_siphash24_sse2+295>: pshuflw $0x4e,%xmm4,%xmm4
0x088ed27c <hashable_siphash24_sse2+300>: pxor %xmm3,%xmm1
0x088ed280 <hashable_siphash24_sse2+304>: pxor %xmm2,%xmm3
0x088ed284 <hashable_siphash24_sse2+308>: jb 0x88ed1a8 <hashable_siphash24_sse2+88>
0x088ed28a <hashable_siphash24_sse2+314>: movq (%edx,%eax,1),%xmm2
0x088ed28f <hashable_siphash24_sse2+319>: mov %ebx,%edx
0x088ed291 <hashable_siphash24_sse2+321>: mov $0x8,%eax
0x088ed296 <hashable_siphash24_sse2+326>: and $0x7,%edx
0x088ed299 <hashable_siphash24_sse2+329>: movdqu 0x8d5a940,%xmm5
0x088ed2a1 <hashable_siphash24_sse2+337>: paddq %xmm0,%xmm3
0x088ed2a5 <hashable_siphash24_sse2+341>: sub %edx,%eax
0x088ed2a7 <hashable_siphash24_sse2+343>: shl $0x3,%eax
0x088ed2aa <hashable_siphash24_sse2+346>: mov %eax,(%esp)
0x088ed2ad <hashable_siphash24_sse2+349>: shl $0x18,%ebx
0x088ed2b0 <hashable_siphash24_sse2+352>: movd (%esp),%xmm6
0x088ed2b5 <hashable_siphash24_sse2+357>: mov %ebx,(%esp)
0x088ed2b8 <hashable_siphash24_sse2+360>: psrlq %xmm6,%xmm5
0x088ed2bc <hashable_siphash24_sse2+364>: pand %xmm5,%xmm2
0x088ed2c0 <hashable_siphash24_sse2+368>: movd (%esp),%xmm5
0x088ed2c5 <hashable_siphash24_sse2+373>: pshufd $0x51,%xmm5,%xmm5
0x088ed2ca <hashable_siphash24_sse2+378>: pxor %xmm5,%xmm2
0x088ed2ce <hashable_siphash24_sse2+382>: movdqa %xmm0,%xmm5
0x088ed2d2 <hashable_siphash24_sse2+386>: pxor %xmm2,%xmm1
0x088ed2d6 <hashable_siphash24_sse2+390>: psrlq $0x33,%xmm5
0x088ed2db <hashable_siphash24_sse2+395>: paddq %xmm1,%xmm4
0x088ed2df <hashable_siphash24_sse2+399>: psllq $0xd,%xmm0
0x088ed2e4 <hashable_siphash24_sse2+404>: pxor %xmm5,%xmm0
0x088ed2e8 <hashable_siphash24_sse2+408>: pshuflw $0x93,%xmm1,%xmm5
0x088ed2ed <hashable_siphash24_sse2+413>: pxor %xmm3,%xmm0
0x088ed2f1 <hashable_siphash24_sse2+417>: pxor %xmm4,%xmm5
0x088ed2f5 <hashable_siphash24_sse2+421>: pshuflw $0x4e,%xmm3,%xmm1
0x088ed2fa <hashable_siphash24_sse2+426>: movdqa %xmm0,%xmm6
0x088ed2fe <hashable_siphash24_sse2+430>: movdqa %xmm4,%xmm3
0x088ed302 <hashable_siphash24_sse2+434>: psrlq $0x2f,%xmm6
0x088ed307 <hashable_siphash24_sse2+439>: movdqa %xmm5,%xmm4
0x088ed30b <hashable_siphash24_sse2+443>: paddq %xmm1,%xmm4
0x088ed30f <hashable_siphash24_sse2+447>: movdqa %xmm0,%xmm1
0x088ed313 <hashable_siphash24_sse2+451>: psllq $0x11,%xmm1
0x088ed318 <hashable_siphash24_sse2+456>: paddq %xmm0,%xmm3
0x088ed31c <hashable_siphash24_sse2+460>: pxor %xmm6,%xmm1
0x088ed320 <hashable_siphash24_sse2+464>: movdqa %xmm5,%xmm0
0x088ed324 <hashable_siphash24_sse2+468>: movdqa %xmm5,%xmm6
0x088ed328 <hashable_siphash24_sse2+472>: psllq $0x15,%xmm0
0x088ed32d <hashable_siphash24_sse2+477>: psrlq $0x2b,%xmm6
0x088ed332 <hashable_siphash24_sse2+482>: pxor %xmm3,%xmm1
0x088ed336 <hashable_siphash24_sse2+486>: pxor %xmm6,%xmm0
0x088ed33a <hashable_siphash24_sse2+490>: movdqa %xmm1,%xmm5
0x088ed33e <hashable_siphash24_sse2+494>: pxor %xmm4,%xmm0
0x088ed342 <hashable_siphash24_sse2+498>: psrlq $0x33,%xmm5
0x088ed347 <hashable_siphash24_sse2+503>: paddq %xmm1,%xmm4
0x088ed34b <hashable_siphash24_sse2+507>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed350 <hashable_siphash24_sse2+512>: psllq $0xd,%xmm1
0x088ed355 <hashable_siphash24_sse2+517>: paddq %xmm0,%xmm3
0x088ed359 <hashable_siphash24_sse2+521>: pxor %xmm5,%xmm1
0x088ed35d <hashable_siphash24_sse2+525>: pshuflw $0x93,%xmm0,%xmm0
0x088ed362 <hashable_siphash24_sse2+530>: pxor %xmm4,%xmm1
0x088ed366 <hashable_siphash24_sse2+534>: pxor %xmm3,%xmm0
0x088ed36a <hashable_siphash24_sse2+538>: movdqa %xmm1,%xmm5
0x088ed36e <hashable_siphash24_sse2+542>: paddq %xmm1,%xmm3
0x088ed372 <hashable_siphash24_sse2+546>: psrlq $0x2f,%xmm5
0x088ed377 <hashable_siphash24_sse2+551>: psllq $0x11,%xmm1
0x088ed37c <hashable_siphash24_sse2+556>: pshuflw $0x4e,%xmm4,%xmm4
0x088ed381 <hashable_siphash24_sse2+561>: pxor %xmm5,%xmm1
0x088ed385 <hashable_siphash24_sse2+565>: paddq %xmm0,%xmm4
0x088ed389 <hashable_siphash24_sse2+569>: movdqa %xmm0,%xmm5
0x088ed38d <hashable_siphash24_sse2+573>: psllq $0x15,%xmm0
0x088ed392 <hashable_siphash24_sse2+578>: psrlq $0x2b,%xmm5
0x088ed397 <hashable_siphash24_sse2+583>: pxor %xmm3,%xmm1
0x088ed39b <hashable_siphash24_sse2+587>: pxor %xmm4,%xmm2
0x088ed39f <hashable_siphash24_sse2+591>: pxor %xmm5,%xmm0
0x088ed3a3 <hashable_siphash24_sse2+595>: paddq %xmm1,%xmm2
0x088ed3a7 <hashable_siphash24_sse2+599>: pxor %xmm4,%xmm0
0x088ed3ab <hashable_siphash24_sse2+603>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed3b0 <hashable_siphash24_sse2+608>: movdqu 0x8d5a950,%xmm4
0x088ed3b8 <hashable_siphash24_sse2+616>: pxor %xmm4,%xmm3
0x088ed3bc <hashable_siphash24_sse2+620>: movdqa %xmm1,%xmm4
0x088ed3c0 <hashable_siphash24_sse2+624>: paddq %xmm0,%xmm3
0x088ed3c4 <hashable_siphash24_sse2+628>: psrlq $0x33,%xmm4
0x088ed3c9 <hashable_siphash24_sse2+633>: psllq $0xd,%xmm1
0x088ed3ce <hashable_siphash24_sse2+638>: pshuflw $0x93,%xmm0,%xmm0
0x088ed3d3 <hashable_siphash24_sse2+643>: pxor %xmm4,%xmm1
0x088ed3d7 <hashable_siphash24_sse2+647>: pxor %xmm3,%xmm0
0x088ed3db <hashable_siphash24_sse2+651>: pxor %xmm2,%xmm1
0x088ed3df <hashable_siphash24_sse2+655>: paddq %xmm1,%xmm3
0x088ed3e3 <hashable_siphash24_sse2+659>: movdqa %xmm1,%xmm4
0x088ed3e7 <hashable_siphash24_sse2+663>: psllq $0x11,%xmm1
0x088ed3ec <hashable_siphash24_sse2+668>: psrlq $0x2f,%xmm4
0x088ed3f1 <hashable_siphash24_sse2+673>: pshuflw $0x4e,%xmm2,%xmm2
0x088ed3f6 <hashable_siphash24_sse2+678>: paddq %xmm0,%xmm2
0x088ed3fa <hashable_siphash24_sse2+682>: pxor %xmm4,%xmm1
0x088ed3fe <hashable_siphash24_sse2+686>: movdqa %xmm0,%xmm4
0x088ed402 <hashable_siphash24_sse2+690>: psllq $0x15,%xmm0
0x088ed407 <hashable_siphash24_sse2+695>: psrlq $0x2b,%xmm4
0x088ed40c <hashable_siphash24_sse2+700>: pxor %xmm3,%xmm1
0x088ed410 <hashable_siphash24_sse2+704>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed415 <hashable_siphash24_sse2+709>: pxor %xmm4,%xmm0
0x088ed419 <hashable_siphash24_sse2+713>: movdqa %xmm1,%xmm4
0x088ed41d <hashable_siphash24_sse2+717>: pxor %xmm2,%xmm0
0x088ed421 <hashable_siphash24_sse2+721>: psrlq $0x33,%xmm4
0x088ed426 <hashable_siphash24_sse2+726>: paddq %xmm1,%xmm2
0x088ed42a <hashable_siphash24_sse2+730>: paddq %xmm0,%xmm3
0x088ed42e <hashable_siphash24_sse2+734>: psllq $0xd,%xmm1
0x088ed433 <hashable_siphash24_sse2+739>: pshuflw $0x93,%xmm0,%xmm0
0x088ed438 <hashable_siphash24_sse2+744>: pxor %xmm4,%xmm1
0x088ed43c <hashable_siphash24_sse2+748>: pxor %xmm3,%xmm0
0x088ed440 <hashable_siphash24_sse2+752>: pxor %xmm2,%xmm1
0x088ed444 <hashable_siphash24_sse2+756>: paddq %xmm1,%xmm3
0x088ed448 <hashable_siphash24_sse2+760>: movdqa %xmm1,%xmm4
0x088ed44c <hashable_siphash24_sse2+764>: psllq $0x11,%xmm1
0x088ed451 <hashable_siphash24_sse2+769>: psrlq $0x2f,%xmm4
0x088ed456 <hashable_siphash24_sse2+774>: pshuflw $0x4e,%xmm2,%xmm2
0x088ed45b <hashable_siphash24_sse2+779>: paddq %xmm0,%xmm2
0x088ed45f <hashable_siphash24_sse2+783>: pxor %xmm4,%xmm1
0x088ed463 <hashable_siphash24_sse2+787>: movdqa %xmm0,%xmm4
0x088ed467 <hashable_siphash24_sse2+791>: psllq $0x15,%xmm0
0x088ed46c <hashable_siphash24_sse2+796>: psrlq $0x2b,%xmm4
0x088ed471 <hashable_siphash24_sse2+801>: pxor %xmm3,%xmm1
0x088ed475 <hashable_siphash24_sse2+805>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed47a <hashable_siphash24_sse2+810>: pxor %xmm4,%xmm0
0x088ed47e <hashable_siphash24_sse2+814>: movdqa %xmm1,%xmm4
0x088ed482 <hashable_siphash24_sse2+818>: pxor %xmm2,%xmm0
0x088ed486 <hashable_siphash24_sse2+822>: psrlq $0x33,%xmm4
0x088ed48b <hashable_siphash24_sse2+827>: paddq %xmm1,%xmm2
0x088ed48f <hashable_siphash24_sse2+831>: paddq %xmm0,%xmm3
0x088ed493 <hashable_siphash24_sse2+835>: psllq $0xd,%xmm1
0x088ed498 <hashable_siphash24_sse2+840>: pshuflw $0x93,%xmm0,%xmm0
0x088ed49d <hashable_siphash24_sse2+845>: pxor %xmm4,%xmm1
0x088ed4a1 <hashable_siphash24_sse2+849>: pxor %xmm3,%xmm0
0x088ed4a5 <hashable_siphash24_sse2+853>: pxor %xmm2,%xmm1
0x088ed4a9 <hashable_siphash24_sse2+857>: paddq %xmm1,%xmm3
0x088ed4ad <hashable_siphash24_sse2+861>: movdqa %xmm1,%xmm4
0x088ed4b1 <hashable_siphash24_sse2+865>: psllq $0x11,%xmm1
0x088ed4b6 <hashable_siphash24_sse2+870>: psrlq $0x2f,%xmm4
0x088ed4bb <hashable_siphash24_sse2+875>: pshuflw $0x4e,%xmm2,%xmm2
0x088ed4c0 <hashable_siphash24_sse2+880>: paddq %xmm0,%xmm2
0x088ed4c4 <hashable_siphash24_sse2+884>: pxor %xmm4,%xmm1
0x088ed4c8 <hashable_siphash24_sse2+888>: movdqa %xmm0,%xmm4
0x088ed4cc <hashable_siphash24_sse2+892>: psllq $0x15,%xmm0
0x088ed4d1 <hashable_siphash24_sse2+897>: psrlq $0x2b,%xmm4
0x088ed4d6 <hashable_siphash24_sse2+902>: pxor %xmm3,%xmm1
0x088ed4da <hashable_siphash24_sse2+906>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed4df <hashable_siphash24_sse2+911>: pxor %xmm4,%xmm0
0x088ed4e3 <hashable_siphash24_sse2+915>: movdqa %xmm1,%xmm4
0x088ed4e7 <hashable_siphash24_sse2+919>: pxor %xmm2,%xmm0
0x088ed4eb <hashable_siphash24_sse2+923>: psrlq $0x33,%xmm4
0x088ed4f0 <hashable_siphash24_sse2+928>: paddq %xmm1,%xmm2
0x088ed4f4 <hashable_siphash24_sse2+932>: paddq %xmm0,%xmm3
0x088ed4f8 <hashable_siphash24_sse2+936>: psllq $0xd,%xmm1
0x088ed4fd <hashable_siphash24_sse2+941>: pshuflw $0x93,%xmm0,%xmm0
0x088ed502 <hashable_siphash24_sse2+946>: pxor %xmm4,%xmm1
0x088ed506 <hashable_siphash24_sse2+950>: pxor %xmm3,%xmm0
0x088ed50a <hashable_siphash24_sse2+954>: pxor %xmm2,%xmm1
0x088ed50e <hashable_siphash24_sse2+958>: paddq %xmm1,%xmm3
0x088ed512 <hashable_siphash24_sse2+962>: movdqa %xmm1,%xmm4
0x088ed516 <hashable_siphash24_sse2+966>: psllq $0x11,%xmm1
0x088ed51b <hashable_siphash24_sse2+971>: psrlq $0x2f,%xmm4
0x088ed520 <hashable_siphash24_sse2+976>: pshuflw $0x4e,%xmm2,%xmm2
0x088ed525 <hashable_siphash24_sse2+981>: paddq %xmm0,%xmm2
0x088ed529 <hashable_siphash24_sse2+985>: pxor %xmm1,%xmm4
0x088ed52d <hashable_siphash24_sse2+989>: movdqa %xmm0,%xmm1
0x088ed531 <hashable_siphash24_sse2+993>: psllq $0x15,%xmm0
0x088ed536 <hashable_siphash24_sse2+998>: psrlq $0x2b,%xmm1
0x088ed53b <hashable_siphash24_sse2+1003>: pxor %xmm1,%xmm0
0x088ed53f <hashable_siphash24_sse2+1007>: movdqa %xmm4,%xmm1
0x088ed543 <hashable_siphash24_sse2+1011>: pxor %xmm2,%xmm0
0x088ed547 <hashable_siphash24_sse2+1015>: pxor %xmm3,%xmm1
0x088ed54b <hashable_siphash24_sse2+1019>: pshuflw $0x4e,%xmm3,%xmm3
0x088ed550 <hashable_siphash24_sse2+1024>: pxor %xmm1,%xmm2
0x088ed554 <hashable_siphash24_sse2+1028>: pxor %xmm3,%xmm0
0x088ed558 <hashable_siphash24_sse2+1032>: pxor %xmm2,%xmm0
0x088ed55c <hashable_siphash24_sse2+1036>: movdqa %xmm0,(%esp)
0x088ed561 <hashable_siphash24_sse2+1041>: mov (%esp),%eax
0x088ed564 <hashable_siphash24_sse2+1044>: mov 0x4(%esp),%edx
0x088ed568 <hashable_siphash24_sse2+1048>: add $0x2c,%esp
0x088ed56b <hashable_siphash24_sse2+1051>: pop %ebx
0x088ed56c <hashable_siphash24_sse2+1052>: mov %ebp,%esp
0x088ed56e <hashable_siphash24_sse2+1054>: pop %ebp
0x088ed56f <hashable_siphash24_sse2+1055>: ret
End of assembler dump.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment