	.file	"extr_fts5_expr.c_fts5ExprGetToken.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.1,"aMS",@progbits,1
.LC0:
	.string	"unterminated string"
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC1:
	.string	"fts5: syntax error near \"%.1s\""
	.section	.rodata.str1.1
.LC2:
	.string	"OR"
.LC3:
	.string	"NOT"
.LC4:
	.string	"AND"
	.text
	.p2align 4
	.type	fts5ExprGetToken, @function
fts5ExprGetToken:
.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
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	rbp, rsi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, rdx
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	mov	r13, QWORD PTR [rsi]
	jmp	.L2
	.p2align 4,,10
	.p2align 3
.L3:
	add	r13, 1
.L2:
	movsx	edi, BYTE PTR 0[r13]
	call	fts5ExprIsspace@PLT
	test	rax, rax
	jne	.L3
	mov	QWORD PTR [rbx], r13
	mov	DWORD PTR 8[rbx], 1
	movzx	ecx, BYTE PTR 0[r13]
	cmp	cl, 94
	jg	.L4
	cmp	cl, 33
	jle	.L41
	lea	eax, -34[rcx]
	cmp	al, 60
	ja	.L7
	lea	rdx, .L9[rip]
	movzx	eax, al
	movsx	rax, DWORD PTR [rdx+rax*4]
	add	rax, rdx
	notrack jmp	rax
	.section	.rodata
	.align 4
	.align 4
.L9:
	.long	.L17-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L16-.L9
	.long	.L15-.L9
	.long	.L14-.L9
	.long	.L13-.L9
	.long	.L12-.L9
	.long	.L11-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L10-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L7-.L9
	.long	.L8-.L9
	.text
	.p2align 4,,10
	.p2align 3
.L41:
	mov	r14d, DWORD PTR FTS5_EOF[rip]
	mov	eax, 1
	test	cl, cl
	jne	.L7
.L20:
	add	r13, rax
	mov	QWORD PTR 0[rbp], r13
.L1:
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	mov	eax, r14d
	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
	cmp	cl, 123
	je	.L18
	cmp	cl, 125
	jne	.L7
	mov	r14d, DWORD PTR FTS5_RCP[rip]
	mov	eax, 1
	jmp	.L20
.L8:
	mov	r14d, DWORD PTR FTS5_CARET[rip]
	mov	eax, 1
	jmp	.L20
.L7:
	movsx	edi, cl
	lea	r15, 1[r13]
	call	sqlite3Fts5IsBareword@PLT
	mov	r14d, DWORD PTR FTS5_STRING[rip]
	test	eax, eax
	jne	.L27
	jmp	.L42
	.p2align 4,,10
	.p2align 3
.L28:
	add	r15, 1
.L27:
	movsx	edi, BYTE PTR [r15]
	call	sqlite3Fts5IsBareword@PLT
	test	eax, eax
	jne	.L28
	sub	r15, r13
	mov	r13, QWORD PTR [rbx]
	mov	DWORD PTR 8[rbx], r15d
	movsx	rax, r15d
	cmp	r15d, 2
	je	.L43
.L29:
	cmp	eax, 3
	jne	.L20
	mov	rdi, r13
	mov	edx, 3
	lea	rsi, .LC3[rip]
	call	memcmp@PLT
	mov	r13, QWORD PTR [rbx]
	test	eax, eax
	movsx	rax, DWORD PTR 8[rbx]
	cmove	r14d, DWORD PTR FTS5_NOT[rip]
	cmp	eax, 3
	jne	.L20
	mov	edx, 3
	lea	rsi, .LC4[rip]
	mov	rdi, r13
	call	memcmp@PLT
	test	eax, eax
	jne	.L39
	mov	r14d, DWORD PTR FTS5_AND[rip]
.L39:
	mov	r13, QWORD PTR [rbx]
	movsx	rax, DWORD PTR 8[rbx]
	jmp	.L20
.L17:
	lea	rax, 1[r13]
	jmp	.L25
	.p2align 4,,10
	.p2align 3
.L21:
	test	dl, dl
	je	.L44
.L23:
	add	rax, 1
.L25:
	movzx	edx, BYTE PTR [rax]
	cmp	dl, 34
	jne	.L21
	cmp	BYTE PTR 1[rax], 34
	lea	rdx, 1[rax]
	jne	.L22
	mov	rax, rdx
	jmp	.L23
.L13:
	mov	r14d, DWORD PTR FTS5_PLUS[rip]
	mov	eax, 1
	jmp	.L20
