// File: /workspace/github_c_makefile_star2_O0/genometools[P]genometools/src/external/expat-2.0.1/lib/xmltok_impl.c
// Function: little2_predefinedEntityName
static int PTRCALL
PREFIX(predefinedEntityName)(__attribute__ ((unused)) const ENCODING *enc, const char *ptr,
                             const char *end)
{
  switch ((end - ptr)/MINBPC(enc)) {
  case 2:
    if (CHAR_MATCHES(enc, ptr + MINBPC(enc), ASCII_t)) {
      switch (BYTE_TO_ASCII(enc, ptr)) {
      case ASCII_l:
        return ASCII_LT;
      case ASCII_g:
        return ASCII_GT;
      }
    }
    break;
  case 3:
    if (CHAR_MATCHES(enc, ptr, ASCII_a)) {
      ptr += MINBPC(enc);
      if (CHAR_MATCHES(enc, ptr, ASCII_m)) {
        ptr += MINBPC(enc);
        if (CHAR_MATCHES(enc, ptr, ASCII_p))
          return ASCII_AMP;
      }
    }
    break;
  case 4:
    switch (BYTE_TO_ASCII(enc, ptr)) {
    case ASCII_q:
      ptr += MINBPC(enc);
      if (CHAR_MATCHES(enc, ptr, ASCII_u)) {
        ptr += MINBPC(enc);
        if (CHAR_MATCHES(enc, ptr, ASCII_o)) {
          ptr += MINBPC(enc);
          if (CHAR_MATCHES(enc, ptr, ASCII_t))
            return ASCII_QUOT;
        }
      }
      break;
    case ASCII_a:
      ptr += MINBPC(enc);
      if (CHAR_MATCHES(enc, ptr, ASCII_p)) {
        ptr += MINBPC(enc);
        if (CHAR_MATCHES(enc, ptr, ASCII_o)) {
          ptr += MINBPC(enc);
          if (CHAR_MATCHES(enc, ptr, ASCII_s))
            return ASCII_APOS;
        }
      }
      break;
    }
  }
  return 0;
}

// Assembly:
movq %rdi, -0x10(%rsp)
movq %rsi, -0x18(%rsp)
movq %rdx, -0x20(%rsp)
movq -0x20(%rsp), %rax
movq -0x18(%rsp), %rcx
subq %rcx, %rax
movq %rax, %rcx
shrq $0x3f, %rcx
addq %rcx, %rax
sarq %rax
movq %rax, -0x28(%rsp)
subq $0x2, %rax
je 0x38dacb
jmp 0x38daa6
movq -0x28(%rsp), %rax
subq $0x3, %rax
je 0x38db49
jmp 0x38dab7
movq -0x28(%rsp), %rax
subq $0x4, %rax
je 0x38dbcc
jmp 0x38dd33
movq -0x18(%rsp), %rax
movsbl 0x3(%rax), %eax
cmpl $0x0, %eax
jne 0x38db44
movq -0x18(%rsp), %rax
movsbl 0x2(%rax), %eax
cmpl $0x74, %eax
jne 0x38db44
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38db03
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
movl %eax, -0x2c(%rsp)
jmp 0x38db0e
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x2c(%rsp)
jmp 0x38db0e
movl -0x2c(%rsp), %eax
movl %eax, -0x30(%rsp)
subl $0x67, %eax
je 0x38db35
jmp 0x38db1d
movl -0x30(%rsp), %eax
subl $0x6c, %eax
jne 0x38db42
jmp 0x38db28
movl $0x3c, -0x4(%rsp)
jmp 0x38dd3b
movl $0x3e, -0x4(%rsp)
jmp 0x38dd3b
jmp 0x38db44
jmp 0x38dd33
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dbc7
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x61, %eax
jne 0x38dbc7
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dbc5
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x6d, %eax
jne 0x38dbc5
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dbc3
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x70, %eax
jne 0x38dbc3
movl $0x26, -0x4(%rsp)
jmp 0x38dd3b
jmp 0x38dbc5
jmp 0x38dbc7
jmp 0x38dd33
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dbe8
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
movl %eax, -0x34(%rsp)
jmp 0x38dbf3
movl $0xffffffff, %eax       # imm = 0xFFFFFFFF
movl %eax, -0x34(%rsp)
jmp 0x38dbf3
movl -0x34(%rsp), %eax
movl %eax, -0x38(%rsp)
subl $0x61, %eax
je 0x38dca6
jmp 0x38dc06
movl -0x38(%rsp), %eax
subl $0x71, %eax
jne 0x38dd31
jmp 0x38dc15
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dca1
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x75, %eax
jne 0x38dca1
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dc9f
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x6f, %eax
jne 0x38dc9f
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dc9d
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x74, %eax
jne 0x38dc9d
movl $0x22, -0x4(%rsp)
jmp 0x38dd3b
jmp 0x38dc9f
jmp 0x38dca1
jmp 0x38dd31
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dd2f
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x70, %eax
jne 0x38dd2f
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dd2d
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x6f, %eax
jne 0x38dd2d
movq -0x18(%rsp), %rax
addq $0x2, %rax
movq %rax, -0x18(%rsp)
movq -0x18(%rsp), %rax
movsbl 0x1(%rax), %eax
cmpl $0x0, %eax
jne 0x38dd2b
movq -0x18(%rsp), %rax
movsbl (%rax), %eax
cmpl $0x73, %eax
jne 0x38dd2b
movl $0x27, -0x4(%rsp)
jmp 0x38dd3b
jmp 0x38dd2d
jmp 0x38dd2f
jmp 0x38dd31
jmp 0x38dd33
movl $0x0, -0x4(%rsp)
movl -0x4(%rsp), %eax
retq