// File: /workspace/github_c_makefile_star2_O2/dpw[P]skinny-mutex/test.c
// Function: do_test
static void do_test(void (*f)(skinny_mutex_t *m), int hammer)
{
	do_test_simple(f);
	do_test_cond_wait(f);
	if (hammer)
		do_test_hammer(f);
}

// Assembly:
pushq %rbp
pushq %r15
pushq %r14
pushq %r12
pushq %rbx
subq $0x60, %rsp
movl %esi, %ebp
movq %rdi, %rbx
leaq 0x10(%rsp), %r14
andq $0x0, (%r14)
movq %r14, %rdi
callq *%rbx
cmpq $0x0, (%r14)
jne 0x1bf3
leaq 0x18(%rsp), %r14
andq $0x0, -0x8(%r14)
movq %r14, %rdi
xorl %esi, %esi
callq 0x10f0
testl %eax, %eax
jne 0x1c12
leaq 0x10(%rsp), %rcx
andl $0x0, 0x38(%rcx)
leaq 0xc6e(%rip), %rdx       # 0x2668
movq %rsp, %rdi
xorl %esi, %esi
callq 0x1130
testl %eax, %eax
jne 0x1c31
leaq 0x10(%rsp), %rdi
callq 0x2642
testl %eax, %eax
jne 0x1c50
leaq 0x10(%rsp), %r15
cmpl $0x1, 0x48(%rsp)
je 0x1a58
movq %r14, %rdi
movq %r15, %rsi
callq 0x189f
testl %eax, %eax
je 0x1a23
leaq 0x187e(%rip), %rdi      # 0x32be
leaq 0x170f(%rip), %rsi      # 0x3156
leaq 0x17c3(%rip), %rcx      # 0x3211
movl $0x118, %edx            # imm = 0x118
callq 0x10b0
leaq 0x10(%rsp), %rdi
callq 0x2655
testl %eax, %eax
jne 0x1c6f
leaq 0x10(%rsp), %r15
movq %r15, %rdi
callq *%rbx
movq %r15, %rdi
callq 0x2642
testl %eax, %eax
jne 0x1c8e
movl $0x2, 0x48(%rsp)
movq %r14, %rdi
callq 0x10c0
testl %eax, %eax
jne 0x1cad
leaq 0x10(%rsp), %rdi
callq 0x2655
testl %eax, %eax
jne 0x1ccc
movq (%rsp), %rdi
xorl %esi, %esi
callq 0x1170
testl %eax, %eax
jne 0x1ceb
cmpq $0x0, 0x10(%rsp)
jne 0x1d0a
movq %r14, %rdi
callq 0x1150
testl %eax, %eax
jne 0x1d29
testl %ebp, %ebp
je 0x1b89
movq %rsp, %r14
andq $0x0, (%r14)
xorl %ecx, %ecx
leaq 0xc41(%rip), %r15       # 0x2736
leaq 0x8(%rcx), %r12
cmpq $0x58, %r12
je 0x1b3a
leaq (%rsp,%rcx), %rdi
addq $0x10, %rdi
xorl %esi, %esi
movq %r15, %rdx
movq %r14, %rcx
callq 0x1130
movq %r12, %rcx
testl %eax, %eax
je 0x1af5
leaq 0x1946(%rip), %rdi      # 0x3468
leaq 0x162d(%rip), %rsi      # 0x3156
leaq 0x1908(%rip), %rcx      # 0x3438
movl $0x141, %edx            # imm = 0x141
callq 0x10b0
callq 0x2797
movq %rsp, %rdi
callq *%rbx
xorl %r14d, %r14d
leaq 0x8(%rsp), %rbx
cmpq $0xa, %r14
je 0x1b7e
movq 0x10(%rsp,%r14,8), %rdi
callq 0x1190
testl %eax, %eax
jne 0x1bd4
movq 0x10(%rsp,%r14,8), %rdi
movq %rbx, %rsi
callq 0x1170
testl %eax, %eax
jne 0x1bb5
cmpq $-0x1, 0x8(%rsp)
jne 0x1b96
incq %r14
jmp 0x1b4c
cmpq $0x0, (%rsp)
jne 0x1d48
addq $0x60, %rsp
popq %rbx
popq %r12
popq %r14
popq %r15
popq %rbp
retq
leaq 0x194c(%rip), %rdi      # 0x34e9
leaq 0x15b2(%rip), %rsi      # 0x3156
leaq 0x188d(%rip), %rcx      # 0x3438
movl $0x14a, %edx            # imm = 0x14A
callq 0x10b0
leaq 0x190a(%rip), %rdi      # 0x34c6
leaq 0x1593(%rip), %rsi      # 0x3156
leaq 0x186e(%rip), %rcx      # 0x3438
movl $0x149, %edx            # imm = 0x149
callq 0x10b0
leaq 0x18cf(%rip), %rdi      # 0x34aa
leaq 0x1574(%rip), %rsi      # 0x3156
leaq 0x184f(%rip), %rcx      # 0x3438
movl $0x148, %edx            # imm = 0x148
callq 0x10b0
leaq 0x15f9(%rip), %rdi      # 0x31f3
leaq 0x1555(%rip), %rsi      # 0x3156
leaq 0x15bb(%rip), %rcx      # 0x31c3
movl $0xef, %edx
callq 0x10b0
leaq 0x162b(%rip), %rdi      # 0x3244
leaq 0x1536(%rip), %rsi      # 0x3156
leaq 0x15ea(%rip), %rcx      # 0x3211
movl $0x112, %edx            # imm = 0x112
callq 0x10b0
leaq 0x162f(%rip), %rdi      # 0x3267
leaq 0x1517(%rip), %rsi      # 0x3156
leaq 0x15cb(%rip), %rcx      # 0x3211
movl $0x114, %edx            # imm = 0x114
callq 0x10b0
leaq 0x1649(%rip), %rdi      # 0x32a0
leaq 0x14f8(%rip), %rsi      # 0x3156
leaq 0x15ac(%rip), %rcx      # 0x3211
movl $0x116, %edx            # imm = 0x116
callq 0x10b0
leaq 0x1675(%rip), %rdi      # 0x32eb
leaq 0x14d9(%rip), %rsi      # 0x3156
leaq 0x158d(%rip), %rcx      # 0x3211
movl $0x11a, %edx            # imm = 0x11A
callq 0x10b0
leaq 0x160b(%rip), %rdi      # 0x32a0
leaq 0x14ba(%rip), %rsi      # 0x3156
leaq 0x156e(%rip), %rcx      # 0x3211
movl $0x11e, %edx            # imm = 0x11E
callq 0x10b0
leaq 0x1657(%rip), %rdi      # 0x330b
leaq 0x149b(%rip), %rsi      # 0x3156
leaq 0x154f(%rip), %rcx      # 0x3211
movl $0x120, %edx            # imm = 0x120
callq 0x10b0
leaq 0x1618(%rip), %rdi      # 0x32eb
leaq 0x147c(%rip), %rsi      # 0x3156
leaq 0x1530(%rip), %rcx      # 0x3211
movl $0x121, %edx            # imm = 0x121
callq 0x10b0
leaq 0x1638(%rip), %rdi      # 0x332a
leaq 0x145d(%rip), %rsi      # 0x3156
leaq 0x1511(%rip), %rcx      # 0x3211
movl $0x123, %edx            # imm = 0x123
callq 0x10b0
leaq 0x1635(%rip), %rdi      # 0x3346
leaq 0x143e(%rip), %rsi      # 0x3156
leaq 0x14f2(%rip), %rcx      # 0x3211
movl $0x124, %edx            # imm = 0x124
callq 0x10b0
leaq 0x1637(%rip), %rdi      # 0x3367
leaq 0x141f(%rip), %rsi      # 0x3156
leaq 0x14d3(%rip), %rcx      # 0x3211
movl $0x125, %edx            # imm = 0x125
callq 0x10b0
leaq 0x14a4(%rip), %rdi      # 0x31f3
leaq 0x1400(%rip), %rsi      # 0x3156
leaq 0x16db(%rip), %rcx      # 0x3438
movl $0x14d, %edx            # imm = 0x14D
callq 0x10b0