	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_force_reg                      ## -- Begin function force_reg
	.p2align	4, 0x90
_force_reg:                             ## @force_reg
	.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	%r13
	pushq	%r12
	pushq	%rbx
	pushq	%rax
	.cfi_offset %rbx, -56
	.cfi_offset %r12, -48
	.cfi_offset %r13, -40
	.cfi_offset %r14, -32
	.cfi_offset %r15, -24
	movq	%rsi, %r13
	movl	%edi, %ebx
	movq	%rsi, %rdi
	callq	_REG_P
	testq	%rax, %rax
	je	LBB0_2
## %bb.1:
	movq	%r13, %r14
	jmp	LBB0_32
LBB0_2:
	movq	%r13, %rdi
	movl	%ebx, %esi
	callq	_general_operand
	testq	%rax, %rax
	je	LBB0_4
## %bb.3:
	movl	%ebx, %edi
	callq	_gen_reg_rtx
	movq	%rax, %r14
	movq	%rax, %rdi
	movq	%r13, %rsi
	callq	_emit_move_insn
	movq	%rax, %r15
	jmp	LBB0_7
LBB0_4:
	movq	_NULL_RTX@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r13, %rdi
	callq	_force_operand
	movq	%rax, %r14
	movq	%rax, %rdi
	callq	_REG_P
	testq	%rax, %rax
	je	LBB0_6
## %bb.5:
	xorl	%eax, %eax
	callq	_get_last_insn
	movq	%rax, %r15
	jmp	LBB0_7
LBB0_6:
	movl	%ebx, %edi
	callq	_gen_reg_rtx
	movq	%rax, %rbx
	movq	%rax, %rdi
	movq	%r14, %rsi
	callq	_emit_move_insn
	movq	%rax, %r15
	movq	%rbx, %r14
LBB0_7:
	movq	%r13, %rdi
	callq	_CONSTANT_P
	testq	%rax, %rax
	je	LBB0_12
## %bb.8:
	movq	%r15, %rdi
	callq	_single_set
	testq	%rax, %rax
	je	LBB0_12
## %bb.9:
	movq	%rax, %rbx
	movq	%rax, %rdi
	callq	_SET_DEST
	cmpq	%r14, %rax
	jne	LBB0_12
## %bb.10:
	movq	%rbx, %rdi
	callq	_SET_SRC
	movq	%r13, %rdi
	movl	%eax, %esi
	callq	_rtx_equal_p
	testl	%eax, %eax
	jne	LBB0_12
## %bb.11:
	movq	_REG_EQUAL@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	movq	%r15, %rdi
	movq	%r13, %rdx
	callq	_set_unique_reg_note
LBB0_12:
	movq	%r13, %rdi
	callq	_GET_CODE
	movq	_SYMBOL_REF@GOTPCREL(%rip), %rbx
	cmpq	(%rbx), %rax
	jne	LBB0_16
## %bb.13:
	movq	_BITS_PER_UNIT@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movq	%r13, %rdi
	callq	_SYMBOL_REF_DECL
	testq	%rax, %rax
	je	LBB0_30
## %bb.14:
	movq	%r13, %rdi
	callq	_SYMBOL_REF_DECL
	movq	%rax, %rdi
	callq	_DECL_P
	testq	%rax, %rax
	je	LBB0_30
## %bb.15:
	movq	%r13, %rdi
	callq	_SYMBOL_REF_DECL
	movq	%rax, %rdi
	callq	_DECL_ALIGN
	jmp	LBB0_29
LBB0_16:
	movq	%r13, %rdi
	callq	_GET_CODE
	movq	_LABEL_REF@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_18
## %bb.17:
	movq	_BITS_PER_UNIT@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
LBB0_30:
	testl	%r15d, %r15d
	jne	LBB0_31
	jmp	LBB0_32
LBB0_18:
	movq	%r13, %rdi
	callq	_GET_CODE
	movq	_CONST@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_26
## %bb.19:
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %rdi
	callq	_GET_CODE
	movq	_PLUS@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_26
## %bb.20:
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %rdi
	callq	_GET_CODE
	cmpq	(%rbx), %rax
	jne	LBB0_26
## %bb.21:
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %rdi
	movl	$1, %esi
	callq	_XEXP
	movq	%rax, %rdi
	callq	_GET_CODE
	movq	_CONST_INT@GOTPCREL(%rip), %rcx
	cmpq	(%rcx), %rax
	jne	LBB0_26
## %bb.22:
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %r12
	movq	%r13, %rdi
	xorl	%esi, %esi
	callq	_XEXP
	movq	%rax, %rdi
	movl	$1, %esi
	callq	_XEXP
	movq	%rax, %r13
	movq	_BITS_PER_UNIT@GOTPCREL(%rip), %rax
	movl	(%rax), %r15d
	movq	%r12, %rdi
	callq	_SYMBOL_REF_DECL
	testq	%rax, %rax
	je	LBB0_25
## %bb.23:
	movq	%r12, %rdi
	callq	_SYMBOL_REF_DECL
	movq	%rax, %rdi
	callq	_DECL_P
	testq	%rax, %rax
	je	LBB0_25
