// File: /workspace/github_c_makefile_star2_O1/svpv[P]rpmset/./base64pack.h
// Function: pack10x18c30
static inline void pack10x18c30(const uint32_t *v, char *s, unsigned e)
{
#if 1
    uint32_t x;
    x = (v[0] & Mask(10)) | (v[4] & Mask(10)) << 10 | (v[8] & Mask(4)) << 20;
    s[ 0] = base64[(x & Mask(6))];
    s[ 1] = base64[(x & Mask(12)) >> 6];
    s[ 2] = base64[(x & Mask(18)) >> 12];
    s[ 3] = base64[(x >> 18)];
    x = (v[1] & Mask(10)) | (v[5] & Mask(10)) << 10 | (v[9] & Mask(4)) << 20;
    s[ 4] = base64[(x & Mask(6))];
    s[ 5] = base64[(x & Mask(12)) >> 6];
    s[ 6] = base64[(x & Mask(18)) >> 12];
    s[ 7] = base64[(x >> 18)];
    x = (v[2] & Mask(10)) | (v[6] & Mask(10)) << 10 | (v[10] & Mask(4)) << 20;
    s[ 8] = base64[(x & Mask(6))];
    s[ 9] = base64[(x & Mask(12)) >> 6];
    s[10] = base64[(x & Mask(18)) >> 12];
    s[11] = base64[(x >> 18)];
    x = (v[3] & Mask(10)) | (v[7] & Mask(10)) << 10 | (v[11] & Mask(4)) << 20;
    s[12] = base64[(x & Mask(6))];
    s[13] = base64[(x & Mask(12)) >> 6];
    s[14] = base64[(x & Mask(18)) >> 12];
    s[15] = base64[(x >> 18)];
    uint64_t y;
    y = (v[16] & Mask(10)) | (v[17] & Mask(10)) << 10
      | (v[8] & Mask(10)) >> 4 << 20 | (uint64_t)(v[12] & Mask(10)) << 26;
    s[16] = base64[(y & Mask(6))];
    s[17] = base64[(y & Mask(12)) >> 6];
    s[18] = base64[(y & Mask(18)) >> 12];
    s[19] = base64[(y & Mask(24)) >> 18];
    s[20] = base64[(y & Mask(30)) >> 24];
    s[21] = base64[(y >> 30)];
    y = (v[9] & Mask(10)) >> 4 | (v[13] & Mask(10)) << 6
      | (v[10] & Mask(10)) >> 4 << 16 | (v[14] & Mask(10)) << 22
      | (uint64_t)(v[11] & Mask(10)) >> 4 << 32 | (uint64_t)(v[15] & Mask(10)) << 38;
    s[22] = base64[(y & Mask(6))];
    s[23] = base64[(y & Mask(12)) >> 6];
    s[24] = base64[(y & Mask(18)) >> 12];
    s[25] = base64[(y & Mask(24)) >> 18];
    s[26] = base64[(y & Mask(30)) >> 24];
    s[27] = base64[(y & Wask(36)) >> 30];
    s[28] = base64[(y & Wask(42)) >> 36];
    s[29] = base64[(y >> 42)];
    (void) e;
#else
    pack10x9c15(v + 0, s + 00, e);
    pack10x9c15(v + 9, s + 15, e);
#endif
}

