	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function do_t_add_sub
_do_t_add_sub:                          ## @do_t_add_sub
	.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	_inst@GOTPCREL(%rip), %r14
	movq	16(%r14), %rax
	movl	(%rax), %r12d
	cmpq	$0, 56(%rax)
	movl	%r12d, %r15d
	je	LBB0_2
## %bb.1:
	movl	32(%rax), %r15d
LBB0_2:
	movq	_unified_syntax@GOTPCREL(%rip), %rcx
	movl	(%r14), %edx
	movq	_T_MNEM_adds@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	cmpl	%esi, %edx
	sete	%bl
	movq	_T_MNEM_subs@GOTPCREL(%rip), %rdi
	cmpl	(%rdi), %edx
	sete	%r13b
	orb	%bl, %r13b
	cmpq	$0, (%rcx)
	je	LBB0_12
## %bb.3:
	movq	_current_it_mask@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	testb	%r13b, %r13b
	je	LBB0_18
## %bb.4:
	testq	%rcx, %rcx
	sete	%cl
	cmpl	$0, 72(%rax)
	je	LBB0_19
LBB0_5:
	movl	68(%rax), %edi
	testl	%edi, %edi
	jne	LBB0_51
## %bb.6:
	cmpl	$4, 4(%r14)
	je	LBB0_51
## %bb.7:
	movzbl	%cl, %ebx
	movl	64(%rax), %r9d
	cmpl	$8, %r9d
	movq	_FALSE@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	cmovgel	%ecx, %ebx
	cmpl	$8, %r15d
	cmovgel	%ecx, %ebx
	cmpl	$8, %r12d
	cmovgel	%ecx, %ebx
	movq	_T_MNEM_add@GOTPCREL(%rip), %rcx
	movl	(%rcx), %r8d
	testl	%ebx, %ebx
	je	LBB0_38
## %bb.8:
	movq	_T_OPCODE_ADD_R3@GOTPCREL(%rip), %rdi
	movq	%rdi, %rax
	cmpl	%r8d, %edx
	je	LBB0_10
## %bb.9:
	movq	_T_OPCODE_SUB_R3@GOTPCREL(%rip), %rax
LBB0_10:
	cmpl	%esi, %edx
	cmoveq	%rdi, %rax
	shll	$3, %r15d
	orl	%r12d, %r15d
	shll	$6, %r9d
	orl	%r15d, %r9d
LBB0_11:
	orl	(%rax), %r9d
	movl	%r9d, (%r14)
	jmp	LBB0_74
LBB0_12:
	movzbl	%r13b, %edi
	movq	_BAD_THUMB32@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_constraint
	movq	16(%r14), %rax
	cmpl	$0, 72(%rax)
	je	LBB0_29
## %bb.13:
	movl	64(%rax), %r13d
	movl	68(%rax), %ebx
	leaq	L_.str.4(%rip), %rdi
	callq	__
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_constraint
	movl	(%r14), %eax
	cmpl	$7, %r12d
	jg	LBB0_36
## %bb.14:
	cmpl	$7, %r15d
	jg	LBB0_36
## %bb.15:
	cmpl	$8, %r13d
	jge	LBB0_36
## %bb.16:
	movq	_T_MNEM_add@GOTPCREL(%rip), %rcx
	cmpl	(%rcx), %eax
	jne	LBB0_41
## %bb.17:
	movq	_T_OPCODE_ADD_R3@GOTPCREL(%rip), %rax
	jmp	LBB0_42
LBB0_18:
	testq	%rcx, %rcx
	setne	%cl
	cmpl	$0, 72(%rax)
	jne	LBB0_5
LBB0_19:
	cmpl	%esi, %edx
	sete	%al
	movq	_T_MNEM_add@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %edx
	sete	%r8b
	orb	%al, %r8b
	movl	4(%r14), %eax
	cmpl	$4, %eax
	je	LBB0_63
## %bb.20:
	movq	_REG_SP@GOTPCREL(%rip), %rdx
	movl	(%rdx), %edx
	movl	%r12d, %esi
	xorl	%edx, %esi
	movl	%r15d, %edi
	xorl	%edx, %edi
	orl	%esi, %edi
	setne	%bl
	orb	%r13b, %bl
	je	LBB0_43
## %bb.21:
	cmpl	$7, %r12d
	jg	LBB0_59
## %bb.22:
	cmpl	%edx, %r15d
	setne	%bl
	movl	%r8d, %edx
	xorb	$1, %dl
	orb	%dl, %bl
	orb	%r13b, %bl
	je	LBB0_54
## %bb.23:
	movq	_REG_PC@GOTPCREL(%rip), %rsi
	cmpl	(%rsi), %r15d
	setne	%bl
	orb	%dl, %bl
	orb	%r13b, %bl
	je	LBB0_55
## %bb.24:
	cmpl	$7, %r15d
	jg	LBB0_59
## %bb.25:
	testb	%cl, %cl
	je	LBB0_59
## %bb.26:
	testb	%r13b, %r13b
	je	LBB0_75
## %bb.27:
	testb	%r8b, %r8b
	je	LBB0_77
## %bb.28:
	movq	_T_MNEM_addis@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
LBB0_29:
	movq	_REG_SP@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	$8, %r12d
	jl	LBB0_32
## %bb.30:
	movl	$1, %edi
	cmpl	%eax, %r12d
	jne	LBB0_35
## %bb.31:
	cmpl	%eax, %r15d
	movl	%r15d, %eax
	jne	LBB0_35
LBB0_32:
	xorl	%edi, %edi
	cmpl	$8, %r15d
	jl	LBB0_35
## %bb.33:
	cmpl	%eax, %r15d
	je	LBB0_35
