	.file	"extr_visemul.c_edge.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	edge, @function
edge:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12, rdi
	mov	edi, esi
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	ebp, esi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	ebx, edx
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	call	RD@PLT
	mov	edi, ebp
	mov	r14d, eax
	call	RS2@PLT
	mov	edi, ebp
	mov	r13d, eax
	call	RS1@PLT
	mov	edx, r14d
	xor	ecx, ecx
	mov	esi, r13d
	mov	edi, eax
	call	maybe_flush_windows@PLT
	mov	edi, ebp
	call	RS1@PLT
	mov	rsi, r12
	mov	edi, eax
	call	fetch_reg@PLT
	mov	edi, ebp
	mov	r13, rax
	call	RS2@PLT
	mov	rsi, r12
	mov	edi, eax
	call	fetch_reg@PLT
	mov	edi, DWORD PTR TIF_32BIT[rip]
	mov	r14, rax
	call	test_thread_flag@PLT
	mov	edx, r13d
	mov	esi, r14d
	test	rax, rax
	jne	.L2
	mov	rsi, r14
	mov	rdx, r13
.L2:
	lea	eax, -130[rbx]
	cmp	eax, 9
	ja	.L3
	lea	rcx, .L5[rip]
	movsx	rax, DWORD PTR [rcx+rax*4]
	add	rax, rcx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L5:
	.long	.L9-.L5
	.long	.L9-.L5
	.long	.L8-.L5
	.long	.L8-.L5
	.long	.L7-.L5
	.long	.L7-.L5
	.long	.L6-.L5
	.long	.L6-.L5
	.long	.L4-.L5
	.long	.L4-.L5
	.text
	.p2align 4,,10
	.p2align 3
.L6:
	mov	rcx, QWORD PTR edge16_tab[rip]
.L19:
	lea	rax, 0[0+rdx*8]
	and	eax, 48
	mov	r15, QWORD PTR [rcx+rax]
	lea	rax, 0[0+rsi*8]
	and	eax, 48
	mov	rax, QWORD PTR 8[rcx+rax]
