	.file	"extr_test-ctype.c_describe_char.c"
	.intel_syntax noprefix
	.text
	.section	.rodata.str1.8,"aMS",@progbits,1
	.align 8
.LC0:
	.string	"chr#%-4d%2c%6s%6s%6s%6s%6s%6s%6s%6s%6s%6s%6s%4c%4c\n"
	.text
	.p2align 4
	.globl	describe_char
	.type	describe_char, @function
describe_char:
.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
	mov	r14d, 32
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	ebp, edi
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	movzx	r13d, bpl
	sub	rsp, 40
	.cfi_def_cfa_offset 96
	call	toupper@PLT
	mov	edi, ebp
	mov	r12d, eax
	call	tolower@PLT
	mov	edi, r13d
	movzx	r12d, r12b
	mov	ebx, eax
	call	isprint@PLT
	mov	edi, r12d
	movzx	ebx, bl
	test	eax, eax
	cmove	r13d, r14d
	call	isprint@PLT
	mov	edi, ebx
	test	eax, eax
	cmove	r12d, r14d
	call	isprint@PLT
	mov	edi, ebp
	test	eax, eax
	cmove	ebx, r14d
	call	isxdigit@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR [rsp], eax
	call	isupper@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR 4[rsp], eax
	call	isspace@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR 8[rsp], eax
	call	ispunct@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR 28[rsp], eax
	call	isprint@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR 24[rsp], eax
	call	isgraph@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR 20[rsp], eax
	call	islower@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	xor	edi, edi
	mov	DWORD PTR 16[rsp], eax
	lea	eax, -48[rbp]
	cmp	eax, 9
	setbe	dil
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	DWORD PTR 12[rsp], eax
	call	iscntrl@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	r15d, eax
	call	isalpha@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	mov	edi, ebp
	mov	r14d, eax
	call	isalnum@PLT
	mov	edi, eax
	xor	eax, eax
	call	flag@PLT
	push	r12
	.cfi_def_cfa_offset 104
	mov	r9d, r15d
	mov	r8d, r14d
	push	rbx
	.cfi_def_cfa_offset 112
	mov	edx, DWORD PTR 16[rsp]
	mov	ecx, eax
	lea	rdi, .LC0[rip]
	push	rdx
	.cfi_def_cfa_offset 120
	mov	esi, DWORD PTR 28[rsp]
	push	rsi
	.cfi_def_cfa_offset 128
	mov	ebx, DWORD PTR 40[rsp]
	push	rbx
	.cfi_def_cfa_offset 136
	mov	r11d, DWORD PTR 68[rsp]
	push	r11
	.cfi_def_cfa_offset 144
	mov	r10d, DWORD PTR 72[rsp]
	push	r10
	.cfi_def_cfa_offset 152
	mov	esi, DWORD PTR 76[rsp]
	push	rsi
	.cfi_def_cfa_offset 160
	mov	edx, DWORD PTR 80[rsp]
	mov	esi, ebp
	push	rdx
	.cfi_def_cfa_offset 168
	mov	eax, DWORD PTR 84[rsp]
	mov	edx, r13d
	push	rax
	.cfi_def_cfa_offset 176
	xor	eax, eax
	call	printf@PLT
	add	rsp, 120
	.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
	.cfi_endproc
.LFE0:
	.size	describe_char, .-describe_char
	.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_test-ctype.c_describe_char.c"
	.text
	.section	.rodata.str1.4,"aMS",%progbits,1
	.align	2
.LC0:
	.ascii	"chr#%-4d%2c%6s%6s%6s%6s%6s%6s%6s%6s%6s%6s%6s%4c%4c\012"
	.ascii	"\000"
	.text
	.align	2
	.global	describe_char
	.syntax unified
	.arm
	.fpu softvfp
	.type	describe_char, %function
describe_char:
	@ args = 0, pretend = 0, frame = 24
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, fp, lr}
	sub	sp, sp, #76
	mov	r4, r0
	bl	toupper
	mov	r6, r0
	mov	r0, r4
	bl	tolower
	and	r2, r4, #255
	mov	r5, r0
	mov	r0, r2
	str	r2, [sp, #48]
	bl	isprint
	cmp	r0, #0
	ldr	r2, [sp, #48]
	moveq	r2, #32
	and	r6, r6, #255
	mov	r0, r6
	str	r2, [sp, #68]
	bl	isprint
	and	r5, r5, #255
	cmp	r0, #0
	mov	r0, r5
	moveq	r6, #32
	bl	isprint
	mov	r3, r0
	mov	r0, r4
	cmp	r3, #0
	moveq	r5, #32
	bl	isalnum
	bl	flag
	mov	r7, r0
	mov	r0, r4
	bl	isalpha
	bl	flag
	mov	r3, r0
	mov	r0, r4
	str	r3, [sp, #48]
	bl	iscntrl
	bl	flag
	mov	r3, r0
	sub	r0, r4, #48
	cmp	r0, #9
	movhi	r0, #0
	movls	r0, #1
	str	r3, [sp, #52]
	bl	flag
	mov	r3, r0
	mov	r0, r4
	str	r3, [sp, #56]
	bl	islower
	bl	flag
	mov	r8, r0
	mov	r0, r4
	bl	isgraph
	bl	flag
	mov	r9, r0
	mov	r0, r4
	bl	isprint
	bl	flag
	mov	r10, r0
	mov	r0, r4
	bl	ispunct
	bl	flag
	mov	fp, r0
	mov	r0, r4
	bl	isspace
	bl	flag
	mov	r3, r0
	mov	r0, r4
	str	r3, [sp, #64]
	bl	isupper
	bl	flag
	mov	r1, r0
	mov	r0, r4
	str	r1, [sp, #60]
	bl	isxdigit
	bl	flag
	ldr	r1, [sp, #60]
	ldr	r3, [sp, #64]
	str	r1, [sp, #32]
	ldr	r1, [sp, #56]
	str	r3, [sp, #28]
	str	r1, [sp, #8]
	ldr	r3, [sp, #48]
	ldr	r1, [sp, #52]
	str	r3, [sp]
	str	r1, [sp, #4]
	str	r0, [sp, #36]
	mov	r3, r7
	mov	r1, r4
	ldr	r2, [sp, #68]
	str	r6, [sp, #44]
	str	r5, [sp, #40]
	str	fp, [sp, #24]
	str	r10, [sp, #20]
	str	r9, [sp, #16]
	str	r8, [sp, #12]
	ldr	r0, .L7
	bl	printf
	add	sp, sp, #76
	@ sp needed
	pop	{r4, r5, r6, r7, r8, r9, r10, fp, pc}
.L8:
	.align	2
.L7:
	.word	.LC0
	.size	describe_char, .-describe_char
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