## %bb.34:
	movq	_REG_PC@GOTPCREL(%rip), %rax
	xorl	%edi, %edi
	cmpl	(%rax), %r15d
	setne	%dil
LBB0_35:
	movq	_BAD_HIREG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_constraint
	movl	(%r14), %eax
	movq	_T_MNEM_add@GOTPCREL(%rip), %rcx
	xorl	%edx, %edx
	cmpl	(%rcx), %eax
	setne	%dl
	shll	$15, %edx
	shll	$4, %r12d
	orl	%r12d, %r15d
	orl	%edx, %r15d
	movl	%r15d, (%r14)
	movq	_BFD_RELOC_ARM_THUMB_ADD@GOTPCREL(%rip), %rax
	jmp	LBB0_65
LBB0_36:
	movq	_T_MNEM_sub@GOTPCREL(%rip), %rcx
	xorl	%edi, %edi
	cmpl	(%rcx), %eax
	sete	%dil
	movq	_BAD_HIREG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_constraint
	movq	_T_OPCODE_ADD_HI@GOTPCREL(%rip), %rcx
	movl	%r12d, %edx
	andl	$8, %edx
	shll	$4, %edx
	movl	%r12d, %eax
	andl	$7, %eax
	orl	%edx, %eax
	orl	(%rcx), %eax
	movl	%eax, (%r14)
	cmpl	%r12d, %r15d
	jne	LBB0_45
## %bb.37:
	shll	$3, %r13d
	orl	%r13d, %eax
	movl	%eax, (%r14)
	jmp	LBB0_74
LBB0_38:
	cmpl	%r8d, %edx
	jne	LBB0_51
## %bb.39:
	cmpl	%r15d, %r12d
	jne	LBB0_49
## %bb.40:
	movq	_T_OPCODE_ADD_HI@GOTPCREL(%rip), %rax
	movl	%r12d, %ecx
	andl	$8, %ecx
	shll	$4, %ecx
	andl	$7, %r12d
	orl	%ecx, %r12d
	shll	$3, %r9d
	orl	%r12d, %r9d
	jmp	LBB0_11
LBB0_41:
	movq	_T_OPCODE_SUB_R3@GOTPCREL(%rip), %rax
LBB0_42:
	shll	$3, %r15d
	orl	%r12d, %r15d
	shll	$6, %r13d
	orl	%r15d, %r13d
	orl	(%rax), %r13d
	movl	%r13d, (%r14)
	jmp	LBB0_74
LBB0_43:
	testb	%r8b, %r8b
	je	LBB0_47
## %bb.44:
	movq	_T_MNEM_inc_sp@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
LBB0_45:
	cmpl	%r12d, %r13d
	jne	LBB0_48
## %bb.46:
	shll	$3, %r15d
	orl	%r15d, %eax
	movl	%eax, (%r14)
	jmp	LBB0_74
LBB0_47:
	movq	_T_MNEM_dec_sp@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
LBB0_48:
	leaq	L_.str.5(%rip), %rdi
	callq	__
	movl	$1, %edi
	movl	%eax, %esi
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_constraint                     ## TAILCALL
LBB0_49:
	cmpl	%r9d, %r12d
	jne	LBB0_51
## %bb.50:
	movq	_T_OPCODE_ADD_HI@GOTPCREL(%rip), %rax
	movl	%r12d, %ecx
	andl	$8, %ecx
	shll	$4, %ecx
	andl	$7, %r12d
	orl	%ecx, %r12d
	shll	$3, %r15d
	orl	%r12d, %r15d
	orl	(%rax), %r15d
	jmp	LBB0_73
LBB0_51:
	xorl	%ebx, %ebx
	testl	%edi, %edi
	je	LBB0_53
## %bb.52:
	cmpq	$0, 80(%rax)
	setne	%bl
LBB0_53:
	leaq	L_.str.3(%rip), %rdi
	callq	__
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_constraint
	movl	(%r14), %edi
	callq	_THUMB_OP32
	shll	$8, %r12d
	shll	$16, %r15d
	orl	%r12d, %r15d
	orl	%eax, %r15d
	movl	%r15d, (%r14)
	movl	$2, %edi
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	jmp	_encode_thumb32_shifted_operand ## TAILCALL
LBB0_54:
	movq	_T_MNEM_add_sp@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
LBB0_55:
	movq	_T_MNEM_add_pc@GOTPCREL(%rip), %rcx
LBB0_56:
	movl	(%rcx), %edi
	testl	%edi, %edi
	je	LBB0_59
## %bb.57:
	movl	%r8d, %ebx
	movl	%edi, -44(%rbp)                 ## 4-byte Spill
	callq	_THUMB_OP16
	movl	%r12d, %ecx
	shll	$4, %ecx
	orl	%r15d, %ecx
	orl	%eax, %ecx
	movl	%ecx, (%r14)
	movq	_BFD_RELOC_ARM_THUMB_ADD@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	movq	%rax, 24(%r14)
	movl	4(%r14), %ecx
	movb	$1, %al
	cmpl	$2, %ecx
	jne	LBB0_60
## %bb.58:
	movl	$2, %ecx
	jmp	LBB0_61
LBB0_59:
	movl	%r8d, %ebx
	xorl	%edi, %edi
	cmpl	$2, %eax
	sete	%dil
	movq	_BAD_HIREG@GOTPCREL(%rip), %rax
	movl	(%rax), %esi
	callq	_constraint
	movl	4(%r14), %ecx
	xorl	%eax, %eax
	jmp	LBB0_61
LBB0_60:
	movl	-44(%rbp), %edx                 ## 4-byte Reload
	movl	%edx, 8(%r14)
LBB0_61:
	movq	_T_MNEM_subs@GOTPCREL(%rip), %rdi
	cmpl	$2, %ecx
	sete	%dl
	cmpl	$4, %ecx
	movl	%ebx, %r8d
	je	LBB0_63