.L12:
	mov	r14d, DWORD PTR FTS5_COMMA[rip]
	mov	eax, 1
	jmp	.L20
.L15:
	mov	r14d, DWORD PTR FTS5_RP[rip]
	mov	eax, 1
	jmp	.L20
.L14:
	mov	r14d, DWORD PTR FTS5_STAR[rip]
	mov	eax, 1
	jmp	.L20
.L16:
	mov	r14d, DWORD PTR FTS5_LP[rip]
	mov	eax, 1
	jmp	.L20
.L11:
	mov	r14d, DWORD PTR FTS5_MINUS[rip]
	mov	eax, 1
	jmp	.L20
.L10:
	mov	r14d, DWORD PTR FTS5_COLON[rip]
	mov	eax, 1
	jmp	.L20
	.p2align 4,,10
	.p2align 3
.L18:
	mov	r14d, DWORD PTR FTS5_LCP[rip]
	mov	eax, 1
	jmp	.L20
.L44:
	lea	rsi, .LC0[rip]
	mov	rdi, r12
	xor	eax, eax
	call	sqlite3Fts5ParseError@PLT
	mov	r14d, DWORD PTR FTS5_EOF[rip]
	jmp	.L1
.L43:
	mov	edx, 2
	lea	rsi, .LC2[rip]
	mov	rdi, r13
	call	memcmp@PLT
	test	eax, eax
	jne	.L38
	mov	r14d, DWORD PTR FTS5_OR[rip]
.L38:
	movsx	rax, DWORD PTR 8[rbx]
	mov	r13, QWORD PTR [rbx]
	jmp	.L29
.L22:
	sub	rdx, r13
	mov	r14d, DWORD PTR FTS5_STRING[rip]
	mov	DWORD PTR 8[rbx], edx
	movsx	rax, edx
	jmp	.L20
.L42:
	mov	rdx, r13
	lea	rsi, .LC1[rip]
	mov	rdi, r12
	call	sqlite3Fts5ParseError@PLT
	mov	r14d, DWORD PTR FTS5_EOF[rip]
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	fts5ExprGetToken, .-fts5ExprGetToken
	.comm	FTS5_STRING,4,4
	.comm	FTS5_STAR,4,4
	.comm	FTS5_RP,4,4
	.comm	FTS5_RCP,4,4
	.comm	FTS5_PLUS,4,4
	.comm	FTS5_OR,4,4
	.comm	FTS5_NOT,4,4
	.comm	FTS5_MINUS,4,4
	.comm	FTS5_LP,4,4
	.comm	FTS5_LCP,4,4
	.comm	FTS5_EOF,4,4
	.comm	FTS5_COMMA,4,4
	.comm	FTS5_COLON,4,4
	.comm	FTS5_CARET,4,4
	.comm	FTS5_AND,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_fts5_expr.c_fts5ExprGetToken.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"unterminated string\000"
	.align	2
.LC1:
	.ascii	"fts5: syntax error near \"%.1s\"\000"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	fts5ExprGetToken, %function
fts5ExprGetToken:
	@ args = 0, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	mov	r7, r1
	mov	r8, r0
	mov	r6, r2
	ldr	r4, [r1]
