	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function special_function_p
_special_function_p:                    ## @special_function_p
	.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	%rbx
	pushq	%rax
	.cfi_offset %rbx, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movl	%esi, %r15d
	testq	%rdi, %rdi
	je	LBB0_47
## %bb.1:
	movq	%rdi, %rbx
	callq	_DECL_NAME
	testq	%rax, %rax
	je	LBB0_47
## %bb.2:
	movq	%rbx, %rdi
	callq	_DECL_NAME
	movq	%rax, %rdi
	callq	_IDENTIFIER_LENGTH
	cmpl	$17, %eax
	jg	LBB0_47
## %bb.3:
	movq	%rbx, %rdi
	callq	_DECL_CONTEXT
	movq	_NULL_TREE@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	je	LBB0_5
## %bb.4:
	movq	%rbx, %rdi
	callq	_DECL_CONTEXT
	movq	%rax, %rdi
	callq	_TREE_CODE
	movq	_TRANSLATION_UNIT_DECL@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_47
LBB0_5:
	movq	%rbx, %rdi
	callq	_TREE_PUBLIC
	testq	%rax, %rax
	je	LBB0_47
## %bb.6:
	movq	%rbx, %rdi
	callq	_DECL_NAME
	movq	%rax, %rdi
	callq	_IDENTIFIER_POINTER
	movq	%rax, %r14
	movq	%rbx, %rdi
	callq	_DECL_NAME
	movq	%rax, %rdi
	callq	_IDENTIFIER_LENGTH
	cmpl	$6, %eax
	jne	LBB0_10
## %bb.7:
	cmpb	$97, (%r14)
	jne	LBB0_10
## %bb.8:
	leaq	L_.str(%rip), %rsi
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_9
LBB0_10:
	movq	%rbx, %rdi
	callq	_DECL_NAME
	movq	%rax, %rdi
	callq	_IDENTIFIER_LENGTH
	movb	(%r14), %cl
	cmpl	$16, %eax
	jne	LBB0_15
## %bb.11:
	cmpb	$95, %cl
	jne	LBB0_21
## %bb.12:
	leaq	L_.str.1(%rip), %rsi
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	jne	LBB0_16
## %bb.13:
	movb	$95, %cl
	jmp	LBB0_14
LBB0_9:
	movb	$97, %cl
LBB0_14:
	movq	_ECF_MAY_BE_ALLOCA@GOTPCREL(%rip), %rax
	orl	(%rax), %r15d
LBB0_15:
	cmpb	$95, %cl
	jne	LBB0_21
LBB0_16:
	movb	1(%r14), %al
	cmpb	$95, %al
	jne	LBB0_19
## %bb.17:
	cmpb	$120, 2(%r14)
	jne	LBB0_19
## %bb.18:
	addq	$3, %r14
	jmp	LBB0_20
LBB0_19:
	leaq	1(%r14), %rcx
	addq	$2, %r14
	cmpb	$95, %al
	cmovneq	%rcx, %r14
LBB0_20:
	movb	(%r14), %cl
LBB0_21:
	addb	$-103, %cl
	cmpb	$15, %cl
	ja	LBB0_47
## %bb.22:
	movzbl	%cl, %eax
	leaq	LJTI0_0(%rip), %rcx
	movslq	(%rcx,%rax,4), %rax
	addq	%rcx, %rax
	jmpq	*%rax
LBB0_38:
	cmpb	$101, 1(%r14)
	jne	LBB0_47
## %bb.39:
	leaq	L_.str.9(%rip), %rsi
	jmp	LBB0_40
LBB0_42:
	cmpb	$111, 1(%r14)
	jne	LBB0_47
## %bb.43:
	leaq	L_.str.10(%rip), %rsi
	jmp	LBB0_44
LBB0_34:
	cmpb	$115, 1(%r14)
	jne	LBB0_47
## %bb.35:
	leaq	L_.str.7(%rip), %rsi
	jmp	LBB0_40
LBB0_23:
	movb	1(%r14), %bl
	cmpb	$97, %bl
	je	LBB0_29
## %bb.24:
	cmpb	$105, %bl
	je	LBB0_28
## %bb.25:
	cmpb	$101, %bl
	jne	LBB0_32
## %bb.26:
	leaq	L_.str.2(%rip), %rsi
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	je	LBB0_31
## %bb.27:
	leaq	L_.str.3(%rip), %rsi
	jmp	LBB0_30
LBB0_36:
	cmpb	$102, 1(%r14)
	jne	LBB0_47
