	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function thumb_compute_save_reg_mask
_thumb_compute_save_reg_mask:           ## @thumb_compute_save_reg_mask
	.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
	movq	_regs_ever_live@GOTPCREL(%rip), %rax
	movq	(%rax), %rdx
	movq	_call_used_regs@GOTPCREL(%rip), %r14
	movq	(%r14), %rcx
	cmpq	$0, (%rdx)
	je	LBB0_1
## %bb.2:
	xorl	%eax, %eax
	cmpl	$0, (%rcx)
	sete	%al
	cmpq	$0, 8(%rdx)
	je	LBB0_5
LBB0_4:
	leaq	2(%rax), %rsi
	cmpl	$0, 4(%rcx)
	cmoveq	%rsi, %rax
LBB0_5:
	cmpq	$0, 16(%rdx)
	je	LBB0_7
## %bb.6:
	leaq	4(%rax), %rsi
	cmpl	$0, 8(%rcx)
	cmoveq	%rsi, %rax
LBB0_7:
	cmpq	$0, 24(%rdx)
	je	LBB0_9
## %bb.8:
	leaq	8(%rax), %rsi
	cmpl	$0, 12(%rcx)
	cmoveq	%rsi, %rax
LBB0_9:
	cmpq	$0, 32(%rdx)
	je	LBB0_11
## %bb.10:
	leaq	16(%rax), %rsi
	cmpl	$0, 16(%rcx)
	cmoveq	%rsi, %rax
LBB0_11:
	cmpq	$0, 40(%rdx)
	je	LBB0_13
## %bb.12:
	leaq	32(%rax), %rsi
	cmpl	$0, 20(%rcx)
	cmoveq	%rsi, %rax
LBB0_13:
	cmpq	$0, 48(%rdx)
	je	LBB0_15
## %bb.14:
	leaq	64(%rax), %rsi
	cmpl	$0, 24(%rcx)
	cmoveq	%rsi, %rax
LBB0_15:
	cmpq	$0, 56(%rdx)
	je	LBB0_17
## %bb.16:
	leaq	128(%rax), %rsi
	cmpl	$0, 28(%rcx)
	cmoveq	%rsi, %rax
LBB0_17:
	cmpq	$0, 64(%rdx)
	je	LBB0_19
## %bb.18:
	leaq	256(%rax), %rsi
	cmpl	$0, 32(%rcx)
	cmoveq	%rsi, %rax
LBB0_19:
	cmpq	$0, 72(%rdx)
	je	LBB0_21
## %bb.20:
	leaq	512(%rax), %rsi
	cmpl	$0, 36(%rcx)
	cmoveq	%rsi, %rax
LBB0_21:
	cmpq	$0, 80(%rdx)
	je	LBB0_23
## %bb.22:
	leaq	1024(%rax), %rsi
	cmpl	$0, 40(%rcx)
	cmoveq	%rsi, %rax
LBB0_23:
	cmpq	$0, 88(%rdx)
	je	LBB0_25
## %bb.24:
	leaq	2048(%rax), %rdx
	cmpl	$0, 44(%rcx)
	cmoveq	%rdx, %rax
LBB0_25:
	movq	_flag_pic@GOTPCREL(%rip), %rcx
	cmpq	$0, (%rcx)
	je	LBB0_30
## %bb.26:
	movq	_TARGET_SINGLE_PIC_BASE@GOTPCREL(%rip), %rcx
	cmpl	$0, (%rcx)
	jne	LBB0_30
## %bb.27:
	movq	_arm_pic_register@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	_INVALID_REGNUM@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	je	LBB0_30
## %bb.28:
	movq	_current_function_uses_pic_offset_table@GOTPCREL(%rip), %rcx
	cmpq	$0, (%rcx)
	je	LBB0_30
## %bb.29:
	movq	_PIC_OFFSET_TABLE_REGNUM@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	movl	$1, %edx
	shll	%cl, %edx
	movslq	%edx, %rcx
	orq	%rcx, %rax
