	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function encode_thumb32_immediate
_encode_thumb32_immediate:              ## @encode_thumb32_immediate
	.cfi_startproc
## %bb.0:
	movl	%edi, %eax
	cmpl	$256, %edi                      ## imm = 0x100
	jae	LBB0_1
## %bb.57:
	retq
LBB0_1:
	testl	$-511, %eax                     ## imm = 0xFE01
	je	LBB0_2
## %bb.4:
	testl	$-1021, %eax                    ## imm = 0xFC03
	je	LBB0_5
## %bb.6:
	testl	$-2041, %eax                    ## imm = 0xF807
	je	LBB0_7
## %bb.8:
	testl	$-4081, %eax                    ## imm = 0xF00F
	je	LBB0_9
## %bb.10:
	testl	$-8161, %eax                    ## imm = 0xE01F
	je	LBB0_11
## %bb.12:
	testl	$-16321, %eax                   ## imm = 0xC03F
	je	LBB0_13
## %bb.14:
	testl	$-32641, %eax                   ## imm = 0x807F
	je	LBB0_15
## %bb.16:
	testl	$-65281, %eax                   ## imm = 0xFFFF00FF
	je	LBB0_17
## %bb.18:
	testl	$-130561, %eax                  ## imm = 0xFFFE01FF
	je	LBB0_19
## %bb.20:
	testl	$-261121, %eax                  ## imm = 0xFFFC03FF
	je	LBB0_21
## %bb.22:
	testl	$-522241, %eax                  ## imm = 0xFFF807FF
	je	LBB0_23
## %bb.24:
	testl	$-1044481, %eax                 ## imm = 0xFFF00FFF
	je	LBB0_25
## %bb.26:
	testl	$-2088961, %eax                 ## imm = 0xFFE01FFF
	je	LBB0_27
## %bb.28:
	testl	$-4177921, %eax                 ## imm = 0xFFC03FFF
	je	LBB0_29
## %bb.30:
	testl	$-8355841, %eax                 ## imm = 0xFF807FFF
	je	LBB0_31
## %bb.32:
	testl	$-16711681, %eax                ## imm = 0xFF00FFFF
	je	LBB0_33
## %bb.34:
	testl	$-33423361, %eax                ## imm = 0xFE01FFFF
	je	LBB0_35
## %bb.36:
	testl	$-66846721, %eax                ## imm = 0xFC03FFFF
	je	LBB0_37
## %bb.38:
	testl	$-133693441, %eax               ## imm = 0xF807FFFF
	je	LBB0_39
## %bb.40:
	testl	$-267386881, %eax               ## imm = 0xF00FFFFF
	je	LBB0_41
## %bb.42:
	testl	$-534773761, %eax               ## imm = 0xE01FFFFF
	je	LBB0_43
## %bb.44:
	testl	$-1069547521, %eax              ## imm = 0xC03FFFFF
	je	LBB0_45
## %bb.46:
	testl	$-2139095041, %eax              ## imm = 0x807FFFFF
	je	LBB0_47
## %bb.48:
	testl	$16777215, %eax                 ## imm = 0xFFFFFF
	je	LBB0_49
## %bb.50:
	movzbl	%al, %ecx
	movl	%ecx, %edx
	shll	$16, %edx
	leal	(%rdx,%rcx), %esi
	cmpl	%eax, %esi
	jne	LBB0_52
## %bb.51:
	orl	$256, %ecx                      ## imm = 0x100
	movl	%ecx, %eax
	retq
LBB0_2:
	movl	$1, %ecx
	jmp	LBB0_3
LBB0_5:
	movl	$2, %ecx
	jmp	LBB0_3
LBB0_7:
	movl	$3, %ecx
	jmp	LBB0_3
LBB0_9:
	movl	$4, %ecx
	jmp	LBB0_3
LBB0_11:
	movl	$5, %ecx
	jmp	LBB0_3
LBB0_13:
	movl	$6, %ecx
	jmp	LBB0_3
LBB0_15:
	movl	$7, %ecx
	jmp	LBB0_3
