	.file	"extr_lcode.c_luaK_posfix.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	luaK_posfix
	.type	luaK_posfix, @function
luaK_posfix:
.LFB0:
	.cfi_startproc
	endbr64
	add	esi, -128
	cmp	esi, 14
	ja	.L2
	push	r14
	.cfi_def_cfa_offset 16
	.cfi_offset 14, -16
	push	r13
	.cfi_def_cfa_offset 24
	.cfi_offset 13, -24
	mov	r13, rdx
	lea	rdx, .L4[rip]
	movsx	rax, DWORD PTR [rdx+rsi*4]
	push	r12
	.cfi_def_cfa_offset 32
	.cfi_offset 12, -32
	mov	r12, rcx
	push	rbp
	.cfi_def_cfa_offset 40
	.cfi_offset 6, -40
	mov	rbp, rdi
	add	rax, rdx
	push	rbx
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L4:
	.long	.L18-.L4
	.long	.L17-.L4
	.long	.L16-.L4
	.long	.L15-.L4
	.long	.L14-.L4
	.long	.L13-.L4
	.long	.L12-.L4
	.long	.L11-.L4
	.long	.L10-.L4
	.long	.L9-.L4
	.long	.L8-.L4
	.long	.L7-.L4
	.long	.L6-.L4
	.long	.L5-.L4
	.long	.L3-.L4
	.text
	.p2align 4,,10
	.p2align 3
.L5:
	mov	eax, DWORD PTR NO_JUMP[rip]
	xor	edi, edi
	cmp	DWORD PTR 8[r13], eax
	sete	dil
	call	lua_assert@PLT
	mov	rsi, r12
	mov	rdi, rbp
	call	luaK_dischargevars@PLT
	mov	edx, DWORD PTR 12[r13]
	lea	rsi, 12[r12]
	mov	rdi, rbp
	call	luaK_concat@PLT
	movdqu	xmm0, XMMWORD PTR [r12]
	movups	XMMWORD PTR 0[r13], xmm0
.L1:
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 40
	pop	rbp
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L3:
	.cfi_restore_state
	mov	esi, DWORD PTR OP_ADD[rip]
	mov	rdx, r13
.L24:
	pop	rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	mov	rdi, rbp
	pop	rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	codearith@PLT
	.p2align 4,,10
	.p2align 3
.L18:
	.cfi_restore_state
	mov	esi, DWORD PTR OP_SUB[rip]
	mov	rdx, r13
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L17:
	mov	esi, DWORD PTR OP_POW[rip]
	mov	rdx, r13
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L16:
	mov	eax, DWORD PTR NO_JUMP[rip]
	xor	edi, edi
	cmp	DWORD PTR 12[r13], eax
	sete	dil
	call	lua_assert@PLT
	mov	rsi, r12
	mov	rdi, rbp
	call	luaK_dischargevars@PLT
	mov	edx, DWORD PTR 8[r13]
	lea	rsi, 8[r12]
	mov	rdi, rbp
	call	luaK_concat@PLT
	movdqu	xmm1, XMMWORD PTR [r12]
	movups	XMMWORD PTR 0[r13], xmm1
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L15:
	mov	esi, DWORD PTR OP_EQ[rip]
	mov	r8, rcx
	xor	edx, edx
	mov	rcx, r13
.L25:
	pop	rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	mov	rdi, rbp
	pop	rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	codecomp@PLT
	.p2align 4,,10
	.p2align 3
.L14:
	.cfi_restore_state
	mov	esi, DWORD PTR OP_MUL[rip]
	mov	rdx, r13
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L13:
	mov	esi, DWORD PTR OP_MOD[rip]
	mov	rdx, r13
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L12:
	mov	r8, rcx
	mov	esi, DWORD PTR OP_LT[rip]
	mov	rcx, r13
	mov	edx, 1
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L11:
	mov	r8, rcx
	mov	edx, 1
	mov	rcx, r13
.L26:
	mov	esi, DWORD PTR OP_LE[rip]
	pop	rbx
	.cfi_remember_state
	.cfi_restore 3
	.cfi_def_cfa_offset 40
	mov	rdi, rbp
	pop	rbp
	.cfi_restore 6
	.cfi_def_cfa_offset 32
	pop	r12
	.cfi_restore 12
	.cfi_def_cfa_offset 24
	pop	r13
	.cfi_restore 13
	.cfi_def_cfa_offset 16
	pop	r14
	.cfi_restore 14
	.cfi_def_cfa_offset 8
	jmp	codecomp@PLT
	.p2align 4,,10
	.p2align 3