LBB0_30:
	movq	_frame_pointer_needed@GOTPCREL(%rip), %rdx
	movq	_CALLER_INTERWORKING_SLOT_SIZE@GOTPCREL(%rip), %rsi
	movq	_ARM_HARD_FRAME_POINTER_REGNUM@GOTPCREL(%rip), %rcx
	movb	(%rcx), %cl
	movl	$1, %r15d
	movl	$1, %edi
	shll	%cl, %edi
	xorl	%ecx, %ecx
	cmpq	$0, (%rsi)
	movslq	%edi, %rbx
	cmovleq	%rcx, %rbx
	cmpl	$0, (%rdx)
	cmovneq	%rcx, %rbx
	orq	%rax, %rbx
	testb	%bl, %bl
	jne	LBB0_32
## %bb.31:
	xorl	%eax, %eax
	callq	_thumb_force_lr_save
	testq	%rax, %rax
	je	LBB0_33
LBB0_32:
	movq	_LR_REGNUM@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	shll	%cl, %r15d
	movslq	%r15d, %rax
	orq	%rax, %rbx
LBB0_33:
	testb	%bl, %bl
	jne	LBB0_37
## %bb.34:
	movl	%ebx, %eax
	andl	$3840, %eax                     ## imm = 0xF00
	movq	_TARGET_BACKTRACE@GOTPCREL(%rip), %rcx
	orq	(%rcx), %rax
	je	LBB0_37
## %bb.35:
	movq	_LAST_LO_REGNUM@GOTPCREL(%rip), %rax
	movb	(%rax), %cl
	movl	$1, %r15d
	movl	$1, %edi
	shll	%cl, %edi
	callq	_thumb_find_work_register
	movq	(%r14), %rcx
	movl	%eax, %edx
	cmpl	$0, (%rcx,%rdx,4)
	jne	LBB0_37
## %bb.36:
	movl	%eax, %ecx
	shll	%cl, %r15d
	movslq	%r15d, %rax
	orq	%rax, %rbx
LBB0_37:
	movq	%rbx, %rax
	addq	$8, %rsp
	popq	%rbx
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_1:
	xorl	%eax, %eax
	cmpq	$0, 8(%rdx)
	jne	LBB0_4
	jmp	LBB0_5
	.cfi_endproc
                                        ## -- End function
	.comm	_regs_ever_live,8,3             ## @regs_ever_live
	.comm	_call_used_regs,8,3             ## @call_used_regs
	.comm	_flag_pic,8,3                   ## @flag_pic
	.comm	_TARGET_SINGLE_PIC_BASE,4,2     ## @TARGET_SINGLE_PIC_BASE
	.comm	_arm_pic_register,8,3           ## @arm_pic_register
	.comm	_INVALID_REGNUM,8,3             ## @INVALID_REGNUM
	.comm	_current_function_uses_pic_offset_table,8,3 ## @current_function_uses_pic_offset_table
	.comm	_PIC_OFFSET_TABLE_REGNUM,4,2    ## @PIC_OFFSET_TABLE_REGNUM
	.comm	_frame_pointer_needed,4,2       ## @frame_pointer_needed
	.comm	_CALLER_INTERWORKING_SLOT_SIZE,8,3 ## @CALLER_INTERWORKING_SLOT_SIZE
	.comm	_ARM_HARD_FRAME_POINTER_REGNUM,4,2 ## @ARM_HARD_FRAME_POINTER_REGNUM
	.comm	_LR_REGNUM,4,2                  ## @LR_REGNUM
	.comm	_TARGET_BACKTRACE,8,3           ## @TARGET_BACKTRACE
	.comm	_LAST_LO_REGNUM,4,2             ## @LAST_LO_REGNUM
	.no_dead_strip	_thumb_compute_save_reg_mask
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function thumb_compute_save_reg_mask
_thumb_compute_save_reg_mask:           ; @thumb_compute_save_reg_mask
	.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
Lloh0:
	adrp	x8, _regs_ever_live@GOTPAGE
Lloh1:
	ldr	x8, [x8, _regs_ever_live@GOTPAGEOFF]
Lloh2:
	ldr	x9, [x8]
Lloh3:
	adrp	x20, _call_used_regs@GOTPAGE
Lloh4:
	ldr	x20, [x20, _call_used_regs@GOTPAGEOFF]
	ldr	x10, [x20]
	ldr	x8, [x9]
	cbz	x8, LBB0_2
; %bb.1:
	ldr	w8, [x10]
	cmp	w8, #0
	cset	w8, eq