## %bb.24:
	movq	%r12, %rdi
	callq	_SYMBOL_REF_DECL
	movq	%rax, %rdi
	callq	_DECL_ALIGN
	movl	%eax, %r15d
LBB0_25:
	movq	%r13, %rdi
	callq	_INTVAL
	movl	%eax, %ebx
	movq	%r13, %rdi
	callq	_INTVAL
	negl	%eax
	andl	%eax, %ebx
	movl	%ebx, %edi
	callq	_exact_log2
	movq	_BITS_PER_UNIT@GOTPCREL(%rip), %rcx
	imull	(%rcx), %eax
	movl	%r15d, %edi
	movl	%eax, %esi
	callq	_MIN
	jmp	LBB0_29
LBB0_26:
	movq	%r13, %rdi
	callq	_MEM_P
	testq	%rax, %rax
	je	LBB0_32
## %bb.27:
	movq	%r13, %rdi
	callq	_MEM_POINTER
	testq	%rax, %rax
	je	LBB0_32
## %bb.28:
	movq	%r13, %rdi
	callq	_MEM_ALIGN
LBB0_29:
	movl	%eax, %r15d
	testl	%r15d, %r15d
	je	LBB0_32
LBB0_31:
	movq	%r14, %rdi
	movl	%r15d, %esi
	callq	_mark_reg_pointer
LBB0_32:
	movq	%r14, %rax
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_NULL_RTX,4,2                   ## @NULL_RTX
	.comm	_REG_EQUAL,4,2                  ## @REG_EQUAL
	.comm	_SYMBOL_REF,8,3                 ## @SYMBOL_REF
	.comm	_BITS_PER_UNIT,4,2              ## @BITS_PER_UNIT
	.comm	_LABEL_REF,8,3                  ## @LABEL_REF
	.comm	_CONST,8,3                      ## @CONST
	.comm	_PLUS,8,3                       ## @PLUS
	.comm	_CONST_INT,8,3                  ## @CONST_INT
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_force_reg                      ; -- Begin function force_reg
	.p2align	2
_force_reg:                             ; @force_reg
	.cfi_startproc
