Path: blob/main/sys/crypto/openssl/amd64/x86_64-gf2m.S
39482 views
/* Do not modify. This file is auto-generated from x86_64-gf2m.pl. */1.text23.type _mul_1x1,@function4.align 165_mul_1x1:6.cfi_startproc7subq $128+8,%rsp8.cfi_adjust_cfa_offset 128+89movq $-1,%r910leaq (%rax,%rax,1),%rsi11shrq $3,%r912leaq (,%rax,4),%rdi13andq %rax,%r914leaq (,%rax,8),%r1215sarq $63,%rax16leaq (%r9,%r9,1),%r1017sarq $63,%rsi18leaq (,%r9,4),%r1119andq %rbp,%rax20sarq $63,%rdi21movq %rax,%rdx22shlq $63,%rax23andq %rbp,%rsi24shrq $1,%rdx25movq %rsi,%rcx26shlq $62,%rsi27andq %rbp,%rdi28shrq $2,%rcx29xorq %rsi,%rax30movq %rdi,%rbx31shlq $61,%rdi32xorq %rcx,%rdx33shrq $3,%rbx34xorq %rdi,%rax35xorq %rbx,%rdx3637movq %r9,%r1338movq $0,0(%rsp)39xorq %r10,%r1340movq %r9,8(%rsp)41movq %r11,%r1442movq %r10,16(%rsp)43xorq %r12,%r1444movq %r13,24(%rsp)4546xorq %r11,%r947movq %r11,32(%rsp)48xorq %r11,%r1049movq %r9,40(%rsp)50xorq %r11,%r1351movq %r10,48(%rsp)52xorq %r14,%r953movq %r13,56(%rsp)54xorq %r14,%r105556movq %r12,64(%rsp)57xorq %r14,%r1358movq %r9,72(%rsp)59xorq %r11,%r960movq %r10,80(%rsp)61xorq %r11,%r1062movq %r13,88(%rsp)6364xorq %r11,%r1365movq %r14,96(%rsp)66movq %r8,%rsi67movq %r9,104(%rsp)68andq %rbp,%rsi69movq %r10,112(%rsp)70shrq $4,%rbp71movq %r13,120(%rsp)72movq %r8,%rdi73andq %rbp,%rdi74shrq $4,%rbp7576movq (%rsp,%rsi,8),%xmm077movq %r8,%rsi78andq %rbp,%rsi79shrq $4,%rbp80movq (%rsp,%rdi,8),%rcx81movq %r8,%rdi82movq %rcx,%rbx83shlq $4,%rcx84andq %rbp,%rdi85movq (%rsp,%rsi,8),%xmm186shrq $60,%rbx87xorq %rcx,%rax88pslldq $1,%xmm189movq %r8,%rsi90shrq $4,%rbp91xorq %rbx,%rdx92andq %rbp,%rsi93shrq $4,%rbp94pxor %xmm1,%xmm095movq (%rsp,%rdi,8),%rcx96movq %r8,%rdi97movq %rcx,%rbx98shlq $12,%rcx99andq %rbp,%rdi100movq (%rsp,%rsi,8),%xmm1101shrq $52,%rbx102xorq %rcx,%rax103pslldq $2,%xmm1104movq %r8,%rsi105shrq $4,%rbp106xorq %rbx,%rdx107andq %rbp,%rsi108shrq $4,%rbp109pxor %xmm1,%xmm0110movq (%rsp,%rdi,8),%rcx111movq %r8,%rdi112movq %rcx,%rbx113shlq $20,%rcx114andq %rbp,%rdi115movq (%rsp,%rsi,8),%xmm1116shrq $44,%rbx117xorq %rcx,%rax118pslldq $3,%xmm1119movq %r8,%rsi120shrq $4,%rbp121xorq %rbx,%rdx122andq %rbp,%rsi123shrq $4,%rbp124pxor %xmm1,%xmm0125movq (%rsp,%rdi,8),%rcx126movq %r8,%rdi127movq %rcx,%rbx128shlq $28,%rcx129andq %rbp,%rdi130movq (%rsp,%rsi,8),%xmm1131shrq $36,%rbx132xorq %rcx,%rax133pslldq $4,%xmm1134movq %r8,%rsi135shrq $4,%rbp136xorq %rbx,%rdx137andq %rbp,%rsi138shrq $4,%rbp139pxor %xmm1,%xmm0140movq (%rsp,%rdi,8),%rcx141movq %r8,%rdi142movq %rcx,%rbx143shlq $36,%rcx144andq %rbp,%rdi145movq (%rsp,%rsi,8),%xmm1146shrq $28,%rbx147xorq %rcx,%rax148pslldq $5,%xmm1149movq %r8,%rsi150shrq $4,%rbp151xorq %rbx,%rdx152andq %rbp,%rsi153shrq $4,%rbp154pxor %xmm1,%xmm0155movq (%rsp,%rdi,8),%rcx156movq %r8,%rdi157movq %rcx,%rbx158shlq $44,%rcx159andq %rbp,%rdi160movq (%rsp,%rsi,8),%xmm1161shrq $20,%rbx162xorq %rcx,%rax163pslldq $6,%xmm1164movq %r8,%rsi165shrq $4,%rbp166xorq %rbx,%rdx167andq %rbp,%rsi168shrq $4,%rbp169pxor %xmm1,%xmm0170movq (%rsp,%rdi,8),%rcx171movq %r8,%rdi172movq %rcx,%rbx173shlq $52,%rcx174andq %rbp,%rdi175movq (%rsp,%rsi,8),%xmm1176shrq $12,%rbx177xorq %rcx,%rax178pslldq $7,%xmm1179movq %r8,%rsi180shrq $4,%rbp181xorq %rbx,%rdx182andq %rbp,%rsi183shrq $4,%rbp184pxor %xmm1,%xmm0185movq (%rsp,%rdi,8),%rcx186movq %rcx,%rbx187shlq $60,%rcx188.byte 102,72,15,126,198189shrq $4,%rbx190xorq %rcx,%rax191psrldq $8,%xmm0192xorq %rbx,%rdx193.byte 102,72,15,126,199194xorq %rsi,%rax195xorq %rdi,%rdx196197addq $128+8,%rsp198.cfi_adjust_cfa_offset -128-8199.byte 0xf3,0xc3200.Lend_mul_1x1:201.cfi_endproc202.size _mul_1x1,.-_mul_1x1203204.globl bn_GF2m_mul_2x2205.type bn_GF2m_mul_2x2,@function206.align 16207bn_GF2m_mul_2x2:208.cfi_startproc209movq %rsp,%rax210movq OPENSSL_ia32cap_P(%rip),%r10211btq $33,%r10212jnc .Lvanilla_mul_2x2213214.byte 102,72,15,110,198215.byte 102,72,15,110,201216.byte 102,72,15,110,210217.byte 102,73,15,110,216218movdqa %xmm0,%xmm4219movdqa %xmm1,%xmm5220.byte 102,15,58,68,193,0221pxor %xmm2,%xmm4222pxor %xmm3,%xmm5223.byte 102,15,58,68,211,0224.byte 102,15,58,68,229,0225xorps %xmm0,%xmm4226xorps %xmm2,%xmm4227movdqa %xmm4,%xmm5228pslldq $8,%xmm4229psrldq $8,%xmm5230pxor %xmm4,%xmm2231pxor %xmm5,%xmm0232movdqu %xmm2,0(%rdi)233movdqu %xmm0,16(%rdi)234.byte 0xf3,0xc3235236.align 16237.Lvanilla_mul_2x2:238leaq -136(%rsp),%rsp239.cfi_adjust_cfa_offset 8*17240movq %r14,80(%rsp)241.cfi_rel_offset %r14,8*10242movq %r13,88(%rsp)243.cfi_rel_offset %r13,8*11244movq %r12,96(%rsp)245.cfi_rel_offset %r12,8*12246movq %rbp,104(%rsp)247.cfi_rel_offset %rbp,8*13248movq %rbx,112(%rsp)249.cfi_rel_offset %rbx,8*14250.Lbody_mul_2x2:251movq %rdi,32(%rsp)252movq %rsi,40(%rsp)253movq %rdx,48(%rsp)254movq %rcx,56(%rsp)255movq %r8,64(%rsp)256257movq $0xf,%r8258movq %rsi,%rax259movq %rcx,%rbp260call _mul_1x1261movq %rax,16(%rsp)262movq %rdx,24(%rsp)263264movq 48(%rsp),%rax265movq 64(%rsp),%rbp266call _mul_1x1267movq %rax,0(%rsp)268movq %rdx,8(%rsp)269270movq 40(%rsp),%rax271movq 56(%rsp),%rbp272xorq 48(%rsp),%rax273xorq 64(%rsp),%rbp274call _mul_1x1275movq 0(%rsp),%rbx276movq 8(%rsp),%rcx277movq 16(%rsp),%rdi278movq 24(%rsp),%rsi279movq 32(%rsp),%rbp280281xorq %rdx,%rax282xorq %rcx,%rdx283xorq %rbx,%rax284movq %rbx,0(%rbp)285xorq %rdi,%rdx286movq %rsi,24(%rbp)287xorq %rsi,%rax288xorq %rsi,%rdx289xorq %rdx,%rax290movq %rdx,16(%rbp)291movq %rax,8(%rbp)292293movq 80(%rsp),%r14294.cfi_restore %r14295movq 88(%rsp),%r13296.cfi_restore %r13297movq 96(%rsp),%r12298.cfi_restore %r12299movq 104(%rsp),%rbp300.cfi_restore %rbp301movq 112(%rsp),%rbx302.cfi_restore %rbx303leaq 136(%rsp),%rsp304.cfi_adjust_cfa_offset -8*17305.Lepilogue_mul_2x2:306.byte 0xf3,0xc3307.Lend_mul_2x2:308.cfi_endproc309.size bn_GF2m_mul_2x2,.-bn_GF2m_mul_2x2310.byte 71,70,40,50,94,109,41,32,77,117,108,116,105,112,108,105,99,97,116,105,111,110,32,102,111,114,32,120,56,54,95,54,52,44,32,67,82,89,80,84,79,71,65,77,83,32,98,121,32,60,97,112,112,114,111,64,111,112,101,110,115,115,108,46,111,114,103,62,0311.align 16312.section ".note.gnu.property", "a"313.p2align 3314.long 1f - 0f315.long 4f - 1f316.long 53170:318# "GNU" encoded with .byte, since .asciz isn't supported319# on Solaris.320.byte 0x47321.byte 0x4e322.byte 0x55323.byte 03241:325.p2align 3326.long 0xc0000002327.long 3f - 2f3282:329.long 33303:331.p2align 33324:333334335