.L10:
	.cfi_restore_state
	mov	r8, rcx
	mov	esi, DWORD PTR OP_LT[rip]
	mov	rcx, r13
	xor	edx, edx
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L9:
	mov	r8, rcx
	xor	edx, edx
	mov	rcx, r13
	jmp	.L26
	.p2align 4,,10
	.p2align 3
.L8:
	mov	r8, rcx
	mov	esi, DWORD PTR OP_EQ[rip]
	mov	rcx, r13
	mov	edx, 1
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L7:
	mov	esi, DWORD PTR OP_DIV[rip]
	mov	rdx, r13
	jmp	.L24
	.p2align 4,,10
	.p2align 3
.L6:
	mov	rsi, rcx
	call	luaK_exp2val@PLT
	mov	eax, DWORD PTR VRELOCABLE[rip]
	cmp	DWORD PTR 4[r12], eax
	je	.L28
.L20:
	mov	rsi, r12
	mov	rdi, rbp
	call	luaK_exp2nextreg@PLT
	mov	esi, DWORD PTR OP_CONCAT[rip]
	mov	rcx, r12
	mov	rdx, r13
	jmp	.L24
.L2:
	.cfi_def_cfa_offset 8
	.cfi_restore 3
	.cfi_restore 6
	.cfi_restore 12
	.cfi_restore 13
	.cfi_restore 14
	xor	edi, edi
	jmp	lua_assert@PLT
	.p2align 4,,10
	.p2align 3
.L28:
	.cfi_def_cfa_offset 48
	.cfi_offset 3, -48
	.cfi_offset 6, -40
	.cfi_offset 12, -32
	.cfi_offset 13, -24
	.cfi_offset 14, -16
	mov	rsi, r12
	mov	rdi, rbp
	call	getcode@PLT
	mov	edi, eax
	call	GET_OPCODE@PLT
	cmp	eax, DWORD PTR OP_CONCAT[rip]
	jne	.L20
	mov	rsi, r12
	mov	rdi, rbp
	mov	ebx, DWORD PTR 0[r13]
	call	getcode@PLT
	mov	edi, eax
	call	GETARG_B@PLT
	xor	edi, edi
	sub	eax, 1
	cmp	eax, ebx
	sete	dil
	call	lua_assert@PLT
	mov	rsi, r13
	mov	rdi, rbp
	call	freeexp@PLT
	mov	r14d, DWORD PTR 0[r13]
	mov	rsi, r12
	mov	rdi, rbp
	call	getcode@PLT
	mov	edi, eax
	mov	esi, r14d
	call	SETARG_B@PLT
	mov	eax, DWORD PTR VRELOCABLE[rip]
	mov	DWORD PTR 4[r13], eax
	mov	eax, DWORD PTR [r12]
	mov	DWORD PTR 0[r13], eax
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	luaK_posfix, .-luaK_posfix
	.comm	VRELOCABLE,4,4
	.comm	OP_SUB,4,4
	.comm	OP_POW,4,4
	.comm	OP_MUL,4,4
	.comm	OP_MOD,4,4
	.comm	OP_LT,4,4
	.comm	OP_LE,4,4
	.comm	OP_EQ,4,4
	.comm	OP_DIV,4,4
	.comm	OP_CONCAT,4,4
	.comm	OP_ADD,4,4
	.comm	NO_JUMP,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_lcode.c_luaK_posfix.c"
	.text
	.align	2
	.global	luaK_posfix
	.syntax unified
	.arm
	.fpu softvfp
	.type	luaK_posfix, %function
