// File: /workspace/github_cpp_makefile_star2_O3/wichtounet[P]articles/src/vector_list_update_1/bench.cpp
// Function: bench_fill_back<Trivial<8>>::run()
static void run(){
        new_graph<T>("fill_front", "us");

        auto sizes = { 10000, 20000, 30000, 40000, 50000, 60000, 70000, 80000, 90000, 100000 };

        // it is too slow with bigger data types
        if(is_small<T>()){
            bench<std::vector<T>, microseconds, Empty, FillFront>("vector", sizes);
        }

        bench<std::list<T>,   microseconds, Empty, FillFront>("list",   sizes);
        bench<std::deque<T>,  microseconds, Empty, FillFront>("deque",  sizes);
        // colony is unordered
    }

// Assembly:
pushq %r15
pushq %r14
pushq %rbx
subq $0x60, %rsp
leaq 0x40(%rsp), %r15
movq %r15, -0x10(%r15)
leaq 0xad203(%rip), %rsi     # 0xb7ca0
leaq 0xad205(%rip), %rdx     # 0xb7ca9
leaq 0x30(%rsp), %rdi
callq 0xc07e
leaq 0x10(%rsp), %r14
movq %r14, -0x10(%r14)
leaq 0xad1ec(%rip), %rsi     # 0xb7caa
leaq 0xad1e7(%rip), %rdx     # 0xb7cac
movq %rsp, %rdi
callq 0xc07e
leaq 0x30(%rsp), %rbx
movq %rsp, %rsi
movq %rbx, %rdi
callq 0xad46
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xaaeb
callq 0x41a0
movq 0x30(%rsp), %rdi
cmpq %r15, %rdi
je 0xaafa
callq 0x41a0
vmovups 0xacb26(%rip), %ymm0    # 0xb7628
movabsq $0xf4240000dbba0, %rax  # imm = 0xF4240000DBBA0
movq %rbx, 0x20(%rsp)
movq %rsp, %rdi
movq $0xa, 0x28(%rsp)
movq %r14, (%rdi)
movq %rax, 0x50(%rsp)
vmovups %ymm0, 0x30(%rsp)
leaq 0xad17b(%rip), %rsi     # 0xb7cad
leaq 0xad17a(%rip), %rdx     # 0xb7cb3
vzeroupper
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xaf4e
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xab5c
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad14b(%rip), %rsi     # 0xb7cb4
leaq 0xad148(%rip), %rdx     # 0xb7cb8
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xb154
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xab90
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad11c(%rip), %rsi     # 0xb7cb9
leaq 0xad11a(%rip), %rdx     # 0xb7cbe
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xb349
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xabc4
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad0ee(%rip), %rsi     # 0xb7cbf
leaq 0xad0f5(%rip), %rdx     # 0xb7ccd
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xb55b
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xabf8
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad0c9(%rip), %rsi     # 0xb7cce
leaq 0xad0c8(%rip), %rdx     # 0xb7cd4
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xb752
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xac2c
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad09c(%rip), %rsi     # 0xb7cd5
leaq 0xad0a3(%rip), %rdx     # 0xb7ce3
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xb96d
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xac60
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad061(%rip), %rsi     # 0xb7cce
leaq 0xad060(%rip), %rdx     # 0xb7cd4
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xbb98
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xac94
callq 0x41a0
movq %rsp, %rdi
movq %r14, (%rdi)
leaq 0xad034(%rip), %rsi     # 0xb7cd5
leaq 0xad03b(%rip), %rdx     # 0xb7ce3
callq 0xc07e
leaq 0x20(%rsp), %rsi
movq %rsp, %rdi
callq 0xbdba
movq (%rsp), %rdi
cmpq %r14, %rdi
je 0xacc8
callq 0x41a0
addq $0x60, %rsp
popq %rbx
popq %r14
popq %r15
retq
jmp 0xacee
jmp 0xad25
jmp 0xacee
jmp 0xad25
jmp 0xacee
jmp 0xad25
jmp 0xacee
jmp 0xad25
jmp 0xacee
jmp 0xad25
jmp 0xacee
jmp 0xad25
jmp 0xacee
jmp 0xad25
movq (%rsp), %rdi
movq %rax, %rbx
cmpq %r14, %rdi
jne 0xad1e
jmp 0xad28
jmp 0xad25
movq (%rsp), %rdi
movq %rax, %rbx
cmpq %r14, %rdi
je 0xad14
callq 0x41a0
jmp 0xad14
movq %rax, %rbx
movq 0x30(%rsp), %rdi
cmpq %r15, %rdi
je 0xad28
callq 0x41a0
jmp 0xad28
movq %rax, %rbx
movq %rbx, %rdi
callq 0x42d0