	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ## -- Begin function main
	.p2align	4, 0x90
_main:                                  ## @main
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r15
	pushq	%r14
	pushq	%r12
	pushq	%rbx
	subq	$16, %rsp
	.cfi_offset %rbx, -48
	.cfi_offset %r12, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	leaq	L_str(%rip), %rdi
	callq	_puts
	movq	_AF_UNIX@GOTPCREL(%rip), %r15
	movl	(%r15), %edi
	movq	_SOCK_STREAM@GOTPCREL(%rip), %r12
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	movl	%ebx, %edi
	callq	_ioctl_tests_0
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	movl	%ebx, %edi
	callq	_ioctl_tests_1
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	movl	%ebx, %edi
	callq	_ioctl_tests_2
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	xorl	%eax, %eax
	callq	_fork
	testl	%eax, %eax
	je	LBB0_3
## %bb.1:
	cmpl	$-1, %eax
	jne	LBB0_4
## %bb.2:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_3:
	movl	%ebx, %edi
	callq	_ioctl_tests_0
	movl	%ebx, %edi
	jmp	LBB0_40
LBB0_4:
	movl	%eax, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_waitpid
	cmpl	$-1, %eax
	jne	LBB0_6
## %bb.5:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_6:
	movl	%ebx, %edi
	callq	_ioctl_tests_0
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %r14d
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	xorl	%eax, %eax
	callq	_fork
	testl	%eax, %eax
	je	LBB0_9
## %bb.7:
	movl	%eax, %ebx
	cmpl	$-1, %eax
	jne	LBB0_10
## %bb.8:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_9:
	movl	$1, %edi
	callq	_sleep
	movl	%r14d, %edi
	callq	_ioctl_tests_0
	movl	%r14d, %edi
LBB0_40:
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	xorl	%edi, %edi
	callq	_exit
LBB0_10:
	movl	%r14d, %edi
	callq	_ioctl_tests_0
	movl	%ebx, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_waitpid
	cmpl	$-1, %eax
	jne	LBB0_12
## %bb.11:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_12:
	movl	%r14d, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	leaq	-44(%rbp), %rdi
	xorl	%esi, %esi
	callq	_pdfork
	testl	%eax, %eax
	je	LBB0_15
## %bb.13:
	cmpl	$-1, %eax
	jne	LBB0_16
## %bb.14:
	leaq	L_.str.3(%rip), %rsi
	movl	$1, %edi
	callq	_err
	jmp	LBB0_15
LBB0_16:
	movl	-44(%rbp), %edi
	callq	_pdwait
	cmpl	$-1, %eax
	jne	LBB0_18
## %bb.17:
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_18:
	movl	-44(%rbp), %edi
	callq	_close
	movl	%ebx, %edi
	callq	_ioctl_tests_1
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	leaq	-44(%rbp), %rdi
	xorl	%esi, %esi
	callq	_pdfork
	testl	%eax, %eax
	je	LBB0_21
## %bb.19:
	cmpl	$-1, %eax
	jne	LBB0_22