LBB0_2:
	ldr	x11, [x9, #8]
	cbz	x11, LBB0_4
; %bb.3:
	ldr	w11, [x10, #4]
	orr	x12, x8, #0x2
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_4:
	ldr	x11, [x9, #16]
	cbz	x11, LBB0_6
; %bb.5:
	ldr	w11, [x10, #8]
	orr	x12, x8, #0x4
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_6:
	ldr	x11, [x9, #24]
	cbz	x11, LBB0_8
; %bb.7:
	ldr	w11, [x10, #12]
	orr	x12, x8, #0x8
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_8:
	ldr	x11, [x9, #32]
	cbz	x11, LBB0_10
; %bb.9:
	ldr	w11, [x10, #16]
	orr	x12, x8, #0x10
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_10:
	ldr	x11, [x9, #40]
	cbz	x11, LBB0_12
; %bb.11:
	ldr	w11, [x10, #20]
	orr	x12, x8, #0x20
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_12:
	ldr	x11, [x9, #48]
	cbz	x11, LBB0_14
; %bb.13:
	ldr	w11, [x10, #24]
	orr	x12, x8, #0x40
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_14:
	ldr	x11, [x9, #56]
	cbz	x11, LBB0_16
; %bb.15:
	ldr	w11, [x10, #28]
	orr	x12, x8, #0x80
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_16:
	ldr	x11, [x9, #64]
	cbz	x11, LBB0_18
; %bb.17:
	ldr	w11, [x10, #32]
	orr	x12, x8, #0x100
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_18:
	ldr	x11, [x9, #72]
	cbz	x11, LBB0_20
; %bb.19:
	ldr	w11, [x10, #36]
	orr	x12, x8, #0x200
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_20:
	ldr	x11, [x9, #80]
	cbz	x11, LBB0_22
; %bb.21:
	ldr	w11, [x10, #40]
	orr	x12, x8, #0x400
	cmp	w11, #0
	csel	x8, x12, x8, eq
LBB0_22:
	ldr	x9, [x9, #88]
	cbz	x9, LBB0_24
; %bb.23:
	ldr	w9, [x10, #44]
	orr	x10, x8, #0x800
	cmp	w9, #0
	csel	x8, x10, x8, eq
LBB0_24:
Lloh5:
	adrp	x9, _flag_pic@GOTPAGE
Lloh6:
	ldr	x9, [x9, _flag_pic@GOTPAGEOFF]
Lloh7:
	ldr	x9, [x9]
	cbz	x9, LBB0_29
; %bb.25:
Lloh8:
	adrp	x9, _TARGET_SINGLE_PIC_BASE@GOTPAGE
Lloh9:
	ldr	x9, [x9, _TARGET_SINGLE_PIC_BASE@GOTPAGEOFF]
Lloh10:
	ldr	w9, [x9]
	cbnz	w9, LBB0_29
; %bb.26:
Lloh11:
	adrp	x9, _arm_pic_register@GOTPAGE
Lloh12:
	ldr	x9, [x9, _arm_pic_register@GOTPAGEOFF]
Lloh13:
	ldr	x9, [x9]
Lloh14:
	adrp	x10, _INVALID_REGNUM@GOTPAGE
Lloh15:
	ldr	x10, [x10, _INVALID_REGNUM@GOTPAGEOFF]
Lloh16:
	ldr	x10, [x10]
	cmp	x9, x10
	b.eq	LBB0_29
; %bb.27:
Lloh17:
	adrp	x9, _current_function_uses_pic_offset_table@GOTPAGE
Lloh18:
	ldr	x9, [x9, _current_function_uses_pic_offset_table@GOTPAGEOFF]
Lloh19:
	ldr	x9, [x9]
	cbz	x9, LBB0_29
; %bb.28:
Lloh20:
	adrp	x9, _PIC_OFFSET_TABLE_REGNUM@GOTPAGE
Lloh21:
	ldr	x9, [x9, _PIC_OFFSET_TABLE_REGNUM@GOTPAGEOFF]
Lloh22:
	ldr	w9, [x9]
	mov	w10, #1
	lsl	w9, w10, w9
	sxtw	x9, w9
	orr	x8, x8, x9
LBB0_29:
Lloh23:
	adrp	x9, _frame_pointer_needed@GOTPAGE
Lloh24:
	ldr	x9, [x9, _frame_pointer_needed@GOTPAGEOFF]
Lloh25:
	ldr	w9, [x9]
Lloh26:
	adrp	x10, _CALLER_INTERWORKING_SLOT_SIZE@GOTPAGE
Lloh27:
	ldr	x10, [x10, _CALLER_INTERWORKING_SLOT_SIZE@GOTPAGEOFF]
Lloh28:
	ldr	x10, [x10]
	cmp	x10, #0
	ccmp	w9, #0, #0, gt
Lloh29:
	adrp	x9, _ARM_HARD_FRAME_POINTER_REGNUM@GOTPAGE
Lloh30:
	ldr	x9, [x9, _ARM_HARD_FRAME_POINTER_REGNUM@GOTPAGEOFF]
Lloh31:
	ldr	w9, [x9]
	mov	w21, #1
	lsl	w9, w21, w9
	sxtw	x9, w9
	csel	x9, x9, xzr, eq
	orr	x19, x9, x8
	tst	x19, #0xff
	b.ne	LBB0_31
; %bb.30:
	bl	_thumb_force_lr_save
	cbz	x0, LBB0_32
LBB0_31:
Lloh32:
	adrp	x8, _LR_REGNUM@GOTPAGE
Lloh33:
	ldr	x8, [x8, _LR_REGNUM@GOTPAGEOFF]
Lloh34:
	ldr	w8, [x8]
	lsl	w8, w21, w8
	sxtw	x8, w8
	orr	x19, x19, x8
LBB0_32:
	tst	x19, #0xff
	b.ne	LBB0_35
; %bb.33:
	and	x8, x19, #0xf00
Lloh35:
	adrp	x9, _TARGET_BACKTRACE@GOTPAGE
Lloh36:
	ldr	x9, [x9, _TARGET_BACKTRACE@GOTPAGEOFF]
Lloh37:
	ldr	x9, [x9]
	orr	x8, x8, x9
	cbz	x8, LBB0_35
; %bb.34:
Lloh38:
	adrp	x8, _LAST_LO_REGNUM@GOTPAGE
Lloh39:
	ldr	x8, [x8, _LAST_LO_REGNUM@GOTPAGEOFF]
Lloh40:
	ldr	w8, [x8]
	mov	w21, #1
	lsl	w0, w21, w8
	bl	_thumb_find_work_register
	ldr	x8, [x20]
	ldr	w8, [x8, w0, uxtw #2]
	lsl	w9, w21, w0
	sxtw	x9, w9
	orr	x9, x19, x9
	cmp	w8, #0
	csel	x19, x19, x9, ne
LBB0_35:
	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 AdrpLdrGot	Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh29, Lloh30, Lloh31
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh32, Lloh33, Lloh34
	.loh AdrpLdrGotLdr	Lloh35, Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh38, Lloh39, Lloh40
	.cfi_endproc
                                        ; -- End function
	.comm	_regs_ever_live,8,3             ; @regs_ever_live
	.comm	_call_used_regs,8,3             ; @call_used_regs
	.comm	_flag_pic,8,3                   ; @flag_pic
	.comm	_TARGET_SINGLE_PIC_BASE,4,2     ; @TARGET_SINGLE_PIC_BASE
	.comm	_arm_pic_register,8,3           ; @arm_pic_register
	.comm	_INVALID_REGNUM,8,3             ; @INVALID_REGNUM
	.comm	_current_function_uses_pic_offset_table,8,3 ; @current_function_uses_pic_offset_table
	.comm	_PIC_OFFSET_TABLE_REGNUM,4,2    ; @PIC_OFFSET_TABLE_REGNUM
	.comm	_frame_pointer_needed,4,2       ; @frame_pointer_needed
	.comm	_CALLER_INTERWORKING_SLOT_SIZE,8,3 ; @CALLER_INTERWORKING_SLOT_SIZE
	.comm	_ARM_HARD_FRAME_POINTER_REGNUM,4,2 ; @ARM_HARD_FRAME_POINTER_REGNUM
	.comm	_LR_REGNUM,4,2                  ; @LR_REGNUM
	.comm	_TARGET_BACKTRACE,8,3           ; @TARGET_BACKTRACE
	.comm	_LAST_LO_REGNUM,4,2             ; @LAST_LO_REGNUM
	.no_dead_strip	_thumb_compute_save_reg_mask
.subsections_via_symbols