## %bb.62:
	orb	%dl, %al
	jne	LBB0_74
LBB0_63:
	movq	_REG_PC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	cmpl	%eax, %r12d
	jne	LBB0_66
## %bb.64:
	movq	_REG_LR@GOTPCREL(%rip), %rax
	xorl	(%rax), %r15d
	movl	(%r14), %eax
	xorl	(%rdi), %eax
	xorl	%ebx, %ebx
	orl	%r15d, %eax
	setne	%bl
	leaq	L_.str(%rip), %rdi
	callq	__
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_constraint
	movq	32(%r14), %rax
	movq	_O_constant@GOTPCREL(%rip), %rcx
	xorl	%ebx, %ebx
	cmpq	(%rcx), %rax
	setne	%bl
	leaq	L_.str.1(%rip), %rdi
	callq	__
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_constraint
	xorl	%ebx, %ebx
	cmpl	$256, 40(%r14)                  ## imm = 0x100
	setae	%bl
	leaq	L_.str.2(%rip), %rdi
	callq	__
	movl	%ebx, %edi
	movl	%eax, %esi
	callq	_constraint
	movq	_T2_SUBS_PC_LR@GOTPCREL(%rip), %rax
	movl	40(%r14), %ecx
	orl	(%rax), %ecx
	movl	%ecx, (%r14)
	movq	_BFD_RELOC_UNUSED@GOTPCREL(%rip), %rax
LBB0_65:
	movq	(%rax), %rax
	movq	%rax, 24(%r14)
	jmp	LBB0_74
LBB0_66:
	cmpl	%eax, %r15d
	jne	LBB0_68
## %bb.67:
	testb	%r8b, %r8b
	movl	$-233897984, %ecx               ## imm = 0xF20F0000
	movl	$-223412224, %eax               ## imm = 0xF2AF0000
	cmovnel	%ecx, %eax
	movq	_BFD_RELOC_ARM_T32_IMM12@GOTPCREL(%rip), %rcx
	jmp	LBB0_72
LBB0_68:
	movl	(%r14), %edi
	callq	_THUMB_OP32
	andl	$-503316481, %eax               ## imm = 0xE1FFFFFF
	testb	%r13b, %r13b
	je	LBB0_70
## %bb.69:
	movq	_BFD_RELOC_ARM_T32_IMMEDIATE@GOTPCREL(%rip), %rcx
	jmp	LBB0_71
LBB0_70:
	movq	_BFD_RELOC_ARM_T32_ADD_IMM@GOTPCREL(%rip), %rcx
LBB0_71:
	orl	$268435456, %eax                ## imm = 0x10000000
LBB0_72:
	movq	(%rcx), %rcx
	movq	%rcx, 24(%r14)
	shll	$8, %r12d
	shll	$16, %r15d
	orl	%r12d, %r15d
	orl	%eax, %r15d
LBB0_73:
	movl	%r15d, (%r14)
LBB0_74:
	addq	$8, %rsp
	popq	%rbx
	popq	%r12
	popq	%r13
	popq	%r14
	popq	%r15
	popq	%rbp
	retq
LBB0_75:
	testb	%r8b, %r8b
	je	LBB0_78
## %bb.76:
	movq	_T_MNEM_addi@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
LBB0_77:
	movq	_T_MNEM_subis@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
LBB0_78:
	movq	_T_MNEM_subi@GOTPCREL(%rip), %rcx
	jmp	LBB0_56
	.cfi_endproc
                                        ## -- End function
	.comm	_inst,48,3                      ## @inst
	.comm	_unified_syntax,8,3             ## @unified_syntax
	.comm	_T_MNEM_adds,4,2                ## @T_MNEM_adds
	.comm	_T_MNEM_subs,4,2                ## @T_MNEM_subs
	.comm	_current_it_mask,8,3            ## @current_it_mask
	.comm	_T_MNEM_add,4,2                 ## @T_MNEM_add
	.comm	_REG_SP,4,2                     ## @REG_SP
	.comm	_T_MNEM_inc_sp,4,2              ## @T_MNEM_inc_sp
	.comm	_T_MNEM_dec_sp,4,2              ## @T_MNEM_dec_sp
	.comm	_T_MNEM_add_sp,4,2              ## @T_MNEM_add_sp
	.comm	_REG_PC,4,2                     ## @REG_PC
	.comm	_T_MNEM_add_pc,4,2              ## @T_MNEM_add_pc
	.comm	_T_MNEM_addis,4,2               ## @T_MNEM_addis
	.comm	_T_MNEM_subis,4,2               ## @T_MNEM_subis
	.comm	_T_MNEM_addi,4,2                ## @T_MNEM_addi
	.comm	_T_MNEM_subi,4,2                ## @T_MNEM_subi
	.comm	_BFD_RELOC_ARM_THUMB_ADD,8,3    ## @BFD_RELOC_ARM_THUMB_ADD
	.comm	_BAD_HIREG,4,2                  ## @BAD_HIREG
	.comm	_REG_LR,4,2                     ## @REG_LR
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"only SUBS PC, LR, #const allowed"

	.comm	_O_constant,8,3                 ## @O_constant
L_.str.1:                               ## @.str.1
	.asciz	"expression too complex"