## %bb.20:
	leaq	L_.str.3(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_21:
	movl	$1, %edi
	callq	_sleep
LBB0_15:
	movl	%ebx, %edi
	callq	_ioctl_tests_1
	xorl	%edi, %edi
	callq	_exit
LBB0_22:
	movl	%ebx, %edi
	callq	_ioctl_tests_1
	movl	-44(%rbp), %edi
	callq	_pdwait
	cmpl	$-1, %eax
	jne	LBB0_24
## %bb.23:
	leaq	L_.str.4(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_24:
	movl	-44(%rbp), %edi
	callq	_close
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	xorl	%eax, %eax
	callq	_fork
	testl	%eax, %eax
	je	LBB0_27
## %bb.25:
	cmpl	$-1, %eax
	jne	LBB0_29
## %bb.26:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_27:
	movl	%ebx, %edi
	jmp	LBB0_28
LBB0_29:
	movl	%eax, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_waitpid
	cmpl	$-1, %eax
	jne	LBB0_31
## %bb.30:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_31:
	movl	%ebx, %edi
	callq	_ioctl_tests_2
	movl	%ebx, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	xorl	%edx, %edx
	callq	_socket
	movl	%eax, %r14d
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	xorl	%eax, %eax
	callq	_fork
	testl	%eax, %eax
	je	LBB0_34
## %bb.32:
	movl	%eax, %ebx
	cmpl	$-1, %eax
	jne	LBB0_35
## %bb.33:
	leaq	L_.str.1(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_34:
	movl	$1, %edi
	callq	_sleep
	movl	%r14d, %edi
LBB0_28:
	callq	_ioctl_tests_2
	xorl	%edi, %edi
	callq	_exit
LBB0_35:
	movl	%r14d, %edi
	callq	_ioctl_tests_2
	movl	%ebx, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_waitpid
	cmpl	$-1, %eax
	jne	LBB0_37
## %bb.36:
	leaq	L_.str.2(%rip), %rsi
	movl	$1, %edi
	callq	_err
LBB0_37:
	movl	%r14d, %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	leaq	-40(%rbp), %rcx
	xorl	%edx, %edx
	callq	_socketpair
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	xorl	%eax, %eax
	callq	_fork
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	testl	%ebx, %ebx
	jne	LBB0_41
## %bb.38:
	movl	-40(%rbp), %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	-36(%rbp), %edi
	callq	_ioctl_tests_recv_0
	jmp	LBB0_39
LBB0_41:
	movl	-36(%rbp), %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	-40(%rbp), %edi
	callq	_ioctl_tests_send_0
	movl	%ebx, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_waitpid
	xorl	%edi, %edi
	cmpl	%ebx, %eax
	sete	%dil
	callq	_CHECK
	movl	-40(%rbp), %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	(%r15), %edi
	movl	(%r12), %esi
	leaq	-40(%rbp), %rcx
	xorl	%edx, %edx
	callq	_socketpair
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	xorl	%eax, %eax
	callq	_fork
	movl	%eax, %ebx
	movl	%eax, %edi
	notl	%edi
	shrl	$31, %edi
	callq	_CHECK
	testl	%ebx, %ebx
	jne	LBB0_43
## %bb.42:
	movl	-40(%rbp), %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	-36(%rbp), %edi
	callq	_ioctl_tests_send_0
LBB0_39:
	movl	-36(%rbp), %edi
	jmp	LBB0_40
LBB0_43:
	movl	-36(%rbp), %edi
	callq	_close
	xorl	%edi, %edi
	testq	%rax, %rax
	sete	%dil
	callq	_CHECK
	movl	-40(%rbp), %edi
	callq	_ioctl_tests_recv_0
	movl	%ebx, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_waitpid
	xorl	%edi, %edi
	cmpl	%ebx, %eax
	sete	%dil
	callq	_CHECK
	movl	-40(%rbp), %edi
	jmp	LBB0_40
	.cfi_endproc
                                        ## -- End function
	.comm	_AF_UNIX,4,2                    ## @AF_UNIX
	.comm	_SOCK_STREAM,4,2                ## @SOCK_STREAM
	.section	__TEXT,__cstring,cstring_literals
L_.str.1:                               ## @.str.1
	.asciz	"fork() failed"

L_.str.2:                               ## @.str.2
	.asciz	"waitpid() failed"

L_.str.3:                               ## @.str.3
	.asciz	"pdfork() failed"

L_.str.4:                               ## @.str.4
	.asciz	"pdwait() failed"

L_str:                                  ## @str
	.asciz	"1..607"

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_main                           ; -- Begin function main
	.p2align	2
_main:                                  ; @main
	.cfi_startproc
; %bb.0:
	sub	sp, sp, #64
	.cfi_def_cfa_offset 64
	stp	x22, x21, [sp, #16]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #32]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #48]             ; 16-byte Folded Spill
	add	x29, sp, #48
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
Lloh0:
	adrp	x0, l_str@PAGE
Lloh1:
	add	x0, x0, l_str@PAGEOFF
	bl	_puts
Lloh2:
	adrp	x21, _AF_UNIX@GOTPAGE
Lloh3:
	ldr	x21, [x21, _AF_UNIX@GOTPAGEOFF]
	ldr	w0, [x21]
Lloh4:
	adrp	x22, _SOCK_STREAM@GOTPAGE
Lloh5:
	ldr	x22, [x22, _SOCK_STREAM@GOTPAGEOFF]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	mov	x0, x19
	bl	_ioctl_tests_0
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	mov	x0, x19
	bl	_ioctl_tests_1
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	mov	x0, x19
	bl	_ioctl_tests_2
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	bl	_fork
	cbz	w0, LBB0_9
; %bb.1:
	cmn	w0, #1
	b.ne	LBB0_3
; %bb.2:
Lloh6:
	adrp	x1, l_.str.1@PAGE
Lloh7:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
	b	LBB0_9
LBB0_3:
	mov	x1, #0
	mov	w2, #0
	bl	_waitpid
	cmn	w0, #1
	b.ne	LBB0_5
; %bb.4:
Lloh8:
	adrp	x1, l_.str.2@PAGE
Lloh9:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_5:
	mov	x0, x19
	bl	_ioctl_tests_0
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	bl	_fork
	cbz	w0, LBB0_8
; %bb.6:
	mov	x20, x0
	cmn	w0, #1
	b.ne	LBB0_11
; %bb.7:
Lloh10:
	adrp	x1, l_.str.1@PAGE
Lloh11:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_8:
	mov	w0, #1
	bl	_sleep
LBB0_9:
	mov	x0, x19
	bl	_ioctl_tests_0
	mov	x0, x19
LBB0_10:
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	mov	w0, #0
	bl	_exit
LBB0_11:
	mov	x0, x19
	bl	_ioctl_tests_0
	mov	x0, x20
	mov	x1, #0
	mov	w2, #0
	bl	_waitpid
	cmn	w0, #1
	b.ne	LBB0_13
; %bb.12:
Lloh12:
	adrp	x1, l_.str.2@PAGE
Lloh13:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_13:
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	add	x0, sp, #12
	mov	w1, #0
	bl	_pdfork
	cbz	w0, LBB0_22
; %bb.14:
	cmn	w0, #1
	b.ne	LBB0_16
; %bb.15:
Lloh14:
	adrp	x1, l_.str.3@PAGE
Lloh15:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	w0, #1
	bl	_err
	b	LBB0_22
LBB0_16:
	ldr	w0, [sp, #12]
	bl	_pdwait
	cmn	w0, #1
	b.ne	LBB0_18
; %bb.17:
Lloh16:
	adrp	x1, l_.str.4@PAGE
Lloh17:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_18:
	ldr	w0, [sp, #12]
	bl	_close
	mov	x0, x19
	bl	_ioctl_tests_1
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	add	x0, sp, #12
	mov	w1, #0
	bl	_pdfork
	cbz	w0, LBB0_21
; %bb.19:
	cmn	w0, #1
	b.ne	LBB0_23
; %bb.20:
Lloh18:
	adrp	x1, l_.str.3@PAGE
Lloh19:
	add	x1, x1, l_.str.3@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_21:
	mov	w0, #1
	bl	_sleep
LBB0_22:
	mov	x0, x19
	bl	_ioctl_tests_1
	mov	w0, #0
	bl	_exit
LBB0_23:
	mov	x0, x19
	bl	_ioctl_tests_1
	ldr	w0, [sp, #12]
	bl	_pdwait
	cmn	w0, #1
	b.ne	LBB0_25
; %bb.24:
Lloh20:
	adrp	x1, l_.str.4@PAGE
Lloh21:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_25:
	ldr	w0, [sp, #12]
	bl	_close
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	bl	_fork
	cbz	w0, LBB0_34
; %bb.26:
	cmn	w0, #1
	b.ne	LBB0_28
; %bb.27:
Lloh22:
	adrp	x1, l_.str.1@PAGE
Lloh23:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
	b	LBB0_34
LBB0_28:
	mov	x1, #0
	mov	w2, #0
	bl	_waitpid
	cmn	w0, #1
	b.ne	LBB0_30
; %bb.29:
Lloh24:
	adrp	x1, l_.str.2@PAGE
Lloh25:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_30:
	mov	x0, x19
	bl	_ioctl_tests_2
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	mov	w2, #0
	bl	_socket
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	bl	_fork
	cbz	w0, LBB0_33
; %bb.31:
	mov	x20, x0
	cmn	w0, #1
	b.ne	LBB0_35
; %bb.32:
Lloh26:
	adrp	x1, l_.str.1@PAGE
Lloh27:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_33:
	mov	w0, #1
	bl	_sleep
LBB0_34:
	mov	x0, x19
	bl	_ioctl_tests_2
	mov	w0, #0
	bl	_exit
LBB0_35:
	mov	x0, x19
	bl	_ioctl_tests_2
	mov	x0, x20
	mov	x1, #0
	mov	w2, #0
	bl	_waitpid
	cmn	w0, #1
	b.ne	LBB0_37
; %bb.36:
Lloh28:
	adrp	x1, l_.str.2@PAGE
Lloh29:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	w0, #1
	bl	_err
LBB0_37:
	mov	x0, x19
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	add	x3, sp, #4
	mov	w2, #0
	bl	_socketpair
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	bl	_fork
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	cbnz	w19, LBB0_39
; %bb.38:
	ldr	w0, [sp, #4]
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [sp, #8]
	bl	_ioctl_tests_recv_0
	b	LBB0_41
LBB0_39:
	ldr	w0, [sp, #8]
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [sp, #4]
	bl	_ioctl_tests_send_0
	mov	x0, x19
	mov	x1, #0
	mov	w2, #0
	bl	_waitpid
	cmp	w0, w19
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [sp, #4]
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [x21]
	ldr	w1, [x22]
	add	x3, sp, #4
	mov	w2, #0
	bl	_socketpair
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	bl	_fork
	mov	x19, x0
	mvn	w8, w0
	lsr	w0, w8, #31
	bl	_CHECK
	cbnz	w19, LBB0_42
; %bb.40:
	ldr	w0, [sp, #4]
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [sp, #8]
	bl	_ioctl_tests_send_0
LBB0_41:
	ldr	w0, [sp, #8]
	b	LBB0_10
LBB0_42:
	ldr	w0, [sp, #8]
	bl	_close
	cmp	x0, #0
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [sp, #4]
	bl	_ioctl_tests_recv_0
	mov	x0, x19
	mov	x1, #0
	mov	w2, #0
	bl	_waitpid
	cmp	w0, w19
	cset	w0, eq
	bl	_CHECK
	ldr	w0, [sp, #4]
	b	LBB0_10
	.loh AdrpLdrGot	Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpAdd	Lloh10, Lloh11
	.loh AdrpAdd	Lloh12, Lloh13
	.loh AdrpAdd	Lloh14, Lloh15
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpAdd	Lloh18, Lloh19
	.loh AdrpAdd	Lloh20, Lloh21
	.loh AdrpAdd	Lloh22, Lloh23
	.loh AdrpAdd	Lloh24, Lloh25
	.loh AdrpAdd	Lloh26, Lloh27
	.loh AdrpAdd	Lloh28, Lloh29
	.cfi_endproc
                                        ; -- End function
	.comm	_AF_UNIX,4,2                    ; @AF_UNIX
	.comm	_SOCK_STREAM,4,2                ; @SOCK_STREAM
	.section	__TEXT,__cstring,cstring_literals
l_.str.1:                               ; @.str.1
	.asciz	"fork() failed"

l_.str.2:                               ; @.str.2
	.asciz	"waitpid() failed"

l_.str.3:                               ; @.str.3
	.asciz	"pdfork() failed"

l_.str.4:                               ; @.str.4
	.asciz	"pdwait() failed"

l_str:                                  ; @str
	.asciz	"1..607"

.subsections_via_symbols