.L10:
	xor	rdx, rsi
	and	rax, r15
	mov	edi, ebp
	test	rdx, -8
	cmove	r15, rax
	add	ebx, -128
	call	RD@PLT
	mov	rdi, r12
	mov	edx, eax
	mov	rsi, r15
	call	store_reg@PLT
	cmp	ebx, 10
	ja	.L1
	lea	rdx, .L14[rip]
	movsx	rax, DWORD PTR [rdx+rbx*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L14:
	.long	.L13-.L14
	.long	.L1-.L14
	.long	.L13-.L14
	.long	.L1-.L14
	.long	.L13-.L14
	.long	.L1-.L14
	.long	.L13-.L14
	.long	.L1-.L14
	.long	.L13-.L14
	.long	.L1-.L14
	.long	.L13-.L14
	.text
	.p2align 4,,10
	.p2align 3
.L13:
#APP
# 125 "data/linux/arch/sparc/kernel/extr_visemul.c_edge.c" 1
	subcc	r13, r14, %g0
	rd	%ccr, r14
# 0 "" 2
#NO_APP
	mov	r13, QWORD PTR TSTATE_XCC[rip]
	or	r13, QWORD PTR TSTATE_ICC[rip]
	sal	r14, 32
	not	r13
	and	r13, QWORD PTR [r12]
	or	r13, r14
	mov	QWORD PTR [r12], r13
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	pop	rbx
	.cfi_def_cfa_offset 48
	pop	rbp
	.cfi_def_cfa_offset 40
	pop	r12
	.cfi_def_cfa_offset 32
	pop	r13
	.cfi_def_cfa_offset 24
	pop	r14
	.cfi_def_cfa_offset 16
	pop	r15
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	mov	rcx, QWORD PTR edge16_tab_l[rip]
	jmp	.L19
	.p2align 4,,10
	.p2align 3
.L9:
	mov	rcx, QWORD PTR edge8_tab_l[rip]
.L17:
	mov	rax, rdx
	and	eax, 7
	sal	rax, 4
	mov	r15, QWORD PTR [rcx+rax]
	mov	rax, rsi
	and	eax, 7
	sal	rax, 4
	mov	rax, QWORD PTR 8[rcx+rax]
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L8:
	mov	rcx, QWORD PTR edge32_tab[rip]
.L18:
	lea	rax, 0[0+rdx*4]
	and	eax, 16
	mov	r15, QWORD PTR [rcx+rax]
	lea	rax, 0[0+rsi*4]
	and	eax, 16
	mov	rax, QWORD PTR 8[rcx+rax]
	jmp	.L10
	.p2align 4,,10
	.p2align 3
.L7:
	mov	rcx, QWORD PTR edge32_tab_l[rip]
	jmp	.L18
.L3:
	mov	rcx, QWORD PTR edge8_tab[rip]
	jmp	.L17
	.cfi_endproc
.LFE0:
	.size	edge, .-edge
	.comm	edge8_tab_l,8,8
	.comm	edge8_tab,8,8
	.comm	edge32_tab_l,8,8
	.comm	edge32_tab,8,8
	.comm	edge16_tab_l,8,8
	.comm	edge16_tab,8,8
	.comm	TSTATE_XCC,8,8
	.comm	TSTATE_ICC,8,8
	.comm	TIF_32BIT,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",@progbits
	.section	.note.gnu.property,"a"
	.align 8
	.long	 1f - 0f
	.long	 4f - 1f
	.long	 5
0:
	.string	 "GNU"
1:
	.align 8
	.long	 0xc0000002
	.long	 3f - 2f
2:
	.long	 0x3
3:
	.align 8
4:

	.arch armv5t
	.eabi_attribute 20, 1
	.eabi_attribute 21, 1
	.eabi_attribute 23, 3
	.eabi_attribute 24, 1
	.eabi_attribute 25, 1
	.eabi_attribute 26, 2
	.eabi_attribute 30, 2
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"extr_visemul.c_edge.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	edge, %function
edge:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	mov	r6, r0
	mov	r0, r1
	mov	r4, r1
	mov	r5, r2
	bl	RS1
	mov	r7, r0
	mov	r0, r4
	bl	RS2
	mov	r8, r0
	mov	r0, r4
	bl	RD
	mov	r3, #0
	mov	r2, r0
	mov	r1, r8
	mov	r0, r7
	bl	maybe_flush_windows
	mov	r0, r4
	bl	RS1
	mov	r1, r6
	bl	fetch_reg
	mov	r7, r0
	mov	r0, r4
	bl	RS2
	mov	r1, r6
	bl	fetch_reg
	ldr	r3, .L19
	mov	r8, r0
	ldr	r0, [r3]
	bl	test_thread_flag
	sub	r3, r5, #130
	cmp	r3, #9
	ldrls	pc, [pc, r3, asl #2]
	b	.L2
.L4:
	.word	.L8
	.word	.L8
	.word	.L7
	.word	.L7
	.word	.L6
	.word	.L6
	.word	.L5
	.word	.L5
	.word	.L3
	.word	.L3
.L3:
	ldr	r2, .L19+4
.L17:
	ldr	r0, [r2]
	lsl	r3, r8, #2
	and	r3, r3, #24
	lsr	r1, r7, #1
	add	r3, r0, r3
	and	r1, r1, #3
	ldr	r2, [r3, #4]
	ldr	r9, [r0, r1, lsl #3]
.L9:
	eor	r3, r7, r8
	bics	r3, r3, #7
	mov	r0, r4
	andeq	r9, r9, r2
	bl	RD
	mov	r1, r9
	mov	r2, r0
	mov	r0, r6
	bl	store_reg
	sub	r2, r5, #128
	cmp	r2, #10
	ldrls	pc, [pc, r2, asl #2]
	b	.L1
.L13:
	.word	.L12
	.word	.L1
	.word	.L12
	.word	.L1
	.word	.L12
	.word	.L1
	.word	.L12
	.word	.L1
	.word	.L12
	.word	.L1
	.word	.L12
.L12:
	.syntax divided
@ 125 "data/linux/arch/sparc/kernel/extr_visemul.c_edge.c" 1
	subcc	r7, r8, %g0
	rd	%ccr, r7
@ 0 "" 2
	.arm
	.syntax unified
	ldr	r3, .L19+8
	ldr	r2, .L19+12
	ldr	r1, [r3]
	ldr	r2, [r2]
	ldr	r3, [r6]
	orr	r2, r2, r1
	bic	r3, r3, r2
	str	r3, [r6]
.L1:
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L8:
	ldr	r2, .L19+16
.L15:
	ldr	r0, [r2]
	and	r3, r8, #7
	and	r1, r7, #7
	add	r3, r0, r3, lsl #3
	ldr	r2, [r3, #4]
	ldr	r9, [r0, r1, lsl #3]
	b	.L9
.L7:
	ldr	r2, .L19+20
.L16:
	ldr	r0, [r2]
	lsl	r3, r8, #1
	and	r3, r3, #8
	lsr	r1, r7, #2
	add	r3, r0, r3
	and	r1, r1, #1
	ldr	r2, [r3, #4]
	ldr	r9, [r0, r1, lsl #3]
	b	.L9
.L6:
	ldr	r2, .L19+24
	b	.L16
.L5:
	ldr	r2, .L19+28
	b	.L17
.L2:
	ldr	r2, .L19+32
	b	.L15
.L20:
	.align	2
.L19:
	.word	TIF_32BIT
	.word	edge16_tab_l
	.word	TSTATE_ICC
	.word	TSTATE_XCC
	.word	edge8_tab_l
	.word	edge32_tab
	.word	edge32_tab_l
	.word	edge16_tab
	.word	edge8_tab
	.size	edge, .-edge
	.comm	edge8_tab_l,4,4
	.comm	edge8_tab,4,4
	.comm	edge32_tab_l,4,4
	.comm	edge32_tab,4,4
	.comm	edge16_tab_l,4,4
	.comm	edge16_tab,4,4
	.comm	TSTATE_XCC,4,4
	.comm	TSTATE_ICC,4,4
	.comm	TIF_32BIT,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