## %bb.37:
	leaq	L_.str.8(%rip), %rsi
LBB0_40:
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	jne	LBB0_47
## %bb.41:
	movq	_ECF_RETURNS_TWICE@GOTPCREL(%rip), %rax
	jmp	LBB0_46
LBB0_29:
	leaq	L_.str.5(%rip), %rsi
LBB0_30:
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	jne	LBB0_47
	jmp	LBB0_31
LBB0_28:
	leaq	L_.str.4(%rip), %rsi
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	jne	LBB0_33
LBB0_31:
	movq	_ECF_RETURNS_TWICE@GOTPCREL(%rip), %rax
	orl	(%rax), %r15d
LBB0_32:
	cmpb	$105, %bl
	jne	LBB0_47
LBB0_33:
	leaq	L_.str.6(%rip), %rsi
LBB0_44:
	movq	%r14, %rdi
	callq	_strcmp
	testl	%eax, %eax
	jne	LBB0_47
## %bb.45:
	movq	_ECF_NORETURN@GOTPCREL(%rip), %rax
LBB0_46:
	orl	(%rax), %r15d
LBB0_47:
	movl	%r15d, %eax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
	.p2align	2, 0x90
	.data_region jt32
.set L0_0_set_38, LBB0_38-LJTI0_0
.set L0_0_set_47, LBB0_47-LJTI0_0
.set L0_0_set_42, LBB0_42-LJTI0_0
.set L0_0_set_34, LBB0_34-LJTI0_0
.set L0_0_set_23, LBB0_23-LJTI0_0
.set L0_0_set_36, LBB0_36-LJTI0_0
LJTI0_0:
	.long	L0_0_set_38
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_42
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_34
	.long	L0_0_set_47
	.long	L0_0_set_23
	.long	L0_0_set_47
	.long	L0_0_set_47
	.long	L0_0_set_36
	.end_data_region
                                        ## -- End function
	.comm	_NULL_TREE,8,3                  ## @NULL_TREE
	.comm	_TRANSLATION_UNIT_DECL,8,3      ## @TRANSLATION_UNIT_DECL
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"alloca"

L_.str.1:                               ## @.str.1
	.asciz	"__builtin_alloca"

	.comm	_ECF_MAY_BE_ALLOCA,4,2          ## @ECF_MAY_BE_ALLOCA
L_.str.2:                               ## @.str.2
	.asciz	"setjmp"

L_.str.3:                               ## @.str.3
	.asciz	"setjmp_syscall"

L_.str.4:                               ## @.str.4
	.asciz	"sigsetjmp"

L_.str.5:                               ## @.str.5
	.asciz	"savectx"

	.comm	_ECF_RETURNS_TWICE,4,2          ## @ECF_RETURNS_TWICE
L_.str.6:                               ## @.str.6
	.asciz	"siglongjmp"

	.comm	_ECF_NORETURN,4,2               ## @ECF_NORETURN
L_.str.7:                               ## @.str.7
	.asciz	"qsetjmp"

L_.str.8:                               ## @.str.8
	.asciz	"vfork"

L_.str.9:                               ## @.str.9
	.asciz	"getcontext"

L_.str.10:                              ## @.str.10
	.asciz	"longjmp"

	.no_dead_strip	_special_function_p
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function special_function_p
_special_function_p:                    ; @special_function_p
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.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
	mov	x19, x1
	cbz	x0, LBB0_47
; %bb.1:
	mov	x21, x0
	bl	_DECL_NAME
	cbz	x0, LBB0_47
; %bb.2:
	mov	x0, x21
	bl	_DECL_NAME
	bl	_IDENTIFIER_LENGTH
	cmp	w0, #17
	b.gt	LBB0_47
; %bb.3:
	mov	x0, x21
	bl	_DECL_CONTEXT
Lloh0:
	adrp	x8, _NULL_TREE@GOTPAGE