L_.str.2:                               ## @.str.2
	.asciz	"immediate value out of range"

	.comm	_T2_SUBS_PC_LR,4,2              ## @T2_SUBS_PC_LR
	.comm	_BFD_RELOC_UNUSED,8,3           ## @BFD_RELOC_UNUSED
	.comm	_BFD_RELOC_ARM_T32_IMM12,8,3    ## @BFD_RELOC_ARM_T32_IMM12
	.comm	_BFD_RELOC_ARM_T32_IMMEDIATE,8,3 ## @BFD_RELOC_ARM_T32_IMMEDIATE
	.comm	_BFD_RELOC_ARM_T32_ADD_IMM,8,3  ## @BFD_RELOC_ARM_T32_ADD_IMM
	.comm	_FALSE,4,2                      ## @FALSE
	.comm	_T_OPCODE_ADD_R3,8,3            ## @T_OPCODE_ADD_R3
	.comm	_T_OPCODE_SUB_R3,8,3            ## @T_OPCODE_SUB_R3
	.comm	_T_OPCODE_ADD_HI,8,3            ## @T_OPCODE_ADD_HI
L_.str.3:                               ## @.str.3
	.asciz	"shift must be constant"

	.comm	_BAD_THUMB32,4,2                ## @BAD_THUMB32
L_.str.4:                               ## @.str.4
	.asciz	"unshifted register required"

	.comm	_T_MNEM_sub,4,2                 ## @T_MNEM_sub
L_.str.5:                               ## @.str.5
	.asciz	"dest must overlap one source register"

	.no_dead_strip	_do_t_add_sub
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function do_t_add_sub
_do_t_add_sub:                          ; @do_t_add_sub
	.cfi_startproc