LBB0_17:
	movl	$8, %ecx
	jmp	LBB0_3
LBB0_19:
	movl	$9, %ecx
	jmp	LBB0_3
LBB0_21:
	movl	$10, %ecx
	jmp	LBB0_3
LBB0_23:
	movl	$11, %ecx
	jmp	LBB0_3
LBB0_25:
	movl	$12, %ecx
	jmp	LBB0_3
LBB0_27:
	movl	$13, %ecx
	jmp	LBB0_3
LBB0_29:
	movl	$14, %ecx
	jmp	LBB0_3
LBB0_31:
	movl	$15, %ecx
	jmp	LBB0_3
LBB0_33:
	movl	$16, %ecx
	jmp	LBB0_3
LBB0_35:
	movl	$17, %ecx
	jmp	LBB0_3
LBB0_37:
	movl	$18, %ecx
	jmp	LBB0_3
LBB0_39:
	movl	$19, %ecx
	jmp	LBB0_3
LBB0_41:
	movl	$20, %ecx
	jmp	LBB0_3
LBB0_43:
	movl	$21, %ecx
	jmp	LBB0_3
LBB0_45:
	movl	$22, %ecx
	jmp	LBB0_3
LBB0_47:
	movl	$23, %ecx
	jmp	LBB0_3
LBB0_49:
	movl	$24, %ecx
LBB0_3:
	shrl	%cl, %eax
	andl	$127, %eax
	shll	$7, %ecx
	subl	%ecx, %eax
	addl	$4096, %eax                     ## imm = 0x1000
	retq
LBB0_52:
	movl	%eax, %esi
	shll	$24, %esi
	orl	%esi, %edx
	movl	%ecx, %esi
	shll	$8, %esi
	orl	%edx, %esi
	orl	%ecx, %esi
	cmpl	%eax, %esi
	jne	LBB0_54
## %bb.53:
	orl	$768, %ecx                      ## imm = 0x300
	movl	%ecx, %eax
	retq
LBB0_54:
	movl	%eax, %ecx
	andl	$65280, %ecx                    ## imm = 0xFF00
	movl	%ecx, %edx
	shll	$16, %edx
	orl	%ecx, %edx
	cmpl	%eax, %edx
	jne	LBB0_56
## %bb.55:
	shrl	$8, %ecx
	orl	$512, %ecx                      ## imm = 0x200
	movl	%ecx, %eax
	retq
LBB0_56:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_FAIL@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_FAIL,4,2                       ## @FAIL
	.no_dead_strip	_encode_thumb32_immediate
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function encode_thumb32_immediate
_encode_thumb32_immediate:              ; @encode_thumb32_immediate
	.cfi_startproc
; %bb.0:
	cmp	w0, #256
	b.hs	LBB0_2
; %bb.1:
	ret
LBB0_2:
	tst	w0, #0xfffffe01
	b.eq	LBB0_28
; %bb.3:
	tst	w0, #0xfffffc03
	b.eq	LBB0_29
; %bb.4:
	tst	w0, #0xfffff807
	b.eq	LBB0_30
; %bb.5:
	tst	w0, #0xfffff00f
	b.eq	LBB0_31
; %bb.6:
	tst	w0, #0xffffe01f
	b.eq	LBB0_32
; %bb.7:
	tst	w0, #0xffffc03f
	b.eq	LBB0_33
; %bb.8:
	tst	w0, #0xffff807f
	b.eq	LBB0_34
; %bb.9:
	tst	w0, #0xffff00ff
	b.eq	LBB0_35
; %bb.10:
	tst	w0, #0xfffe01ff
	b.eq	LBB0_36
; %bb.11:
	tst	w0, #0xfffc03ff
	b.eq	LBB0_37
; %bb.12:
	tst	w0, #0xfff807ff
	b.eq	LBB0_38
; %bb.13:
	tst	w0, #0xfff00fff
	b.eq	LBB0_39
; %bb.14:
	tst	w0, #0xffe01fff
	b.eq	LBB0_40
; %bb.15:
	tst	w0, #0xffc03fff
	b.eq	LBB0_41