Lloh1:
	ldr	x8, [x8, _NULL_TREE@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	cmp	x0, x8
	b.eq	LBB0_5
; %bb.4:
	mov	x0, x21
	bl	_DECL_CONTEXT
	bl	_TREE_CODE
Lloh3:
	adrp	x8, _TRANSLATION_UNIT_DECL@GOTPAGE
Lloh4:
	ldr	x8, [x8, _TRANSLATION_UNIT_DECL@GOTPAGEOFF]
Lloh5:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_47
LBB0_5:
	mov	x0, x21
	bl	_TREE_PUBLIC
	cbz	x0, LBB0_47
; %bb.6:
	mov	x0, x21
	bl	_DECL_NAME
	bl	_IDENTIFIER_POINTER
	mov	x20, x0
	mov	x0, x21
	bl	_DECL_NAME
	bl	_IDENTIFIER_LENGTH
	cmp	w0, #6
	b.ne	LBB0_9
; %bb.7:
	ldrb	w8, [x20]
	cmp	w8, #97
	b.ne	LBB0_9
; %bb.8:
Lloh6:
	adrp	x1, l_.str@PAGE
Lloh7:
	add	x1, x1, l_.str@PAGEOFF
	mov	x0, x20
	bl	_strcmp
	cbz	w0, LBB0_13
LBB0_9:
	mov	x0, x21
	bl	_DECL_NAME
	bl	_IDENTIFIER_LENGTH
	ldrb	w8, [x20]
	cmp	w0, #16
	b.ne	LBB0_15
; %bb.10:
	cmp	w8, #95
	b.ne	LBB0_21
; %bb.11:
Lloh8:
	adrp	x1, l_.str.1@PAGE
Lloh9:
	add	x1, x1, l_.str.1@PAGEOFF
	mov	x0, x20
	bl	_strcmp
	cbnz	w0, LBB0_16
; %bb.12:
	mov	w8, #95
	b	LBB0_14
LBB0_13:
	mov	w8, #97
LBB0_14:
Lloh10:
	adrp	x9, _ECF_MAY_BE_ALLOCA@GOTPAGE
Lloh11:
	ldr	x9, [x9, _ECF_MAY_BE_ALLOCA@GOTPAGEOFF]
Lloh12:
	ldr	w9, [x9]
	orr	w19, w9, w19
LBB0_15:
	cmp	w8, #95
	b.ne	LBB0_21
LBB0_16:
	mov	x8, x20
	ldrb	w9, [x8, #1]!
	cmp	w9, #95
	b.ne	LBB0_19
; %bb.17:
	ldrb	w10, [x20, #2]
	cmp	w10, #120
	b.ne	LBB0_19
; %bb.18:
	add	x20, x20, #3
	b	LBB0_20
LBB0_19:
	add	x10, x20, #2
	cmp	w9, #95
	csel	x20, x10, x8, eq
LBB0_20:
	ldrb	w8, [x20]
LBB0_21:
	sub	w8, w8, #103
	cmp	w8, #15
	b.hi	LBB0_47
; %bb.22:
Lloh13:
	adrp	x9, lJTI0_0@PAGE
Lloh14:
	add	x9, x9, lJTI0_0@PAGEOFF
	adr	x10, LBB0_23
	ldrb	w11, [x9, x8]
	add	x10, x10, x11, lsl #2
	br	x10
LBB0_23:
	ldrb	w8, [x20, #1]
	cmp	w8, #101
	b.ne	LBB0_47
; %bb.24:
Lloh15:
	adrp	x1, l_.str.9@PAGE
Lloh16:
	add	x1, x1, l_.str.9@PAGEOFF
	b	LBB0_36
LBB0_25:
	ldrb	w8, [x20, #1]
	cmp	w8, #111
	b.ne	LBB0_47
; %bb.26:
Lloh17:
	adrp	x1, l_.str.10@PAGE
Lloh18:
	add	x1, x1, l_.str.10@PAGEOFF
	b	LBB0_44
LBB0_27:
	ldrb	w8, [x20, #1]
	cmp	w8, #115
	b.ne	LBB0_47
; %bb.28:
Lloh19:
	adrp	x1, l_.str.7@PAGE
Lloh20:
	add	x1, x1, l_.str.7@PAGEOFF
	b	LBB0_36
LBB0_29:
	ldrb	w21, [x20, #1]
	cmp	w21, #97
	b.eq	LBB0_38
; %bb.30:
	cmp	w21, #105
	b.eq	LBB0_40
; %bb.31:
	cmp	w21, #101
	b.ne	LBB0_42
; %bb.32:
Lloh21:
	adrp	x1, l_.str.2@PAGE
Lloh22:
	add	x1, x1, l_.str.2@PAGEOFF
	mov	x0, x20
	bl	_strcmp
	cbz	w0, LBB0_41
; %bb.33:
Lloh23:
	adrp	x1, l_.str.3@PAGE
Lloh24:
	add	x1, x1, l_.str.3@PAGEOFF
	b	LBB0_39
LBB0_34:
	ldrb	w8, [x20, #1]
	cmp	w8, #102
	b.ne	LBB0_47
; %bb.35:
Lloh25:
	adrp	x1, l_.str.8@PAGE
Lloh26:
	add	x1, x1, l_.str.8@PAGEOFF
LBB0_36:
	mov	x0, x20
	bl	_strcmp
	cbnz	w0, LBB0_47
; %bb.37:
Lloh27:
	adrp	x8, _ECF_RETURNS_TWICE@GOTPAGE
Lloh28:
	ldr	x8, [x8, _ECF_RETURNS_TWICE@GOTPAGEOFF]
	b	LBB0_46
LBB0_38:
Lloh29:
	adrp	x1, l_.str.5@PAGE
Lloh30:
	add	x1, x1, l_.str.5@PAGEOFF
LBB0_39:
	mov	x0, x20
	bl	_strcmp
	cbnz	w0, LBB0_47
	b	LBB0_41
LBB0_40:
Lloh31:
	adrp	x1, l_.str.4@PAGE
Lloh32:
	add	x1, x1, l_.str.4@PAGEOFF
	mov	x0, x20
	bl	_strcmp
	cbnz	w0, LBB0_43
LBB0_41:
Lloh33:
	adrp	x8, _ECF_RETURNS_TWICE@GOTPAGE
Lloh34:
	ldr	x8, [x8, _ECF_RETURNS_TWICE@GOTPAGEOFF]
Lloh35:
	ldr	w8, [x8]
	orr	w19, w8, w19
LBB0_42:
	cmp	w21, #105
	b.ne	LBB0_47
LBB0_43:
Lloh36:
	adrp	x1, l_.str.6@PAGE
Lloh37:
	add	x1, x1, l_.str.6@PAGEOFF
LBB0_44:
	mov	x0, x20
	bl	_strcmp
	cbnz	w0, LBB0_47
; %bb.45:
Lloh38:
	adrp	x8, _ECF_NORETURN@GOTPAGE
Lloh39:
	ldr	x8, [x8, _ECF_NORETURN@GOTPAGEOFF]
LBB0_46:
	ldr	w8, [x8]
	orr	w19, w8, w19
LBB0_47:
	mov	x0, x19
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpAdd	Lloh6, Lloh7
	.loh AdrpAdd	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.loh AdrpAdd	Lloh19, Lloh20
	.loh AdrpAdd	Lloh21, Lloh22
	.loh AdrpAdd	Lloh23, Lloh24
	.loh AdrpAdd	Lloh25, Lloh26
	.loh AdrpLdrGot	Lloh27, Lloh28
	.loh AdrpAdd	Lloh29, Lloh30
	.loh AdrpAdd	Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpAdd	Lloh36, Lloh37
	.loh AdrpLdrGot	Lloh38, Lloh39
	.cfi_endproc
	.section	__TEXT,__const
lJTI0_0:
	.byte	(LBB0_23-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_25-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_27-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_29-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_47-LBB0_23)>>2
	.byte	(LBB0_34-LBB0_23)>>2
                                        ; -- End function
	.comm	_NULL_TREE,8,3                  ; @NULL_TREE
	.comm	_TRANSLATION_UNIT_DECL,8,3      ; @TRANSLATION_UNIT_DECL
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"alloca"

l_.str.1:                               ; @.str.1
	.asciz	"__builtin_alloca"

	.comm	_ECF_MAY_BE_ALLOCA,4,2          ; @ECF_MAY_BE_ALLOCA
l_.str.2:                               ; @.str.2
	.asciz	"setjmp"

l_.str.3:                               ; @.str.3
	.asciz	"setjmp_syscall"

l_.str.4:                               ; @.str.4
	.asciz	"sigsetjmp"

l_.str.5:                               ; @.str.5
	.asciz	"savectx"

	.comm	_ECF_RETURNS_TWICE,4,2          ; @ECF_RETURNS_TWICE
l_.str.6:                               ; @.str.6
	.asciz	"siglongjmp"

	.comm	_ECF_NORETURN,4,2               ; @ECF_NORETURN
l_.str.7:                               ; @.str.7
	.asciz	"qsetjmp"

l_.str.8:                               ; @.str.8
	.asciz	"vfork"

l_.str.9:                               ; @.str.9
	.asciz	"getcontext"

l_.str.10:                              ; @.str.10
	.asciz	"longjmp"

	.no_dead_strip	_special_function_p
.subsections_via_symbols