// Assembly:
pushq %rbp
pushq %rbx
movl (%rdi), %r10d
movl 0x10(%rdi), %r8d
movl $0x3c0, %ecx            # imm = 0x3C0
movl %r10d, %eax
andl %ecx, %eax
movl %r8d, %r11d
shll $0xa, %r11d
movl $0xc0000, %edx          # imm = 0xC0000
movl %r11d, %ebx
andl %edx, %ebx
movl 0x20(%rdi), %r9d
andl $0xf, %r9d
shll $0x14, %r9d
orl %ebx, %r9d
orl %eax, %r11d
andl $0x3f, %r10d
leaq 0x33ce(%rip), %rax      # 0x9010
movb (%r10,%rax), %r10b
movb %r10b, (%rsi)
shrl $0x6, %r11d
andl $0x3f, %r11d
movb (%r11,%rax), %r10b
movb %r10b, 0x1(%rsi)
shrl $0x2, %r8d
andl $0x3f, %r8d
movb (%r8,%rax), %r8b
movb %r8b, 0x2(%rsi)
shrl $0x12, %r9d
movb (%r9,%rax), %r8b
movb %r8b, 0x3(%rsi)
movl 0x4(%rdi), %r10d
movl 0x14(%rdi), %r8d
movl %r10d, %r11d
andl %ecx, %r11d
movl %r8d, %ebx
shll $0xa, %ebx
movl %ebx, %ebp
andl %edx, %ebp
movl 0x24(%rdi), %r9d
andl $0xf, %r9d
shll $0x14, %r9d
orl %ebp, %r9d
orl %r11d, %ebx
andl $0x3f, %r10d
movb (%r10,%rax), %r10b
movb %r10b, 0x4(%rsi)
shrl $0x6, %ebx
andl $0x3f, %ebx
movb (%rbx,%rax), %r10b
movb %r10b, 0x5(%rsi)
shrl $0x2, %r8d
andl $0x3f, %r8d
movb (%r8,%rax), %r8b
movb %r8b, 0x6(%rsi)
shrl $0x12, %r9d
movb (%r9,%rax), %r8b
movb %r8b, 0x7(%rsi)
movl 0x8(%rdi), %r10d
movl 0x18(%rdi), %r8d
movl %r10d, %r11d
andl %ecx, %r11d
movl %r8d, %ebx
shll $0xa, %ebx
movl %ebx, %ebp
andl %edx, %ebp
movl 0x28(%rdi), %r9d
andl $0xf, %r9d
shll $0x14, %r9d
orl %ebp, %r9d
orl %r11d, %ebx
andl $0x3f, %r10d
movb (%r10,%rax), %r10b
movb %r10b, 0x8(%rsi)
shrl $0x6, %ebx
andl $0x3f, %ebx
movb (%rbx,%rax), %r10b
movb %r10b, 0x9(%rsi)
shrl $0x2, %r8d
andl $0x3f, %r8d
movb (%r8,%rax), %r8b
movb %r8b, 0xa(%rsi)
shrl $0x12, %r9d
movb (%r9,%rax), %r8b
movb %r8b, 0xb(%rsi)
movl 0xc(%rdi), %r10d
movl 0x1c(%rdi), %r8d
movl %r10d, %r11d
andl %ecx, %r11d
movl %r8d, %ebx
shll $0xa, %ebx
andl %ebx, %edx
movl 0x2c(%rdi), %r9d
andl $0xf, %r9d
shll $0x14, %r9d
orl %edx, %r9d
orl %r11d, %ebx
andl $0x3f, %r10d
movb (%r10,%rax), %dl
movb %dl, 0xc(%rsi)
shrl $0x6, %ebx
andl $0x3f, %ebx
movb (%rbx,%rax), %dl
movb %dl, 0xd(%rsi)
shrl $0x2, %r8d
andl $0x3f, %r8d
movb (%r8,%rax), %dl
movb %dl, 0xe(%rsi)
shrl $0x12, %r9d
movb (%r9,%rax), %dl
movb %dl, 0xf(%rsi)
movl 0x40(%rdi), %r10d
andl %r10d, %ecx
movl 0x44(%rdi), %r8d
movl %r8d, %r11d
shll $0xa, %r11d
movl %r11d, %edx
andl $0xffc00, %edx          # imm = 0xFFC00
orl %ecx, %r11d
movl 0x20(%rdi), %ebx
movl 0x30(%rdi), %ecx
shll $0x10, %ebx
andl $0x3f00000, %ebx        # imm = 0x3F00000
orl %ebx, %edx
movl %ecx, %r9d
shll $0x1a, %r9d
orl %ebx, %r9d
andl $0x3f, %r10d
movb (%r10,%rax), %r10b
movb %r10b, 0x10(%rsi)
shrl $0x6, %r11d
andl $0x3f, %r11d
movb (%r11,%rax), %r10b
movb %r10b, 0x11(%rsi)
shrl $0x2, %r8d
andl $0x3f, %r8d
movb (%r8,%rax), %r8b
movb %r8b, 0x12(%rsi)
shrl $0x12, %edx
andl $0x3f, %edx
movb (%rdx,%rax), %dl
movb %dl, 0x13(%rsi)
shrl $0x18, %r9d
andl $0x3f, %r9d
movb (%r9,%rax), %dl
movb %dl, 0x14(%rsi)
shrl $0x4, %ecx
andl $0x3f, %ecx
movb (%rcx,%rax), %cl
movb %cl, 0x15(%rsi)
movl 0x24(%rdi), %ecx
movl 0x28(%rdi), %edx
shrl $0x4, %ecx
andl $0x3f, %ecx
movl 0x34(%rdi), %r10d
movl %r10d, %r8d
shll $0x6, %r8d
movzwl %r8w, %r8d
orl %ecx, %r8d
shll $0xc, %edx
andl $0x3f0000, %edx         # imm = 0x3F0000
orl %r8d, %edx
movl 0x38(%rdi), %r9d
movl %r9d, %r11d
shll $0x16, %r11d
orl %edx, %r11d
movl 0x2c(%rdi), %r8d
shrl $0x4, %r8d
andl $0x3f, %r8d
shlq $0x20, %r8
movl 0x3c(%rdi), %ecx
movq %rcx, %rdi
shlq $0x26, %rdi
orq %r8, %rdi
orq %r11, %r8
movl %r11d, %ebx
andl $0x3f, %ebx
movb (%rbx,%rax), %bl
movb %bl, 0x16(%rsi)
andl $0x3f, %r10d
movb (%r10,%rax), %r10b
movb %r10b, 0x17(%rsi)
shrl $0xc, %edx
andl $0x3f, %edx
movb (%rdx,%rax), %dl
movb %dl, 0x18(%rsi)
shrl $0x12, %r11d
andl $0x3f, %r11d
movb (%r11,%rax), %dl
movb %dl, 0x19(%rsi)
shrl $0x2, %r9d
andl $0x3f, %r9d
movb (%r9,%rax), %dl
movb %dl, 0x1a(%rsi)
shrq $0x1e, %r8
andl $0x3f, %r8d
movb (%r8,%rax), %dl
movb %dl, 0x1b(%rsi)
shrq $0x24, %rdi
andl $0x3f, %edi
movb (%rdi,%rax), %dl
movb %dl, 0x1c(%rsi)
shrl $0x4, %ecx
andl $0x3f, %ecx
movb (%rcx,%rax), %al
movb %al, 0x1d(%rsi)
popq %rbx
popq %rbp
retq