	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	4, 0x90                         ## -- Begin function do_ldmstm
_do_ldmstm:                             ## @do_ldmstm
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	_inst@GOTPCREL(%rip), %rsi
	movq	8(%rsi), %rdi
	movl	(%rdi), %ecx
	movl	20(%rdi), %r8d
	movl	%ecx, %edx
	shll	$16, %edx
	orl	%r8d, %edx
	orl	(%rsi), %edx
	movl	%edx, (%rsi)
	cmpq	$0, 24(%rdi)
	je	LBB0_2
## %bb.1:
	movq	_LDM_TYPE_2_OR_3@GOTPCREL(%rip), %rax
	orl	(%rax), %edx
	movl	%edx, (%rsi)
LBB0_2:
	cmpq	$0, 8(%rdi)
	je	LBB0_15
## %bb.3:
	movq	_WRITE_BACK@GOTPCREL(%rip), %rax
	orl	(%rax), %edx
	movl	%edx, (%rsi)
	movq	_LOAD_BIT@GOTPCREL(%rip), %rax
	movq	_LDM_TYPE_2_OR_3@GOTPCREL(%rip), %rsi
	movl	(%rsi), %esi
	testl	%edx, (%rax)
	je	LBB0_8
## %bb.4:
	testl	%edx, %esi
	je	LBB0_6
## %bb.5:
	movq	_REG_PC@GOTPCREL(%rip), %rax
	movl	(%rax), %eax
	btl	%eax, %r8d
	jae	LBB0_10
LBB0_6:
	btl	%ecx, %r8d
	jae	LBB0_15
## %bb.7:
	leaq	L_.str.1(%rip), %rdi
	jmp	LBB0_14
LBB0_8:
	testl	%edx, %esi
	je	LBB0_11
LBB0_10:
	leaq	L_.str(%rip), %rdi
LBB0_14:
	callq	__
	movl	%eax, %edi
	popq	%rbp
	jmp	_as_warn                        ## TAILCALL
LBB0_11:
	movl	$1, %edx
	shll	%cl, %edx
	btl	%ecx, %r8d
	jae	LBB0_15
## %bb.12:
	decl	%edx
	testl	%r8d, %edx
	je	LBB0_15
## %bb.13:
	leaq	L_.str.2(%rip), %rdi
	jmp	LBB0_14
LBB0_15:
	popq	%rbp
	retq
	.cfi_endproc
                                        ## -- End function
	.comm	_inst,16,3                      ## @inst
	.comm	_LDM_TYPE_2_OR_3,4,2            ## @LDM_TYPE_2_OR_3
	.comm	_WRITE_BACK,4,2                 ## @WRITE_BACK
	.comm	_LOAD_BIT,4,2                   ## @LOAD_BIT
	.comm	_REG_PC,4,2                     ## @REG_PC
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"writeback of base register is UNPREDICTABLE"

L_.str.1:                               ## @.str.1
	.asciz	"writeback of base register when in register list is UNPREDICTABLE"

L_.str.2:                               ## @.str.2
	.asciz	"if writeback register is in list, it must be the lowest reg in the list"

	.no_dead_strip	_do_ldmstm
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.p2align	2                               ; -- Begin function do_ldmstm
_do_ldmstm:                             ; @do_ldmstm
	.cfi_startproc
