// File: /workspace/github_c_makefile_star2_O0/janet-lang[P]janet/src/core/peg.c
// Function: spec_variadic
static void spec_variadic(Builder *b, int32_t argc, const Janet *argv, uint32_t op) {
    uint32_t rule = janet_v_count(b->bytecode);
    janet_v_push(b->bytecode, op);
    janet_v_push(b->bytecode, argc);
    for (int32_t i = 0; i < argc; i++)
        janet_v_push(b->bytecode, 0);
    for (int32_t i = 0; i < argc; i++) {
        uint32_t rulei = peg_compile1(b, argv[i]);
        b->bytecode[rule + 2 + i] = rulei;
    }
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
subq $0x30, %rsp
movq %rdi, -0x8(%rbp)
movl %esi, -0xc(%rbp)
movq %rdx, -0x18(%rbp)
movl %ecx, -0x1c(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x59a71
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x4(%rax), %eax
movl %eax, -0x30(%rbp)
jmp 0x59a78
xorl %eax, %eax
movl %eax, -0x30(%rbp)
jmp 0x59a78
movl -0x30(%rbp), %eax
movl %eax, -0x20(%rbp)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x59aa4
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x4(%rax), %eax
addl $0x1, %eax
movq -0x8(%rbp), %rcx
movq 0x20(%rcx), %rcx
cmpl -0x8(%rcx), %eax
jl 0x59ac8
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x70760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0x59aca
jmp 0x59aca
movl -0x1c(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x20(%rcx), %rsi
movl -0x4(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, -0x4(%rsi)
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x59b14
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x4(%rax), %eax
addl $0x1, %eax
movq -0x8(%rbp), %rcx
movq 0x20(%rcx), %rcx
cmpl -0x8(%rcx), %eax
jl 0x59b38
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x70760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0x59b3a
jmp 0x59b3a
movl -0xc(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x20(%rcx), %rsi
movl -0x4(%rsi), %ecx
movl %ecx, %edi
addl $0x1, %edi
movl %edi, -0x4(%rsi)
movslq %ecx, %rcx
movl %edx, (%rax,%rcx,4)
movl $0x0, -0x24(%rbp)
movl -0x24(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x59bec
movq -0x8(%rbp), %rax
cmpq $0x0, 0x20(%rax)
je 0x59b93
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x4(%rax), %eax
addl $0x1, %eax
movq -0x8(%rbp), %rcx
movq 0x20(%rcx), %rcx
cmpl -0x8(%rcx), %eax
jl 0x59bb7
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rdi
movl $0x1, %esi
movl $0x4, %edx
callq 0x70760
movq %rax, %rcx
movq -0x8(%rbp), %rax
movq %rcx, 0x20(%rax)
jmp 0x59bb9
jmp 0x59bb9
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movq -0x8(%rbp), %rcx
movq 0x20(%rcx), %rdx
movl -0x4(%rdx), %ecx
movl %ecx, %esi
addl $0x1, %esi
movl %esi, -0x4(%rdx)
movslq %ecx, %rcx
movl $0x0, (%rax,%rcx,4)
movl -0x24(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x24(%rbp)
jmp 0x59b65
movl $0x0, -0x28(%rbp)
movl -0x28(%rbp), %eax
cmpl -0xc(%rbp), %eax
jge 0x59c37
movq -0x8(%rbp), %rdi
movq -0x18(%rbp), %rax
movslq -0x28(%rbp), %rcx
movq (%rax,%rcx,8), %rsi
callq 0x571d0
movl %eax, -0x2c(%rbp)
movl -0x2c(%rbp), %edx
movq -0x8(%rbp), %rax
movq 0x20(%rax), %rax
movl -0x20(%rbp), %ecx
addl $0x2, %ecx
addl -0x28(%rbp), %ecx
movl %ecx, %ecx
movl %edx, (%rax,%rcx,4)
movl -0x28(%rbp), %eax
addl $0x1, %eax
movl %eax, -0x28(%rbp)
jmp 0x59bf3
addq $0x30, %rsp
popq %rbp
retq
nopl (%rax)