// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/match/bcktab.c
// Function: allocdistpfxidxcounts
static void allocdistpfxidxcounts(GtBcktab *bcktab,unsigned int prefixlength,
                                  GtLogger *logger)
{
  gt_assert(bcktab->withspecialsuffixes);
  if (prefixlength > 2U)
  {
    if (bcktab->numofdistpfxidxcounters > 0)
    {
      GtUword *ulongcounters;
      uint32_t *uintcounters;
      size_t allocsize;

      if (bcktab->useulong)
      {
        bcktab->ulongdistpfxidx = gt_malloc(sizeof (void *) * (prefixlength-1));
        allocsize = sizeof (*ulongcounters) * bcktab->numofdistpfxidxcounters;
        ulongcounters = gt_malloc(allocsize);
        memset(ulongcounters,0,allocsize);
        ulong_setdistpfxidxptrs(bcktab->ulongdistpfxidx,ulongcounters,
                                bcktab->basepower,prefixlength);
      } else
      {
        bcktab->uintdistpfxidx = gt_malloc(sizeof (void *) * (prefixlength-1));
        allocsize = sizeof (*uintcounters) * bcktab->numofdistpfxidxcounters;
        uintcounters = gt_malloc(allocsize);
        memset(uintcounters,0,allocsize);
        uint_setdistpfxidxptrs(bcktab->uintdistpfxidx,uintcounters,
                               bcktab->basepower,prefixlength);
      }
      gt_logger_log(logger,"sizeof (distpfxidx)="GT_WU" bytes",
                            (GtUword) allocsize);
    }
  }
}

// Assembly:
subq $0x38, %rsp
movq %rdi, 0x30(%rsp)
movl %esi, 0x2c(%rsp)
movq %rdx, 0x20(%rsp)
movq 0x30(%rsp), %rax
testb $0x1, 0xa1(%rax)
jne 0x2043d8
movq 0x437bf9(%rip), %rax    # 0x63bfa0
movq (%rax), %rdi
leaq 0x311c62(%rip), %rsi    # 0x516013
leaq 0x36cf08(%rip), %rdx    # 0x5712c0
leaq 0x36cf1d(%rip), %rcx    # 0x5712dc
leaq 0x36ca4c(%rip), %r8     # 0x570e12
movl $0x16e, %r9d            # imm = 0x16E
movb $0x0, %al
callq 0x199f0
callq 0x19370
jmp 0x2043da
cmpl $0x2, 0x2c(%rsp)
jbe 0x20453a
movq 0x30(%rsp), %rax
cmpq $0x0, 0x40(%rax)
jbe 0x204538
movq 0x30(%rsp), %rax
testb $0x1, 0xa2(%rax)
je 0x204496
movl 0x2c(%rsp), %eax
subl $0x1, %eax
movl %eax, %eax
movl %eax, %edi
shlq $0x3, %rdi
leaq 0x36c9f5(%rip), %rsi    # 0x570e12
movl $0x179, %edx            # imm = 0x179
callq 0xe80f0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x28(%rax)
movq 0x30(%rsp), %rax
movq 0x40(%rax), %rax
shlq $0x3, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x36c9c1(%rip), %rsi    # 0x570e12
movl $0x17b, %edx            # imm = 0x17B
callq 0xe80f0
movq %rax, 0x18(%rsp)
movq 0x18(%rsp), %rdi
movq 0x8(%rsp), %rdx
xorl %esi, %esi
callq 0x19360
movq 0x30(%rsp), %rax
movq 0x28(%rax), %rdi
movq 0x18(%rsp), %rsi
movq 0x30(%rsp), %rax
movq 0x70(%rax), %rdx
movl 0x2c(%rsp), %ecx
callq 0x204f70
jmp 0x204520
movl 0x2c(%rsp), %eax
subl $0x1, %eax
movl %eax, %eax
movl %eax, %edi
shlq $0x3, %rdi
leaq 0x36c966(%rip), %rsi    # 0x570e12
movl $0x181, %edx            # imm = 0x181
callq 0xe80f0
movq %rax, %rcx
movq 0x30(%rsp), %rax
movq %rcx, 0x18(%rax)
movq 0x30(%rsp), %rax
movq 0x40(%rax), %rax
shlq $0x2, %rax
movq %rax, 0x8(%rsp)
movq 0x8(%rsp), %rdi
leaq 0x36c932(%rip), %rsi    # 0x570e12
movl $0x183, %edx            # imm = 0x183
callq 0xe80f0
movq %rax, 0x10(%rsp)
movq 0x10(%rsp), %rdi
movq 0x8(%rsp), %rdx
xorl %esi, %esi
callq 0x19360
movq 0x30(%rsp), %rax
movq 0x18(%rax), %rdi
movq 0x10(%rsp), %rsi
movq 0x30(%rsp), %rax
movq 0x70(%rax), %rdx
movl 0x2c(%rsp), %ecx
callq 0x204ff0
movq 0x20(%rsp), %rdi
movq 0x8(%rsp), %rdx
leaq 0x36cdc1(%rip), %rsi    # 0x5712f2
movb $0x0, %al
callq 0xe7cd0
jmp 0x20453a
addq $0x38, %rsp
retq
nop