; %bb.0:
	stp	x26, x25, [sp, #-80]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 80
	stp	x24, x23, [sp, #16]             ; 16-byte Folded Spill
	stp	x22, x21, [sp, #32]             ; 16-byte Folded Spill
	stp	x20, x19, [sp, #48]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #64]             ; 16-byte Folded Spill
	add	x29, sp, #64
	.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
	.cfi_offset w25, -72
	.cfi_offset w26, -80
Lloh0:
	adrp	x21, _inst@GOTPAGE
Lloh1:
	ldr	x21, [x21, _inst@GOTPAGEOFF]
	ldr	x8, [x21, #16]
	ldr	w22, [x8]
	ldr	x9, [x8, #56]
	cbz	x9, LBB0_2
; %bb.1:
	ldr	w23, [x8, #32]
	b	LBB0_3
LBB0_2:
	mov	x23, x22
LBB0_3:
Lloh2:
	adrp	x9, _unified_syntax@GOTPAGE
Lloh3:
	ldr	x9, [x9, _unified_syntax@GOTPAGEOFF]
Lloh4:
	ldr	x9, [x9]
	ldr	w10, [x21]
Lloh5:
	adrp	x11, _T_MNEM_adds@GOTPAGE
Lloh6:
	ldr	x11, [x11, _T_MNEM_adds@GOTPAGEOFF]
Lloh7:
	ldr	w11, [x11]
	cmp	w10, w11
Lloh8:
	adrp	x24, _T_MNEM_subs@GOTPAGE
Lloh9:
	ldr	x24, [x24, _T_MNEM_subs@GOTPAGEOFF]
	ldr	w12, [x24]
	ccmp	w10, w12, #4, ne
	cset	w19, eq
	cbz	x9, LBB0_8
; %bb.4:
Lloh10:
	adrp	x9, _current_it_mask@GOTPAGE
Lloh11:
	ldr	x9, [x9, _current_it_mask@GOTPAGEOFF]
Lloh12:
	ldr	x9, [x9]
	cmp	x9, #0
	cset	w9, ne
	cset	w12, eq
	cmp	w19, #0
	csel	w9, w9, w12, eq
	ldr	w12, [x8, #72]
	cbz	w12, LBB0_12
; %bb.5:
	ldr	w13, [x8, #68]
	ldr	w12, [x21, #4]
	cmp	w13, #0
	ccmp	w12, #4, #4, eq
	b.ne	LBB0_21
LBB0_6:
	cbz	w13, LBB0_29
; %bb.7:
	ldr	x8, [x8, #80]
	cmp	x8, #0
	cset	w19, ne
	b	LBB0_30
LBB0_8:
Lloh13:
	adrp	x8, _BAD_THUMB32@GOTPAGE
Lloh14:
	ldr	x8, [x8, _BAD_THUMB32@GOTPAGEOFF]
Lloh15:
	ldr	w1, [x8]
	mov	x0, x19
	bl	_constraint
	ldr	x8, [x21, #16]
	ldr	w9, [x8, #72]
	cbz	w9, LBB0_23
; %bb.9:
	ldp	w20, w19, [x8, #64]
Lloh16:
	adrp	x0, l_.str.4@PAGE
Lloh17:
	add	x0, x0, l_.str.4@PAGEOFF
	bl	__
	mov	x1, x0
	mov	x0, x19
	bl	_constraint
	ldr	w8, [x21]
	cmp	w22, #7
	ccmp	w23, #7, #0, le
	ccmp	w20, #8, #0, le
	b.lt	LBB0_26
; %bb.10:
Lloh18:
	adrp	x9, _T_MNEM_sub@GOTPAGE
Lloh19:
	ldr	x9, [x9, _T_MNEM_sub@GOTPAGEOFF]
Lloh20:
	ldr	w9, [x9]
	cmp	w8, w9
	cset	w0, eq
Lloh21:
	adrp	x8, _BAD_HIREG@GOTPAGE
Lloh22:
	ldr	x8, [x8, _BAD_HIREG@GOTPAGEOFF]
Lloh23:
	ldr	w1, [x8]
	bl	_constraint
Lloh24:
	adrp	x8, _T_OPCODE_ADD_HI@GOTPAGE
Lloh25:
	ldr	x8, [x8, _T_OPCODE_ADD_HI@GOTPAGEOFF]
Lloh26:
	ldr	w8, [x8]
	lsr	w9, w22, #3
	and	w10, w22, #0x7
	bfi	w10, w9, #7, #1
	orr	w8, w10, w8
	str	w8, [x21]
	cmp	w23, w22
	b.ne	LBB0_34
; %bb.11:
	orr	w8, w8, w20, lsl #3
	b	LBB0_55
LBB0_12:
Lloh27:
	adrp	x8, _T_MNEM_add@GOTPAGE
Lloh28:
	ldr	x8, [x8, _T_MNEM_add@GOTPAGEOFF]
Lloh29:
	ldr	w8, [x8]
	cmp	w10, w8
	ccmp	w10, w11, #4, ne
	cset	w25, eq
	ldr	w8, [x21, #4]
	cmp	w8, #4
	b.eq	LBB0_45
; %bb.13:
Lloh30:
	adrp	x10, _REG_SP@GOTPAGE
Lloh31:
	ldr	x10, [x10, _REG_SP@GOTPAGEOFF]
Lloh32:
	ldr	w10, [x10]
	cmp	w22, w10
	ccmp	w23, w10, #0, eq
	cset	w11, ne
	orr	w11, w11, w19
	tbz	w11, #0, LBB0_36
; %bb.14:
	cmp	w22, #7
	b.gt	LBB0_42
; %bb.15:
	cmp	w23, w10
	cset	w11, ne
	eor	w10, w25, #0x1
	orr	w11, w11, w10
	orr	w11, w11, w19
	tbz	w11, #0, LBB0_60
; %bb.16:
Lloh33:
	adrp	x11, _REG_PC@GOTPAGE
Lloh34:
	ldr	x11, [x11, _REG_PC@GOTPAGEOFF]
Lloh35:
	ldr	w11, [x11]
	cmp	w23, w11
	cset	w11, ne
	orr	w10, w11, w10
	orr	w10, w10, w19
	tbz	w10, #0, LBB0_61
; %bb.17:
	cmp	w23, #7
	b.gt	LBB0_42
; %bb.18:
	cbz	w9, LBB0_42
; %bb.19:
	cbz	w19, LBB0_62
; %bb.20:
Lloh36:
	adrp	x9, _T_MNEM_addis@GOTPAGE
Lloh37:
	ldr	x9, [x9, _T_MNEM_addis@GOTPAGEOFF]
Lloh38:
	adrp	x10, _T_MNEM_subis@GOTPAGE
Lloh39:
	ldr	x10, [x10, _T_MNEM_subis@GOTPAGEOFF]
	b	LBB0_37
LBB0_21:
	ldr	w12, [x8, #64]
	cmp	w12, #7
	ccmp	w23, #7, #0, le
Lloh40:
	adrp	x14, _FALSE@GOTPAGE
Lloh41:
	ldr	x14, [x14, _FALSE@GOTPAGEOFF]
	ccmp	w22, #7, #0, le
Lloh42:
	ldr	w14, [x14]
	csel	w14, w14, w9, gt
Lloh43:
	adrp	x9, _T_MNEM_add@GOTPAGE
Lloh44:
	ldr	x9, [x9, _T_MNEM_add@GOTPAGEOFF]
Lloh45:
	ldr	w9, [x9]
	cbz	w14, LBB0_31
; %bb.22:
	cmp	w10, w9
	ccmp	w10, w11, #4, ne
Lloh46:
	adrp	x8, _T_OPCODE_ADD_R3@GOTPAGE
Lloh47:
	ldr	x8, [x8, _T_OPCODE_ADD_R3@GOTPAGEOFF]
Lloh48:
	adrp	x9, _T_OPCODE_SUB_R3@GOTPAGE
Lloh49:
	ldr	x9, [x9, _T_OPCODE_SUB_R3@GOTPAGEOFF]
	csel	x8, x8, x9, eq
	ldr	w8, [x8]
	orr	w9, w22, w23, lsl #3
	orr	w9, w9, w12, lsl #6
	b	LBB0_54
LBB0_23:
Lloh50:
	adrp	x8, _REG_SP@GOTPAGE
Lloh51:
	ldr	x8, [x8, _REG_SP@GOTPAGEOFF]
Lloh52:
	ldr	w8, [x8]
	cmp	w22, #8
	b.lt	LBB0_27
; %bb.24:
	cmp	w22, w8
	ccmp	w23, w8, #0, eq
	mov	x8, x23
	b.eq	LBB0_27
; %bb.25:
	mov	w0, #1
	b	LBB0_50
LBB0_26:
Lloh53:
	adrp	x9, _T_MNEM_add@GOTPAGE
Lloh54:
	ldr	x9, [x9, _T_MNEM_add@GOTPAGEOFF]
Lloh55:
	ldr	w9, [x9]
Lloh56:
	adrp	x10, _T_OPCODE_ADD_R3@GOTPAGE
Lloh57:
	ldr	x10, [x10, _T_OPCODE_ADD_R3@GOTPAGEOFF]
Lloh58:
	adrp	x11, _T_OPCODE_SUB_R3@GOTPAGE
Lloh59:
	ldr	x11, [x11, _T_OPCODE_SUB_R3@GOTPAGEOFF]
	cmp	w8, w9
	csel	x8, x10, x11, eq
	ldr	w8, [x8]
	orr	w9, w22, w23, lsl #3
	orr	w9, w9, w20, lsl #6
	b	LBB0_54
LBB0_27:
	cmp	w23, #8
	ccmp	w23, w8, #4, ge
	b.ne	LBB0_49
; %bb.28:
	mov	w0, #0
	b	LBB0_50
LBB0_29:
	mov	w19, #0
LBB0_30:
Lloh60:
	adrp	x0, l_.str.3@PAGE
Lloh61:
	add	x0, x0, l_.str.3@PAGEOFF
	bl	__
	mov	x1, x0
	mov	x0, x19
	bl	_constraint
	ldr	w0, [x21]
	bl	_THUMB_OP32
	lsl	w8, w23, #16
	orr	w8, w8, w22, lsl #8
	orr	w8, w8, w0
	str	w8, [x21]
	mov	w0, #2
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	b	_encode_thumb32_shifted_operand
LBB0_31:
	cmp	w10, w9
	b.ne	LBB0_6
; %bb.32:
	cmp	w22, w23
	b.ne	LBB0_58
; %bb.33:
Lloh62:
	adrp	x8, _T_OPCODE_ADD_HI@GOTPAGE
Lloh63:
	ldr	x8, [x8, _T_OPCODE_ADD_HI@GOTPAGEOFF]
Lloh64:
	ldr	w8, [x8]
	lsr	w9, w22, #3
	and	w10, w22, #0x7
	bfi	w10, w9, #7, #1
	orr	w9, w10, w12, lsl #3
	b	LBB0_54
LBB0_34:
	cmp	w20, w22
	b.ne	LBB0_57
; %bb.35:
	orr	w8, w8, w23, lsl #3
	b	LBB0_55
LBB0_36:
Lloh65:
	adrp	x9, _T_MNEM_inc_sp@GOTPAGE
Lloh66:
	ldr	x9, [x9, _T_MNEM_inc_sp@GOTPAGEOFF]
Lloh67:
	adrp	x10, _T_MNEM_dec_sp@GOTPAGE
Lloh68:
	ldr	x10, [x10, _T_MNEM_dec_sp@GOTPAGEOFF]
LBB0_37:
	cmp	w25, #0
	csel	x9, x9, x10, ne
LBB0_38:
	ldr	w20, [x9]
	cbz	w20, LBB0_42
; %bb.39:
	mov	x0, x20
	bl	_THUMB_OP16
	orr	w8, w23, w22, lsl #4
	orr	w8, w8, w0
	str	w8, [x21]
Lloh69:
	adrp	x8, _BFD_RELOC_ARM_THUMB_ADD@GOTPAGE
Lloh70:
	ldr	x8, [x8, _BFD_RELOC_ARM_THUMB_ADD@GOTPAGEOFF]
Lloh71:
	ldr	x8, [x8]
	str	x8, [x21, #24]
	ldr	w9, [x21, #4]
	cmp	w9, #2
	b.eq	LBB0_41
; %bb.40:
	str	w20, [x21, #8]
LBB0_41:
	mov	w8, #1
	b	LBB0_43
LBB0_42:
	cmp	w8, #2
	cset	w0, eq
Lloh72:
	adrp	x8, _BAD_HIREG@GOTPAGE
Lloh73:
	ldr	x8, [x8, _BAD_HIREG@GOTPAGEOFF]
Lloh74:
	ldr	w1, [x8]
	bl	_constraint
	mov	w8, #0
	ldr	w9, [x21, #4]
LBB0_43:
	cmp	w9, #2
	cset	w10, eq
	cmp	w9, #4
	b.eq	LBB0_45
; %bb.44:
	orr	w8, w8, w10
	tbnz	w8, #0, LBB0_56
LBB0_45:
Lloh75:
	adrp	x8, _REG_PC@GOTPAGE
Lloh76:
	ldr	x8, [x8, _REG_PC@GOTPAGEOFF]
Lloh77:
	ldr	w8, [x8]
	cmp	w22, w8
	b.ne	LBB0_47
; %bb.46:
Lloh78:
	adrp	x8, _REG_LR@GOTPAGE
Lloh79:
	ldr	x8, [x8, _REG_LR@GOTPAGEOFF]
Lloh80:
	ldr	w8, [x8]
	cmp	w23, w8
	ldr	w8, [x21]
	ldr	w9, [x24]
	ccmp	w8, w9, #0, eq
	cset	w19, ne
Lloh81:
	adrp	x0, l_.str@PAGE
Lloh82:
	add	x0, x0, l_.str@PAGEOFF
	bl	__
	mov	x1, x0
	mov	x0, x19
	bl	_constraint
	ldr	x8, [x21, #32]
Lloh83:
	adrp	x9, _O_constant@GOTPAGE
Lloh84:
	ldr	x9, [x9, _O_constant@GOTPAGEOFF]
Lloh85:
	ldr	x9, [x9]
	cmp	x8, x9
	cset	w19, ne
Lloh86:
	adrp	x0, l_.str.1@PAGE
Lloh87:
	add	x0, x0, l_.str.1@PAGEOFF
	bl	__
	mov	x1, x0
	mov	x0, x19
	bl	_constraint
	ldr	w8, [x21, #40]
	cmp	w8, #255
	cset	w19, hi
Lloh88:
	adrp	x0, l_.str.2@PAGE
Lloh89:
	add	x0, x0, l_.str.2@PAGEOFF
	bl	__
	mov	x1, x0
	mov	x0, x19
	bl	_constraint
Lloh90:
	adrp	x8, _T2_SUBS_PC_LR@GOTPAGE
Lloh91:
	ldr	x8, [x8, _T2_SUBS_PC_LR@GOTPAGEOFF]
Lloh92:
	ldr	w8, [x8]
	ldr	w9, [x21, #40]
	orr	w8, w9, w8
	str	w8, [x21]
Lloh93:
	adrp	x8, _BFD_RELOC_UNUSED@GOTPAGE
Lloh94:
	ldr	x8, [x8, _BFD_RELOC_UNUSED@GOTPAGEOFF]
	b	LBB0_51
LBB0_47:
	cmp	w23, w8
	b.ne	LBB0_52
; %bb.48:
	mov	w8, #10485760
	mov	w9, #-233897984
	orr	w8, w9, w8
	cmp	w25, #0
	csel	w8, w9, w8, ne
Lloh95:
	adrp	x9, _BFD_RELOC_ARM_T32_IMM12@GOTPAGE
Lloh96:
	ldr	x9, [x9, _BFD_RELOC_ARM_T32_IMM12@GOTPAGEOFF]
	b	LBB0_53
LBB0_49:
Lloh97:
	adrp	x8, _REG_PC@GOTPAGE
Lloh98:
	ldr	x8, [x8, _REG_PC@GOTPAGEOFF]
Lloh99:
	ldr	w8, [x8]
	cmp	w23, w8
	cset	w0, ne
LBB0_50:
Lloh100:
	adrp	x8, _BAD_HIREG@GOTPAGE
Lloh101:
	ldr	x8, [x8, _BAD_HIREG@GOTPAGEOFF]
Lloh102:
	ldr	w1, [x8]
	bl	_constraint
	ldr	w8, [x21]
Lloh103:
	adrp	x9, _T_MNEM_add@GOTPAGE
Lloh104:
	ldr	x9, [x9, _T_MNEM_add@GOTPAGEOFF]
Lloh105:
	ldr	w9, [x9]
	cmp	w8, w9
	cset	w8, ne
	orr	w9, w23, w22, lsl #4
	orr	w8, w9, w8, lsl #15
	str	w8, [x21]
Lloh106:
	adrp	x8, _BFD_RELOC_ARM_THUMB_ADD@GOTPAGE
Lloh107:
	ldr	x8, [x8, _BFD_RELOC_ARM_THUMB_ADD@GOTPAGEOFF]
LBB0_51:
	ldr	x8, [x8]
	str	x8, [x21, #24]
	b	LBB0_56
LBB0_52:
	ldr	w0, [x21]
	bl	_THUMB_OP32
	and	w8, w0, #0xe1ffffff
	orr	w8, w8, #0x10000000
Lloh108:
	adrp	x9, _BFD_RELOC_ARM_T32_ADD_IMM@GOTPAGE
Lloh109:
	ldr	x9, [x9, _BFD_RELOC_ARM_T32_ADD_IMM@GOTPAGEOFF]
Lloh110:
	adrp	x10, _BFD_RELOC_ARM_T32_IMMEDIATE@GOTPAGE
Lloh111:
	ldr	x10, [x10, _BFD_RELOC_ARM_T32_IMMEDIATE@GOTPAGEOFF]
	cmp	w19, #0
	csel	x9, x10, x9, ne
LBB0_53:
	ldr	x9, [x9]
	str	x9, [x21, #24]
	lsl	w9, w23, #16
	orr	w9, w9, w22, lsl #8
LBB0_54:
	orr	w8, w9, w8
LBB0_55:
	str	w8, [x21]
LBB0_56:
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	ret
LBB0_57:
Lloh112:
	adrp	x0, l_.str.5@PAGE
Lloh113:
	add	x0, x0, l_.str.5@PAGEOFF
	bl	__
	mov	x1, x0
	mov	w0, #1
	ldp	x29, x30, [sp, #64]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #48]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp, #32]             ; 16-byte Folded Reload
	ldp	x24, x23, [sp, #16]             ; 16-byte Folded Reload
	ldp	x26, x25, [sp], #80             ; 16-byte Folded Reload
	b	_constraint
LBB0_58:
	cmp	w22, w12
	b.ne	LBB0_6
; %bb.59:
Lloh114:
	adrp	x8, _T_OPCODE_ADD_HI@GOTPAGE
Lloh115:
	ldr	x8, [x8, _T_OPCODE_ADD_HI@GOTPAGEOFF]
Lloh116:
	ldr	w8, [x8]
	lsr	w9, w22, #3
	and	w10, w22, #0x7
	bfi	w10, w9, #7, #1
	orr	w9, w10, w23, lsl #3
	b	LBB0_54
LBB0_60:
Lloh117:
	adrp	x9, _T_MNEM_add_sp@GOTPAGE
Lloh118:
	ldr	x9, [x9, _T_MNEM_add_sp@GOTPAGEOFF]
	b	LBB0_38
LBB0_61:
Lloh119:
	adrp	x9, _T_MNEM_add_pc@GOTPAGE
Lloh120:
	ldr	x9, [x9, _T_MNEM_add_pc@GOTPAGEOFF]
	b	LBB0_38
LBB0_62:
Lloh121:
	adrp	x9, _T_MNEM_addi@GOTPAGE
Lloh122:
	ldr	x9, [x9, _T_MNEM_addi@GOTPAGEOFF]
Lloh123:
	adrp	x10, _T_MNEM_subi@GOTPAGE
Lloh124:
	ldr	x10, [x10, _T_MNEM_subi@GOTPAGEOFF]
	b	LBB0_37
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGot	Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh5, Lloh6, Lloh7
	.loh AdrpLdrGotLdr	Lloh2, Lloh3, Lloh4
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpLdrGotLdr	Lloh13, Lloh14, Lloh15
	.loh AdrpAdd	Lloh16, Lloh17
	.loh AdrpLdrGotLdr	Lloh24, Lloh25, Lloh26
	.loh AdrpLdrGotLdr	Lloh21, Lloh22, Lloh23
	.loh AdrpLdrGotLdr	Lloh18, Lloh19, Lloh20
	.loh AdrpLdrGotLdr	Lloh27, Lloh28, Lloh29
	.loh AdrpLdrGotLdr	Lloh30, Lloh31, Lloh32
	.loh AdrpLdrGotLdr	Lloh33, Lloh34, Lloh35
	.loh AdrpLdrGot	Lloh38, Lloh39
	.loh AdrpLdrGot	Lloh36, Lloh37
	.loh AdrpLdrGotLdr	Lloh43, Lloh44, Lloh45
	.loh AdrpLdrGotLdr	Lloh40, Lloh41, Lloh42
	.loh AdrpLdrGot	Lloh48, Lloh49
	.loh AdrpLdrGot	Lloh46, Lloh47
	.loh AdrpLdrGotLdr	Lloh50, Lloh51, Lloh52
	.loh AdrpLdrGot	Lloh58, Lloh59
	.loh AdrpLdrGot	Lloh56, Lloh57
	.loh AdrpLdrGotLdr	Lloh53, Lloh54, Lloh55
	.loh AdrpAdd	Lloh60, Lloh61
	.loh AdrpLdrGotLdr	Lloh62, Lloh63, Lloh64
	.loh AdrpLdrGot	Lloh67, Lloh68
	.loh AdrpLdrGot	Lloh65, Lloh66
	.loh AdrpLdrGotLdr	Lloh69, Lloh70, Lloh71
	.loh AdrpLdrGotLdr	Lloh72, Lloh73, Lloh74
	.loh AdrpLdrGotLdr	Lloh75, Lloh76, Lloh77
	.loh AdrpLdrGot	Lloh93, Lloh94
	.loh AdrpLdrGotLdr	Lloh90, Lloh91, Lloh92
	.loh AdrpAdd	Lloh88, Lloh89
	.loh AdrpAdd	Lloh86, Lloh87
	.loh AdrpLdrGotLdr	Lloh83, Lloh84, Lloh85
	.loh AdrpAdd	Lloh81, Lloh82
	.loh AdrpLdrGotLdr	Lloh78, Lloh79, Lloh80
	.loh AdrpLdrGot	Lloh95, Lloh96
	.loh AdrpLdrGotLdr	Lloh97, Lloh98, Lloh99
	.loh AdrpLdrGot	Lloh106, Lloh107
	.loh AdrpLdrGotLdr	Lloh103, Lloh104, Lloh105
	.loh AdrpLdrGotLdr	Lloh100, Lloh101, Lloh102
	.loh AdrpLdrGot	Lloh110, Lloh111
	.loh AdrpLdrGot	Lloh108, Lloh109
	.loh AdrpAdd	Lloh112, Lloh113
	.loh AdrpLdrGotLdr	Lloh114, Lloh115, Lloh116
	.loh AdrpLdrGot	Lloh117, Lloh118
	.loh AdrpLdrGot	Lloh119, Lloh120
	.loh AdrpLdrGot	Lloh123, Lloh124
	.loh AdrpLdrGot	Lloh121, Lloh122
	.cfi_endproc
                                        ; -- End function
	.comm	_inst,48,3                      ; @inst
	.comm	_unified_syntax,8,3             ; @unified_syntax
	.comm	_T_MNEM_adds,4,2                ; @T_MNEM_adds
	.comm	_T_MNEM_subs,4,2                ; @T_MNEM_subs
	.comm	_current_it_mask,8,3            ; @current_it_mask
	.comm	_T_MNEM_add,4,2                 ; @T_MNEM_add
	.comm	_REG_SP,4,2                     ; @REG_SP
	.comm	_T_MNEM_inc_sp,4,2              ; @T_MNEM_inc_sp
	.comm	_T_MNEM_dec_sp,4,2              ; @T_MNEM_dec_sp
	.comm	_T_MNEM_add_sp,4,2              ; @T_MNEM_add_sp
	.comm	_REG_PC,4,2                     ; @REG_PC
	.comm	_T_MNEM_add_pc,4,2              ; @T_MNEM_add_pc
	.comm	_T_MNEM_addis,4,2               ; @T_MNEM_addis
	.comm	_T_MNEM_subis,4,2               ; @T_MNEM_subis
	.comm	_T_MNEM_addi,4,2                ; @T_MNEM_addi
	.comm	_T_MNEM_subi,4,2                ; @T_MNEM_subi
	.comm	_BFD_RELOC_ARM_THUMB_ADD,8,3    ; @BFD_RELOC_ARM_THUMB_ADD
	.comm	_BAD_HIREG,4,2                  ; @BAD_HIREG
	.comm	_REG_LR,4,2                     ; @REG_LR
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"only SUBS PC, LR, #const allowed"

	.comm	_O_constant,8,3                 ; @O_constant
l_.str.1:                               ; @.str.1
	.asciz	"expression too complex"

l_.str.2:                               ; @.str.2
	.asciz	"immediate value out of range"

	.comm	_T2_SUBS_PC_LR,4,2              ; @T2_SUBS_PC_LR
	.comm	_BFD_RELOC_UNUSED,8,3           ; @BFD_RELOC_UNUSED
	.comm	_BFD_RELOC_ARM_T32_IMM12,8,3    ; @BFD_RELOC_ARM_T32_IMM12
	.comm	_BFD_RELOC_ARM_T32_IMMEDIATE,8,3 ; @BFD_RELOC_ARM_T32_IMMEDIATE
	.comm	_BFD_RELOC_ARM_T32_ADD_IMM,8,3  ; @BFD_RELOC_ARM_T32_ADD_IMM
	.comm	_FALSE,4,2                      ; @FALSE
	.comm	_T_OPCODE_ADD_R3,8,3            ; @T_OPCODE_ADD_R3
	.comm	_T_OPCODE_SUB_R3,8,3            ; @T_OPCODE_SUB_R3
	.comm	_T_OPCODE_ADD_HI,8,3            ; @T_OPCODE_ADD_HI
l_.str.3:                               ; @.str.3
	.asciz	"shift must be constant"

	.comm	_BAD_THUMB32,4,2                ; @BAD_THUMB32
l_.str.4:                               ; @.str.4
	.asciz	"unshifted register required"

	.comm	_T_MNEM_sub,4,2                 ; @T_MNEM_sub
l_.str.5:                               ; @.str.5
	.asciz	"dest must overlap one source register"

	.no_dead_strip	_do_t_add_sub
.subsections_via_symbols