luaK_posfix:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, lr}
	sub	r1, r1, #128
	mov	r6, r0
	mov	r5, r2
	mov	r4, r3
	sub	sp, sp, #8
	cmp	r1, #14
	ldrls	pc, [pc, r1, asl #2]
	b	.L2
.L4:
	.word	.L18
	.word	.L17
	.word	.L16
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L9
	.word	.L8
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L3:
	ldr	r1, .L29
.L27:
	mov	r3, r4
	mov	r2, r5
	mov	r0, r6
	ldr	r1, [r1]
.L26:
	add	sp, sp, #8
	@ sp needed
	pop	{r4, r5, r6, r7, r8, lr}
	b	codearith
.L18:
	ldr	r1, .L29+4
	b	.L27
.L17:
	ldr	r1, .L29+8
	b	.L27
.L16:
	ldr	r3, .L29+12
	ldr	r0, [r2, #12]
	ldr	r3, [r3]
	sub	r0, r0, r3
	clz	r0, r0
	lsr	r0, r0, #5
	bl	lua_assert
	mov	r1, r4
	mov	r0, r6
	bl	luaK_dischargevars
	ldr	r2, [r5, #8]
	add	r1, r4, #8
	mov	r0, r6
	bl	luaK_concat
	ldm	r4, {r0, r1, r2, r3}
	stm	r5, {r0, r1, r2, r3}
.L1:
	add	sp, sp, #8
	@ sp needed
	pop	{r4, r5, r6, r7, r8, pc}
.L15:
	ldr	r2, .L29+16
.L24:
	str	r4, [sp]
	ldr	r1, [r2]
	mov	r3, r5
	mov	r0, r6
	mov	r2, #0
	bl	codecomp
	add	sp, sp, #8
	@ sp needed
	pop	{r4, r5, r6, r7, r8, pc}
.L14:
	ldr	r1, .L29+20
	b	.L27
.L13:
	ldr	r1, .L29+24
	b	.L27
.L12:
	ldr	r2, .L29+28
.L25:
	str	r4, [sp]
	ldr	r1, [r2]
	mov	r3, r5
	mov	r0, r6
	mov	r2, #1
	bl	codecomp
	add	sp, sp, #8
	@ sp needed
	pop	{r4, r5, r6, r7, r8, pc}
.L11:
	ldr	r2, .L29+32
	b	.L25
.L10:
	ldr	r2, .L29+28
	b	.L24
.L9:
	ldr	r2, .L29+32
	b	.L24
.L8:
	ldr	r2, .L29+16
	b	.L25
.L7:
	ldr	r1, .L29+36
	b	.L27
.L6:
	ldr	r8, .L29+40
	mov	r1, r3
	bl	luaK_exp2val
	ldr	r3, [r8]
	ldr	r2, [r4, #4]
	cmp	r2, r3
	beq	.L22
	ldr	r7, .L29+44
.L20:
	mov	r1, r4
	mov	r0, r6
	bl	luaK_exp2nextreg
	mov	r3, r4
	mov	r2, r5
	mov	r0, r6
	ldr	r1, [r7]
	b	.L26
.L5:
	ldr	r3, .L29+12
	ldr	r0, [r2, #8]
	ldr	r3, [r3]
	sub	r0, r0, r3
	clz	r0, r0
	lsr	r0, r0, #5
	bl	lua_assert
	mov	r1, r4
	mov	r0, r6
	bl	luaK_dischargevars
	ldr	r2, [r5, #12]
	add	r1, r4, #12
	mov	r0, r6
	bl	luaK_concat
	ldm	r4, {r0, r1, r2, r3}
	stm	r5, {r0, r1, r2, r3}
	b	.L1
.L22:
	mov	r1, r4
	mov	r0, r6
	bl	getcode
	bl	GET_OPCODE
	ldr	r7, .L29+44
	ldr	r3, [r7]
	cmp	r0, r3
	bne	.L20
	mov	r1, r4
	mov	r0, r6
	ldr	r7, [r5]
	bl	getcode
	bl	GETARG_B
	sub	r0, r0, #1
	sub	r0, r0, r7
	clz	r0, r0
	lsr	r0, r0, #5
	bl	lua_assert
	mov	r1, r5
	mov	r0, r6
	bl	freeexp
	mov	r1, r4
	mov	r0, r6
	bl	getcode
	ldr	r1, [r5]
	bl	SETARG_B
	ldr	r2, [r8]
	ldr	r3, [r4]
	str	r2, [r5, #4]
	str	r3, [r5]
	b	.L1
.L2:
	mov	r0, #0
	add	sp, sp, #8
	@ sp needed
	pop	{r4, r5, r6, r7, r8, lr}
	b	lua_assert
.L30:
	.align	2
.L29:
	.word	OP_ADD
	.word	OP_SUB
	.word	OP_POW
	.word	NO_JUMP
	.word	OP_EQ
	.word	OP_MUL
	.word	OP_MOD
	.word	OP_LT
	.word	OP_LE
	.word	OP_DIV
	.word	VRELOCABLE
	.word	OP_CONCAT
	.size	luaK_posfix, .-luaK_posfix
	.comm	VRELOCABLE,4,4
	.comm	OP_SUB,4,4
	.comm	OP_POW,4,4
	.comm	OP_MUL,4,4
	.comm	OP_MOD,4,4
	.comm	OP_LT,4,4
	.comm	OP_LE,4,4
	.comm	OP_EQ,4,4
	.comm	OP_DIV,4,4
	.comm	OP_CONCAT,4,4
	.comm	OP_ADD,4,4
	.comm	NO_JUMP,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
