// File: /workspace/github_c_makefile_star2_O0/janet-lang[P]janet/src/core/ffi.c
// Function: decode_ffi_prim
static JanetFFIPrimType decode_ffi_prim(const uint8_t *name) {
    if (!janet_cstrcmp(name, "void")) return JANET_FFI_TYPE_VOID;
    if (!janet_cstrcmp(name, "bool")) return JANET_FFI_TYPE_BOOL;
    if (!janet_cstrcmp(name, "ptr")) return JANET_FFI_TYPE_PTR;
    if (!janet_cstrcmp(name, "pointer")) return JANET_FFI_TYPE_PTR;
    if (!janet_cstrcmp(name, "string")) return JANET_FFI_TYPE_STRING;
    if (!janet_cstrcmp(name, "float")) return JANET_FFI_TYPE_FLOAT;
    if (!janet_cstrcmp(name, "double")) return JANET_FFI_TYPE_DOUBLE;
    if (!janet_cstrcmp(name, "int8")) return JANET_FFI_TYPE_INT8;
    if (!janet_cstrcmp(name, "uint8")) return JANET_FFI_TYPE_UINT8;
    if (!janet_cstrcmp(name, "int16")) return JANET_FFI_TYPE_INT16;
    if (!janet_cstrcmp(name, "uint16")) return JANET_FFI_TYPE_UINT16;
    if (!janet_cstrcmp(name, "int32")) return JANET_FFI_TYPE_INT32;
    if (!janet_cstrcmp(name, "uint32")) return JANET_FFI_TYPE_UINT32;
    if (!janet_cstrcmp(name, "int64")) return JANET_FFI_TYPE_INT64;
    if (!janet_cstrcmp(name, "uint64")) return JANET_FFI_TYPE_UINT64;
#ifdef JANET_64
    if (!janet_cstrcmp(name, "size")) return JANET_FFI_TYPE_UINT64;
    if (!janet_cstrcmp(name, "ssize")) return JANET_FFI_TYPE_INT64;
#else
    if (!janet_cstrcmp(name, "size")) return JANET_FFI_TYPE_UINT32;
    if (!janet_cstrcmp(name, "ssize")) return JANET_FFI_TYPE_INT32;
#endif
    /* aliases */
    if (!janet_cstrcmp(name, "r32")) return JANET_FFI_TYPE_FLOAT;
    if (!janet_cstrcmp(name, "r64")) return JANET_FFI_TYPE_DOUBLE;
    if (!janet_cstrcmp(name, "s8")) return JANET_FFI_TYPE_INT8;
    if (!janet_cstrcmp(name, "u8")) return JANET_FFI_TYPE_UINT8;
    if (!janet_cstrcmp(name, "s16")) return JANET_FFI_TYPE_INT16;
    if (!janet_cstrcmp(name, "u16")) return JANET_FFI_TYPE_UINT16;
    if (!janet_cstrcmp(name, "s32")) return JANET_FFI_TYPE_INT32;
    if (!janet_cstrcmp(name, "u32")) return JANET_FFI_TYPE_UINT32;
    if (!janet_cstrcmp(name, "s64")) return JANET_FFI_TYPE_INT64;
    if (!janet_cstrcmp(name, "u64")) return JANET_FFI_TYPE_UINT64;
    if (!janet_cstrcmp(name, "char")) return JANET_FFI_TYPE_INT8;
    if (!janet_cstrcmp(name, "short")) return JANET_FFI_TYPE_INT16;
    if (!janet_cstrcmp(name, "int")) return JANET_FFI_TYPE_INT32;
    if (!janet_cstrcmp(name, "long")) return JANET_FFI_TYPE_INT64;
    if (!janet_cstrcmp(name, "byte")) return JANET_FFI_TYPE_UINT8;
    if (!janet_cstrcmp(name, "uchar")) return JANET_FFI_TYPE_UINT8;
    if (!janet_cstrcmp(name, "ushort")) return JANET_FFI_TYPE_UINT16;
    if (!janet_cstrcmp(name, "uint")) return JANET_FFI_TYPE_UINT32;
    if (!janet_cstrcmp(name, "ulong")) return JANET_FFI_TYPE_UINT64;
    janet_panicf("unknown machine type %s", name);
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x10, %rsp
movq %rdi, -0x10(%rbp)
movq -0x10(%rbp), %rdi
leaq 0x53c68(%rip), %rsi     # 0x8923f
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x355ed
movl $0x0, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53c4c(%rip), %rsi     # 0x89244
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x3560e
movl $0x1, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53c30(%rip), %rsi     # 0x89249
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x3562f
movl $0x2, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x57a5f(%rip), %rsi     # 0x8d099
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35650
movl $0x2, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a642(%rip), %rsi     # 0x7fc9d
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35671
movl $0x3, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53bd1(%rip), %rsi     # 0x8924d
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35692
movl $0x4, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53bb6(%rip), %rsi     # 0x89253
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x356b3
movl $0x5, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53b9d(%rip), %rsi     # 0x8925b
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x356d4
movl $0x6, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53b7b(%rip), %rsi     # 0x8925a
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x356f5
movl $0x7, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a5b1(%rip), %rsi     # 0x7fcb1
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35716
movl $0x8, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a58f(%rip), %rsi     # 0x7fcb0
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35737
movl $0x9, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a582(%rip), %rsi     # 0x7fcc4
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35758
movl $0xa, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a560(%rip), %rsi     # 0x7fcc3
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35779
movl $0xb, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a553(%rip), %rsi     # 0x7fcd7
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x3579a
movl $0xc, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a531(%rip), %rsi     # 0x7fcd6
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x357bb
movl $0xd, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x520da(%rip), %rsi     # 0x878a0
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x357dc
movl $0xd, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53a79(%rip), %rsi     # 0x89260
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x357fd
movl $0xc, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53a5e(%rip), %rsi     # 0x89266
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x3581e
movl $0x4, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53a41(%rip), %rsi     # 0x8926a
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x3583f
movl $0x5, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53a24(%rip), %rsi     # 0x8926e
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35860
movl $0x6, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53a06(%rip), %rsi     # 0x89271
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35881
movl $0x7, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x539e8(%rip), %rsi     # 0x89274
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x358a2
movl $0x8, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x539cb(%rip), %rsi     # 0x89278
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x358c3
movl $0x9, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x539ae(%rip), %rsi     # 0x8927c
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x358e4
movl $0xa, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53991(%rip), %rsi     # 0x89280
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35905
movl $0xb, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x554d5(%rip), %rsi     # 0x8ade5
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35926
movl $0xc, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x554bd(%rip), %rsi     # 0x8adee
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35947
movl $0xd, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53933(%rip), %rsi     # 0x89285
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35968
movl $0x6, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53918(%rip), %rsi     # 0x8928b
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35989
movl $0x8, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x57889(%rip), %rsi     # 0x8d21d
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x359aa
movl $0xa, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x60874(%rip), %rsi     # 0x96229
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x359cb
movl $0xc, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x4a2a5(%rip), %rsi     # 0x7fc7b
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x359ec
movl $0x7, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x5388d(%rip), %rsi     # 0x89284
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35a0a
movl $0x7, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53875(%rip), %rsi     # 0x8928a
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35a28
movl $0x9, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x5385e(%rip), %rsi     # 0x89291
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35a46
movl $0xb, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rdi
leaq 0x53845(%rip), %rsi     # 0x89296
callq 0x6b2b0
cmpl $0x0, %eax
jne 0x35a64
movl $0xd, -0x4(%rbp)
jmp 0x35a76
movq -0x10(%rbp), %rsi
leaq 0x5382d(%rip), %rdi     # 0x8929c
movb $0x0, %al
callq 0x1ac40
movl -0x4(%rbp), %eax
addq $0x10, %rsp
popq %rbp
retq
nop