.L2:
	mov	r5, r4
	ldrb	r0, [r4], #1	@ zero_extendqisi2
	bl	fts5ExprIsspace
	cmp	r0, #0
	bne	.L2
	mov	r3, #1
	str	r5, [r6]
	str	r3, [r6, #4]
	ldrb	r0, [r5]	@ zero_extendqisi2
	cmp	r0, #94
	bhi	.L3
	cmp	r0, #33
	bls	.L39
	sub	r3, r0, #34
	cmp	r3, #60
	ldrls	pc, [pc, r3, asl #2]
	b	.L6
.L8:
	.word	.L16
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L15
	.word	.L14
	.word	.L13
	.word	.L12
	.word	.L11
	.word	.L10
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L9
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L6
	.word	.L7
.L3:
	cmp	r0, #123
	beq	.L17
	cmp	r0, #125
	bne	.L6
	ldr	r2, .L43
	ldr	r4, [r2]
.L19:
	add	r3, r5, r3
	str	r3, [r7]
.L1:
	mov	r0, r4
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L39:
	cmp	r0, #0
	bne	.L6
	ldr	r2, .L43+4
	ldr	r4, [r2]
	b	.L19
.L7:
	ldr	r2, .L43+8
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L6:
	bl	sqlite3Fts5IsBareword
	cmp	r0, #0
	beq	.L40
	ldr	r3, .L43+12
	add	r8, r5, #1
	ldr	r4, [r3]
.L26:
	ldrb	r0, [r8]	@ zero_extendqisi2
	bl	sqlite3Fts5IsBareword
	cmp	r0, #0
	mov	r9, r8
	add	r8, r8, #1
	bne	.L26
	sub	r9, r9, r5
	cmp	r9, #2
	mov	r3, r9
	ldr	r5, [r6]
	str	r9, [r6, #4]
	beq	.L41
	cmp	r9, #3
	bne	.L19
	ldrb	r3, [r5]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L30
	ldrb	r2, [r5, #1]	@ zero_extendqisi2
	cmp	r2, #79
	bne	.L30
	ldrb	r2, [r5, #2]	@ zero_extendqisi2
	cmp	r2, #84
	ldreq	r2, .L43+16
	ldreq	r4, [r2]
.L30:
	cmp	r3, #65
	bne	.L34
	ldrb	r3, [r5, #1]	@ zero_extendqisi2
	cmp	r3, #78
	bne	.L34
	ldrb	r3, [r5, #2]	@ zero_extendqisi2
	cmp	r3, #68
	bne	.L34
	ldr	r2, .L43+20
	mov	r3, #3
	ldr	r4, [r2]
	b	.L19
.L16:
	add	r3, r5, #1
	b	.L24
.L20:
	cmp	r2, #0
	beq	.L42
.L22:
	add	r3, r3, #1
.L24:
	ldrb	r2, [r3]	@ zero_extendqisi2
	cmp	r2, #34
	bne	.L20
	ldrb	r2, [r3, #1]	@ zero_extendqisi2
	add	r3, r3, #1
	cmp	r2, #34
	beq	.L22
	ldr	r2, .L43+12
	sub	r3, r3, r5
	str	r3, [r6, #4]
	ldr	r4, [r2]
	b	.L19
.L12:
	ldr	r2, .L43+24
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L11:
	ldr	r2, .L43+28
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L14:
	ldr	r2, .L43+32
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L13:
	ldr	r2, .L43+36
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L15:
	ldr	r2, .L43+40
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L10:
	ldr	r2, .L43+44
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L9:
	ldr	r2, .L43+48
	mov	r3, #1
	ldr	r4, [r2]
	b	.L19
.L17:
	ldr	r2, .L43+52
	ldr	r4, [r2]
	b	.L19
.L42:
	mov	r0, r8
	ldr	r1, .L43+56
	bl	sqlite3Fts5ParseError
	ldr	r3, .L43+4
	ldr	r4, [r3]
	b	.L1
.L41:
	ldrb	r2, [r5]	@ zero_extendqisi2
	cmp	r2, #79
	bne	.L33
	ldrb	r2, [r5, #1]	@ zero_extendqisi2
	cmp	r2, #82
	bne	.L33
	ldr	r2, .L43+60
	ldr	r4, [r2]
	b	.L19
.L40:
	mov	r2, r5
	mov	r0, r8
	ldr	r1, .L43+64
	bl	sqlite3Fts5ParseError
	ldr	r3, .L43+4
	ldr	r4, [r3]
	b	.L1
.L34:
	mov	r3, #3
	b	.L19
.L33:
	mov	r3, #2
	b	.L19
.L44:
	.align	2
.L43:
	.word	FTS5_RCP
	.word	FTS5_EOF
	.word	FTS5_CARET
	.word	FTS5_STRING
	.word	FTS5_NOT
	.word	FTS5_AND
	.word	FTS5_PLUS
	.word	FTS5_COMMA
	.word	FTS5_RP
	.word	FTS5_STAR
	.word	FTS5_LP
	.word	FTS5_MINUS
	.word	FTS5_COLON
	.word	FTS5_LCP
	.word	.LC0
	.word	FTS5_OR
	.word	.LC1
	.size	fts5ExprGetToken, .-fts5ExprGetToken
	.comm	FTS5_STRING,4,4
	.comm	FTS5_STAR,4,4
	.comm	FTS5_RP,4,4
	.comm	FTS5_RCP,4,4
	.comm	FTS5_PLUS,4,4
	.comm	FTS5_OR,4,4
	.comm	FTS5_NOT,4,4
	.comm	FTS5_MINUS,4,4
	.comm	FTS5_LP,4,4
	.comm	FTS5_LCP,4,4
	.comm	FTS5_EOF,4,4
	.comm	FTS5_COMMA,4,4
	.comm	FTS5_COLON,4,4
	.comm	FTS5_CARET,4,4
	.comm	FTS5_AND,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
