// File: /workspace/github_c_makefile_star2_O1/nh13[P]ksw/src/parasail/src/nw_striped_avx2_256_8.c
// Function: arr_store_si256
static inline void arr_store_si256(
        int *array,
        __m256i vH,
        int32_t t,
        int32_t seglen,
        int32_t d,
        int32_t dlen)
{
    array[1LL*( 0*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  0);
    array[1LL*( 1*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  1);
    array[1LL*( 2*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  2);
    array[1LL*( 3*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  3);
    array[1LL*( 4*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  4);
    array[1LL*( 5*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  5);
    array[1LL*( 6*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  6);
    array[1LL*( 7*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  7);
    array[1LL*( 8*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  8);
    array[1LL*( 9*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH,  9);
    array[1LL*(10*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 10);
    array[1LL*(11*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 11);
    array[1LL*(12*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 12);
    array[1LL*(13*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 13);
    array[1LL*(14*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 14);
    array[1LL*(15*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 15);
    array[1LL*(16*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 16);
    array[1LL*(17*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 17);
    array[1LL*(18*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 18);
    array[1LL*(19*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 19);
    array[1LL*(20*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 20);
    array[1LL*(21*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 21);
    array[1LL*(22*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 22);
    array[1LL*(23*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 23);
    array[1LL*(24*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 24);
    array[1LL*(25*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 25);
    array[1LL*(26*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 26);
    array[1LL*(27*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 27);
    array[1LL*(28*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 28);
    array[1LL*(29*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 29);
    array[1LL*(30*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 30);
    array[1LL*(31*seglen+t)*dlen + d] = (int8_t)_mm256_extract_epi8_rpl(vH, 31);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r13
pushq %r12
pushq %rbx
movl %ecx, -0x34(%rsp)
movl %edx, %ecx
movq %rdi, %rbx
vmovd %xmm0, %eax
movsbl %al, %r9d
movslq %esi, %rsi
movl %r8d, %edi
movq %rdi, %r12
leal (%rsi,%rcx,2), %r8d
movslq %r8d, %rbp
imulq %rdi, %rbp
leal (%rcx,%rcx,2), %r10d
leal (%r10,%rsi), %r8d
movslq %r8d, %r13
imulq %rdi, %r13
leal (%rsi,%rcx,4), %r8d
movslq %r8d, %r14
imulq %rdi, %r14
leal (%rcx,%rcx,4), %edx
movq %rdx, -0x30(%rsp)
leal (%rdx,%rsi), %r8d
movslq %r8d, %r11
imulq %rdi, %r11
leal (%rsi,%r10,2), %r8d
movq %r10, -0x8(%rsp)
movslq %r8d, %r15
imulq %rdi, %r15
movq %rdi, %r8
imulq %rsi, %r8
movslq -0x34(%rsp), %rdx
movq %rbx, %rax
leaq (%rbx,%r8,4), %r8
movl %r9d, (%r8,%rdx,4)
vpextrb $0x1, %xmm0, %r8d
movsbl %r8b, %r8d
leal (%rcx,%rsi), %r9d
movslq %r9d, %rbx
imulq %rbx, %r12
leaq (%rax,%r12,4), %r9
movl %r8d, (%r9,%rdx,4)
vpextrb $0x2, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%rbp,4), %r9
movl %r8d, (%r9,%rdx,4)
vpextrb $0x3, %xmm0, %r8d
leal (,%rcx,8), %r9d
subl %ecx, %r9d
addl %esi, %r9d
movslq %r9d, %r12
imulq %rdi, %r12
movsbl %r8b, %r8d
leaq (%rax,%r13,4), %r9
movl %r8d, (%r9,%rdx,4)
vpextrb $0x4, %xmm0, %r8d
leal (%rsi,%rcx,8), %r9d
movslq %r9d, %rbp
imulq %rdi, %rbp
movsbl %r8b, %r8d
leaq (%rax,%r14,4), %r9
movl %r8d, (%r9,%rdx,4)
leal (%rcx,%rcx,8), %r8d
movq %r8, -0x10(%rsp)
addl %esi, %r8d
movslq %r8d, %r13
imulq %rdi, %r13
vpextrb $0x5, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%r11,4), %r11
movl %r8d, (%r11,%rdx,4)
vpextrb $0x6, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%r15,4), %r11
movl %r8d, (%r11,%rdx,4)
movq -0x30(%rsp), %r9
leal (%rsi,%r9,2), %r8d
movslq %r8d, %r8
movq %r8, %r11
imulq %rdi, %r11
addl %ecx, %r8d
movslq %r8d, %r14
imulq %rdi, %r14
vpextrb $0x7, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%r12,4), %r15
movl %r8d, (%r15,%rdx,4)
vpextrb $0x8, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%rbp,4), %r15
movl %r8d, (%r15,%rdx,4)
leal (%rsi,%r10,4), %r8d
movslq %r8d, %r8
movq %r8, %rbp
imulq %rdi, %rbp
addl %ecx, %r8d
movslq %r8d, %r15
imulq %rdi, %r15
vpextrb $0x9, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%r13,4), %r12
movl %r8d, (%r12,%rdx,4)
vpextrb $0xa, %xmm0, %r8d
movsbl %r8b, %r8d
movq %rax, %r10
leaq (%rax,%r11,4), %r11
movl %r8d, (%r11,%rdx,4)
vpextrb $0xb, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%rax,%r14,4), %r11
movl %r8d, (%r11,%rdx,4)
leal (%rcx,%rcx), %eax
movl %eax, -0x34(%rsp)
movl %ecx, %r13d
shll $0x4, %r13d
movl %r13d, %r8d
subl %eax, %r8d
addl %esi, %r8d
movslq %r8d, %r12
imulq %rdi, %r12
vpextrb $0xc, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%r10,%rbp,4), %r14
movl %r8d, (%r14,%rdx,4)
movq %r9, %rax
leal (%r9,%r9,2), %r8d
addl %esi, %r8d
movslq %r8d, %rbp
imulq %rdi, %rbp
leal (%rsi,%r13), %r8d
movslq %r8d, %r14
imulq %rdi, %r14
addl %r13d, %ebx
movslq %ebx, %r13
imulq %rdi, %r13
vpextrb $0xd, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%r10,%r15,4), %rbx
movl %r8d, (%rbx,%rdx,4)
vpextrb $0xe, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%r10,%r12,4), %rbx
movl %r8d, (%rbx,%rdx,4)
movq -0x10(%rsp), %r9
leal (%rsi,%r9,2), %r8d
movslq %r8d, %r8
movq %r8, %r15
imulq %rdi, %r15
addl %ecx, %r8d
movslq %r8d, %r12
imulq %rdi, %r12
vpextrb $0xf, %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%r10,%rbp,4), %rbx
movl %r8d, (%rbx,%rdx,4)
vextracti128 $0x1, %ymm0, %xmm0
vmovd %xmm0, %r8d
movsbl %r8b, %r8d
leaq (%r10,%r14,4), %rbx
movl %r8d, (%rbx,%rdx,4)
leal (%rsi,%rax,4), %r8d
movslq %r8d, %r8
movq %r8, -0x18(%rsp)
addl %ecx, %r8d
movl %r8d, -0x24(%rsp)
vpextrb $0x1, %xmm0, %ebx
movsbl %bl, %ebx
leaq (%r10,%r13,4), %r14
movl %ebx, (%r14,%rdx,4)
movq -0x8(%rsp), %rbp
movl %ebp, %r14d
shll $0x3, %r14d
subl %ecx, %r14d
vpextrb $0x2, %xmm0, %ebx
movsbl %bl, %ebx
leaq (%r10,%r15,4), %r15
movq %r10, %r8
movq %r10, -0x20(%rsp)
movl %ebx, (%r15,%rdx,4)
leal (%rax,%rax,4), %r10d
addl %esi, %r10d
movslq %r10d, %r15
movq %r15, -0x30(%rsp)
addl %ecx, %r15d
vpextrb $0x3, %xmm0, %ebx
movsbl %bl, %ebx
leaq (%r8,%r12,4), %r12
movl %ebx, (%r12,%rdx,4)
movl %ecx, %r12d
shll $0x5, %r12d
movl %r12d, %r13d
subl %ecx, %r12d
leal (%r9,%r9,2), %r9d
addl %esi, %r9d
movslq %r9d, %r9
leal (%r9,%rcx), %r11d
movq -0x18(%rsp), %rax
movq %rax, %rbx
movl -0x34(%rsp), %ecx
addl %ecx, %eax
movq %rax, %r8
movq %r9, %r10
addl %ecx, %r9d
subl %ecx, %r13d
leal (%rsi,%rbp,8), %ebp
addl %esi, %r14d
addl %esi, %r13d
addl %esi, %r12d
imulq %rdi, %rbx
movslq -0x24(%rsp), %rax
imulq %rdi, %rax
movslq %r8d, %rcx
imulq %rdi, %rcx
movslq %r14d, %rsi
imulq %rdi, %rsi
movslq %ebp, %rbp
imulq %rdi, %rbp
movq -0x30(%rsp), %r8
imulq %rdi, %r8
movslq %r15d, %r14
imulq %rdi, %r14
imulq %rdi, %r10
movslq %r11d, %r11
imulq %rdi, %r11
movslq %r9d, %r9
imulq %rdi, %r9
movslq %r13d, %r13
imulq %rdi, %r13
movslq %r12d, %r15
imulq %rdi, %r15
vpextrb $0x4, %xmm0, %edi
movsbl %dil, %edi
movq -0x20(%rsp), %r12
leaq (%r12,%rbx,4), %rbx
movl %edi, (%rbx,%rdx,4)
vpextrb $0x5, %xmm0, %edi
movsbl %dil, %edi
leaq (%r12,%rax,4), %rax
movl %edi, (%rax,%rdx,4)
vpextrb $0x6, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%rcx,4), %rcx
vpextrb $0x7, %xmm0, %edi
movl %eax, (%rcx,%rdx,4)
movsbl %dil, %eax
leaq (%r12,%rsi,4), %rcx
movl %eax, (%rcx,%rdx,4)
vpextrb $0x8, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%rbp,4), %rcx
movl %eax, (%rcx,%rdx,4)
vpextrb $0x9, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%r8,4), %rcx
movl %eax, (%rcx,%rdx,4)
vpextrb $0xa, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%r14,4), %rcx
vpextrb $0xb, %xmm0, %esi
movl %eax, (%rcx,%rdx,4)
movsbl %sil, %eax
leaq (%r12,%r10,4), %rcx
movl %eax, (%rcx,%rdx,4)
vpextrb $0xc, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%r11,4), %rcx
movl %eax, (%rcx,%rdx,4)
vpextrb $0xd, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%r9,4), %rcx
movl %eax, (%rcx,%rdx,4)
vpextrb $0xe, %xmm0, %eax
movsbl %al, %eax
leaq (%r12,%r13,4), %rcx
vpextrb $0xf, %xmm0, %esi
movl %eax, (%rcx,%rdx,4)
movsbl %sil, %eax
leaq (%r12,%r15,4), %rcx
movl %eax, (%rcx,%rdx,4)
popq %rbx
popq %r12
popq %r13
popq %r14
popq %r15
popq %rbp
vzeroupper
retq
nopl (%rax)