; %bb.0:
	stp	x29, x30, [sp, #-16]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 16
	mov	x29, sp
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
Lloh0:
	adrp	x10, _inst@GOTPAGE
Lloh1:
	ldr	x10, [x10, _inst@GOTPAGEOFF]
	ldr	x12, [x10, #8]
	ldr	w9, [x12]
	ldr	w8, [x12, #20]
	ldr	w11, [x10]
	orr	w13, w8, w9, lsl #16
	orr	w13, w13, w11
	str	w13, [x10]
	ldr	x14, [x12, #24]
Lloh2:
	adrp	x11, _LDM_TYPE_2_OR_3@GOTPAGE
Lloh3:
	ldr	x11, [x11, _LDM_TYPE_2_OR_3@GOTPAGEOFF]
	cbz	x14, LBB0_2
; %bb.1:
	ldr	w14, [x11]
	orr	w13, w14, w13
	str	w13, [x10]
LBB0_2:
	ldr	x12, [x12, #8]
	cbz	x12, LBB0_14
; %bb.3:
Lloh4:
	adrp	x12, _WRITE_BACK@GOTPAGE
Lloh5:
	ldr	x12, [x12, _WRITE_BACK@GOTPAGEOFF]
Lloh6:
	ldr	w12, [x12]
	orr	w12, w13, w12
	str	w12, [x10]
Lloh7:
	adrp	x10, _LOAD_BIT@GOTPAGE
Lloh8:
	ldr	x10, [x10, _LOAD_BIT@GOTPAGEOFF]
Lloh9:
	ldr	w13, [x10]
	ldr	w10, [x11]
	and	w10, w10, w12
	tst	w13, w12
	b.eq	LBB0_8
; %bb.4:
	cbz	w10, LBB0_6
; %bb.5:
Lloh10:
	adrp	x10, _REG_PC@GOTPAGE
Lloh11:
	ldr	x10, [x10, _REG_PC@GOTPAGEOFF]
Lloh12:
	ldr	w10, [x10]
	lsr	w10, w8, w10
	tbz	w10, #0, LBB0_9
LBB0_6:
	lsr	w8, w8, w9
	tbz	w8, #0, LBB0_14
; %bb.7:
Lloh13:
	adrp	x0, l_.str.1@PAGE
Lloh14:
	add	x0, x0, l_.str.1@PAGEOFF
	b	LBB0_10
LBB0_8:
	cbz	w10, LBB0_11
LBB0_9:
Lloh15:
	adrp	x0, l_.str@PAGE
Lloh16:
	add	x0, x0, l_.str@PAGEOFF
LBB0_10:
	bl	__
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	b	_as_warn
LBB0_11:
	mov	w10, #1
	lsl	w9, w10, w9
	tst	w8, w9
	b.eq	LBB0_14
; %bb.12:
	sub	w9, w9, #1
	tst	w9, w8
	b.eq	LBB0_14
; %bb.13:
Lloh17:
	adrp	x0, l_.str.2@PAGE
Lloh18:
	add	x0, x0, l_.str.2@PAGEOFF
	b	LBB0_10
LBB0_14:
	ldp	x29, x30, [sp], #16             ; 16-byte Folded Reload
	ret
	.loh AdrpLdrGot	Lloh2, Lloh3
	.loh AdrpLdrGot	Lloh0, Lloh1
	.loh AdrpLdrGotLdr	Lloh7, Lloh8, Lloh9
	.loh AdrpLdrGotLdr	Lloh4, Lloh5, Lloh6
	.loh AdrpLdrGotLdr	Lloh10, Lloh11, Lloh12
	.loh AdrpAdd	Lloh13, Lloh14
	.loh AdrpAdd	Lloh15, Lloh16
	.loh AdrpAdd	Lloh17, Lloh18
	.cfi_endproc
                                        ; -- End function
	.comm	_inst,16,3                      ; @inst
	.comm	_LDM_TYPE_2_OR_3,4,2            ; @LDM_TYPE_2_OR_3
	.comm	_WRITE_BACK,4,2                 ; @WRITE_BACK
	.comm	_LOAD_BIT,4,2                   ; @LOAD_BIT
	.comm	_REG_PC,4,2                     ; @REG_PC
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"writeback of base register is UNPREDICTABLE"

l_.str.1:                               ; @.str.1
	.asciz	"writeback of base register when in register list is UNPREDICTABLE"

l_.str.2:                               ; @.str.2
	.asciz	"if writeback register is in list, it must be the lowest reg in the list"

	.no_dead_strip	_do_ldmstm
.subsections_via_symbols