; %bb.16:
	tst	w0, #0xff807fff
	b.eq	LBB0_42
; %bb.17:
	tst	w0, #0xff00ffff
	b.eq	LBB0_43
; %bb.18:
	tst	w0, #0xfe01ffff
	b.eq	LBB0_44
; %bb.19:
	tst	w0, #0xfc03ffff
	b.eq	LBB0_45
; %bb.20:
	tst	w0, #0xf807ffff
	b.eq	LBB0_46
; %bb.21:
	tst	w0, #0xf00fffff
	b.eq	LBB0_47
; %bb.22:
	tst	w0, #0xe01fffff
	b.eq	LBB0_48
; %bb.23:
	tst	w0, #0xc03fffff
	b.eq	LBB0_49
; %bb.24:
	tst	w0, #0x807fffff
	b.eq	LBB0_50
; %bb.25:
	tst	w0, #0xffffff
	b.eq	LBB0_51
; %bb.26:
	and	w8, w0, #0xff
	mov	x9, x8
	bfi	w9, w8, #16, #8
	cmp	w9, w0
	b.ne	LBB0_53
; %bb.27:
	orr	w0, w8, #0x100
	ret
LBB0_28:
	mov	w8, #1
	b	LBB0_52
LBB0_29:
	mov	w8, #2
	b	LBB0_52
LBB0_30:
	mov	w8, #3
	b	LBB0_52
LBB0_31:
	mov	w8, #4
	b	LBB0_52
LBB0_32:
	mov	w8, #5
	b	LBB0_52
LBB0_33:
	mov	w8, #6
	b	LBB0_52
LBB0_34:
	mov	w8, #7
	b	LBB0_52
LBB0_35:
	mov	w8, #8
	b	LBB0_52
LBB0_36:
	mov	w8, #9
	b	LBB0_52
LBB0_37:
	mov	w8, #10
	b	LBB0_52
LBB0_38:
	mov	w8, #11
	b	LBB0_52
LBB0_39:
	mov	w8, #12
	b	LBB0_52
LBB0_40:
	mov	w8, #13
	b	LBB0_52
LBB0_41:
	mov	w8, #14
	b	LBB0_52
LBB0_42:
	mov	w8, #15
	b	LBB0_52
LBB0_43:
	mov	w8, #16
	b	LBB0_52
LBB0_44:
	mov	w8, #17
	b	LBB0_52
LBB0_45:
	mov	w8, #18
	b	LBB0_52
LBB0_46:
	mov	w8, #19
	b	LBB0_52
LBB0_47:
	mov	w8, #20
	b	LBB0_52
LBB0_48:
	mov	w8, #21
	b	LBB0_52
LBB0_49:
	mov	w8, #22
	b	LBB0_52
LBB0_50:
	mov	w8, #23
	b	LBB0_52
LBB0_51:
	mov	w8, #24
LBB0_52:
	lsr	w9, w0, w8
	and	w9, w9, #0x7f
	sub	w8, w9, w8, lsl #7
	add	w0, w8, #1, lsl #12             ; =4096
	ret
LBB0_53:
	lsl	w9, w8, #16
	bfi	w9, w0, #24, #8
	orr	w9, w9, w8, lsl #8
	orr	w9, w9, w8
	cmp	w9, w0
	b.ne	LBB0_55
; %bb.54:
	orr	w0, w8, #0x300
	ret
LBB0_55:
	and	w9, w0, #0xff00
	lsr	w8, w9, #8
	bfi	w9, w8, #24, #8
	cmp	w9, w0
	b.ne	LBB0_57
; %bb.56:
	orr	w0, w8, #0x200
	ret
LBB0_57:
Lloh0:
	adrp	x8, _FAIL@GOTPAGE
Lloh1:
	ldr	x8, [x8, _FAIL@GOTPAGEOFF]
Lloh2:
	ldr	w0, [x8]
	ret
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.cfi_endproc
                                        ; -- End function
	.comm	_FAIL,4,2                       ; @FAIL
	.no_dead_strip	_encode_thumb32_immediate
.subsections_via_symbols