; %bb.0:
	stp	x24, x23, [sp, #-64]!           ; 16-byte Folded Spill
	.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
	.cfi_offset w23, -56
	.cfi_offset w24, -64
	mov	x20, x1
	mov	x21, x0
	mov	x0, x1
	bl	_REG_P
	cbz	x0, LBB0_2
; %bb.1:
	mov	x19, x20
	b	LBB0_32
LBB0_2:
	mov	x0, x20
	mov	x1, x21
	bl	_general_operand
	cbz	x0, LBB0_4
; %bb.3:
	mov	x0, x21
	bl	_gen_reg_rtx
	mov	x19, x0
	mov	x1, x20
	bl	_emit_move_insn
	mov	x21, x0
	b	LBB0_7
LBB0_4:
Lloh0:
	adrp	x8, _NULL_RTX@GOTPAGE
Lloh1:
	ldr	x8, [x8, _NULL_RTX@GOTPAGEOFF]
Lloh2:
	ldr	w1, [x8]
	mov	x0, x20
	bl	_force_operand
	mov	x19, x0
	bl	_REG_P
	cbz	x0, LBB0_6
; %bb.5:
	bl	_get_last_insn
	mov	x21, x0
	b	LBB0_7
LBB0_6:
	mov	x0, x21
	bl	_gen_reg_rtx
	mov	x22, x0
	mov	x1, x19
	bl	_emit_move_insn
	mov	x21, x0
	mov	x19, x22
LBB0_7:
	mov	x0, x20
	bl	_CONSTANT_P
	cbz	x0, LBB0_12
; %bb.8:
	mov	x0, x21
	bl	_single_set
	cbz	x0, LBB0_12
; %bb.9:
	mov	x22, x0
	bl	_SET_DEST
	cmp	x0, x19
	b.ne	LBB0_12
; %bb.10:
	mov	x0, x22
	bl	_SET_SRC
	mov	x1, x0
	mov	x0, x20
	bl	_rtx_equal_p
	cbnz	w0, LBB0_12
; %bb.11:
Lloh3:
	adrp	x8, _REG_EQUAL@GOTPAGE
Lloh4:
	ldr	x8, [x8, _REG_EQUAL@GOTPAGEOFF]
Lloh5:
	ldr	w1, [x8]
	mov	x0, x21
	mov	x2, x20
	bl	_set_unique_reg_note
LBB0_12:
	mov	x0, x20
	bl	_GET_CODE
Lloh6:
	adrp	x21, _SYMBOL_REF@GOTPAGE
Lloh7:
	ldr	x21, [x21, _SYMBOL_REF@GOTPAGEOFF]
	ldr	x8, [x21]
	cmp	x0, x8
	b.ne	LBB0_16
; %bb.13:
Lloh8:
	adrp	x8, _BITS_PER_UNIT@GOTPAGE
Lloh9:
	ldr	x8, [x8, _BITS_PER_UNIT@GOTPAGEOFF]
Lloh10:
	ldr	w21, [x8]
	mov	x0, x20
	bl	_SYMBOL_REF_DECL
	cbz	x0, LBB0_18
; %bb.14:
	mov	x0, x20
	bl	_SYMBOL_REF_DECL
	bl	_DECL_P
	cbz	x0, LBB0_18
; %bb.15:
	mov	x0, x20
	bl	_SYMBOL_REF_DECL
	bl	_DECL_ALIGN
	b	LBB0_30
LBB0_16:
	mov	x0, x20
	bl	_GET_CODE
Lloh11:
	adrp	x8, _LABEL_REF@GOTPAGE
Lloh12:
	ldr	x8, [x8, _LABEL_REF@GOTPAGEOFF]
Lloh13:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_19
; %bb.17:
Lloh14:
	adrp	x8, _BITS_PER_UNIT@GOTPAGE
Lloh15:
	ldr	x8, [x8, _BITS_PER_UNIT@GOTPAGEOFF]
Lloh16:
	ldr	w21, [x8]
LBB0_18:
	cbnz	w21, LBB0_31
	b	LBB0_32
LBB0_19:
	mov	x0, x20
	bl	_GET_CODE
Lloh17:
	adrp	x8, _CONST@GOTPAGE
Lloh18:
	ldr	x8, [x8, _CONST@GOTPAGEOFF]
Lloh19:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_27
; %bb.20:
	mov	x0, x20
	mov	w1, #0
	bl	_XEXP
	bl	_GET_CODE
Lloh20:
	adrp	x8, _PLUS@GOTPAGE
Lloh21:
	ldr	x8, [x8, _PLUS@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_27
; %bb.21:
	mov	x0, x20
	mov	w1, #0
	bl	_XEXP
	mov	w1, #0
	bl	_XEXP
	bl	_GET_CODE
	ldr	x8, [x21]
	cmp	x0, x8
	b.ne	LBB0_27
; %bb.22:
	mov	x0, x20
	mov	w1, #0
	bl	_XEXP
	mov	w1, #1
	bl	_XEXP
	bl	_GET_CODE
Lloh23:
	adrp	x8, _CONST_INT@GOTPAGE
Lloh24:
	ldr	x8, [x8, _CONST_INT@GOTPAGEOFF]
Lloh25:
	ldr	x8, [x8]
	cmp	x0, x8
	b.ne	LBB0_27
; %bb.23:
	mov	x0, x20
	mov	w1, #0
	bl	_XEXP
	mov	w1, #0
	bl	_XEXP
	mov	x22, x0
	mov	x0, x20
	mov	w1, #0
	bl	_XEXP
	mov	w1, #1
	bl	_XEXP
	mov	x21, x0
Lloh26:
	adrp	x23, _BITS_PER_UNIT@GOTPAGE
Lloh27:
	ldr	x23, [x23, _BITS_PER_UNIT@GOTPAGEOFF]
	ldr	w20, [x23]
	mov	x0, x22
	bl	_SYMBOL_REF_DECL
	cbz	x0, LBB0_26
; %bb.24:
	mov	x0, x22
	bl	_SYMBOL_REF_DECL
	bl	_DECL_P
	cbz	x0, LBB0_26
; %bb.25:
	mov	x0, x22
	bl	_SYMBOL_REF_DECL
	bl	_DECL_ALIGN
	mov	x20, x0
LBB0_26:
	mov	x0, x21
	bl	_INTVAL
	mov	x22, x0
	mov	x0, x21
	bl	_INTVAL
	neg	w8, w0
	and	w0, w22, w8
	bl	_exact_log2
	ldr	w8, [x23]
	mul	w1, w8, w0
	mov	x0, x20
	bl	_MIN
	b	LBB0_30
LBB0_27:
	mov	x0, x20
	bl	_MEM_P
	cbz	x0, LBB0_32
; %bb.28:
	mov	x0, x20
	bl	_MEM_POINTER
	cbz	x0, LBB0_32
; %bb.29:
	mov	x0, x20
	bl	_MEM_ALIGN
LBB0_30:
	mov	x21, x0
	cbz	w21, LBB0_32
LBB0_31:
	mov	x0, x19
	mov	x1, x21
	bl	_mark_reg_pointer
LBB0_32:
	mov	x0, x19
	ldp	x29, x30, [sp, #48]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #32]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #16]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp], #64             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGot	Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh8, Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGot	Lloh26, Lloh27
	.cfi_endproc
                                        ; -- End function
	.comm	_NULL_RTX,4,2                   ; @NULL_RTX
	.comm	_REG_EQUAL,4,2                  ; @REG_EQUAL
	.comm	_SYMBOL_REF,8,3                 ; @SYMBOL_REF
	.comm	_BITS_PER_UNIT,4,2              ; @BITS_PER_UNIT
	.comm	_LABEL_REF,8,3                  ; @LABEL_REF
	.comm	_CONST,8,3                      ; @CONST
	.comm	_PLUS,8,3                       ; @PLUS
	.comm	_CONST_INT,8,3                  ; @CONST_INT
.subsections_via_symbols
