	.file	"extr_df_v3_6.c_df_v3_6_pmc_get_addr.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.type	df_v3_6_pmc_get_addr, @function
df_v3_6_pmc_get_addr:
.LFB0:
	.cfi_startproc
	endbr64
	push	r12
	.cfi_def_cfa_offset 16
	.cfi_offset 12, -16
	mov	r12, rcx
	push	rbp
	.cfi_def_cfa_offset 24
	.cfi_offset 6, -24
	mov	ebp, edx
	push	rbx
	.cfi_def_cfa_offset 32
	.cfi_offset 3, -32
	mov	rbx, r8
	call	df_v3_6_pmc_config_2_cntr@PLT
	test	eax, eax
	js	.L1
	cmp	eax, 2
	je	.L3
	jg	.L4
	test	eax, eax
	je	.L5
	cmp	eax, 1
	jne	.L1
	test	ebp, ebp
	je	.L10
	mov	eax, DWORD PTR smnPerfMonCtlLo1[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtlHi1[rip]
	mov	DWORD PTR [rbx], eax
.L1:
	pop	rbx
	.cfi_remember_state
	.cfi_def_cfa_offset 24
	pop	rbp
	.cfi_def_cfa_offset 16
	pop	r12
	.cfi_def_cfa_offset 8
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	.cfi_restore_state
	cmp	eax, 3
	jne	.L1
	test	ebp, ebp
	je	.L14
	mov	eax, DWORD PTR smnPerfMonCtlLo3[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtlHi3[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L5:
	test	ebp, ebp
	je	.L8
	mov	eax, DWORD PTR smnPerfMonCtlLo0[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtlHi0[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L10:
	mov	eax, DWORD PTR smnPerfMonCtrLo1[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtrHi1[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L3:
	test	ebp, ebp
	je	.L12
	mov	eax, DWORD PTR smnPerfMonCtlLo2[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtlHi2[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L14:
	mov	eax, DWORD PTR smnPerfMonCtrLo3[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtrHi3[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L8:
	mov	eax, DWORD PTR smnPerfMonCtrLo0[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtrHi0[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.p2align 4,,10
	.p2align 3
.L12:
	mov	eax, DWORD PTR smnPerfMonCtrLo2[rip]
	mov	DWORD PTR [r12], eax
	mov	eax, DWORD PTR smnPerfMonCtrHi2[rip]
	mov	DWORD PTR [rbx], eax
	jmp	.L1
	.cfi_endproc
.LFE0:
	.size	df_v3_6_pmc_get_addr, .-df_v3_6_pmc_get_addr
	.comm	smnPerfMonCtrLo3,4,4
	.comm	smnPerfMonCtrLo2,4,4
	.comm	smnPerfMonCtrLo1,4,4
	.comm	smnPerfMonCtrLo0,4,4
	.comm	smnPerfMonCtrHi3,4,4
	.comm	smnPerfMonCtrHi2,4,4
	.comm	smnPerfMonCtrHi1,4,4
	.comm	smnPerfMonCtrHi0,4,4
	.comm	smnPerfMonCtlLo3,4,4
	.comm	smnPerfMonCtlLo2,4,4
	.comm	smnPerfMonCtlLo1,4,4
	.comm	smnPerfMonCtlLo0,4,4
	.comm	smnPerfMonCtlHi3,4,4
	.comm	smnPerfMonCtlHi2,4,4
	.comm	smnPerfMonCtlHi1,4,4
	.comm	smnPerfMonCtlHi0,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_df_v3_6.c_df_v3_6_pmc_get_addr.c"
	.text
	.align	2
	.syntax unified
	.arm
	.fpu softvfp
	.type	df_v3_6_pmc_get_addr, %function
df_v3_6_pmc_get_addr:
	@ args = 4, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, lr}
	mov	r4, r2
	mov	r5, r3
	bl	df_v3_6_pmc_config_2_cntr
	cmp	r0, #0
	poplt	{r4, r5, r6, pc}
	cmp	r0, #3
	ldrls	pc, [pc, r0, asl #2]
	b	.L1
.L4:
	.word	.L7
	.word	.L6
	.word	.L5
	.word	.L3
.L3:
	cmp	r4, #0
	ldrne	r2, .L18
	ldreq	r2, .L18+4
	ldrne	r3, .L18+8
	ldr	r2, [r2]
	ldreq	r3, .L18+12
	str	r2, [r5]
	ldr	r3, [r3]
.L15:
	ldr	r2, [sp, #16]
	str	r3, [r2]
.L1:
	pop	{r4, r5, r6, pc}
.L7:
	cmp	r4, #0
	ldrne	r2, .L18+16
	ldreq	r2, .L18+20
	ldrne	r3, .L18+24
	ldr	r2, [r2]
	ldreq	r3, .L18+28
	str	r2, [r5]
	ldr	r3, [r3]
	b	.L15
.L6:
	cmp	r4, #0
	ldrne	r2, .L18+32
	ldreq	r2, .L18+36
	ldrne	r3, .L18+40
	ldr	r2, [r2]
	ldreq	r3, .L18+44
	str	r2, [r5]
	ldr	r3, [r3]
	b	.L15
.L5:
	cmp	r4, #0
	ldrne	r2, .L18+48
	ldreq	r2, .L18+52
	ldrne	r3, .L18+56
	ldr	r2, [r2]
	ldreq	r3, .L18+60
	str	r2, [r5]
	ldr	r3, [r3]
	b	.L15
.L19:
	.align	2
.L18:
	.word	smnPerfMonCtlLo3
	.word	smnPerfMonCtrLo3
	.word	smnPerfMonCtlHi3
	.word	smnPerfMonCtrHi3
	.word	smnPerfMonCtlLo0
	.word	smnPerfMonCtrLo0
	.word	smnPerfMonCtlHi0
	.word	smnPerfMonCtrHi0
	.word	smnPerfMonCtlLo1
	.word	smnPerfMonCtrLo1
	.word	smnPerfMonCtlHi1
	.word	smnPerfMonCtrHi1
	.word	smnPerfMonCtlLo2
	.word	smnPerfMonCtrLo2
	.word	smnPerfMonCtlHi2
	.word	smnPerfMonCtrHi2
	.size	df_v3_6_pmc_get_addr, .-df_v3_6_pmc_get_addr
	.comm	smnPerfMonCtrLo3,4,4
	.comm	smnPerfMonCtrLo2,4,4
	.comm	smnPerfMonCtrLo1,4,4
	.comm	smnPerfMonCtrLo0,4,4
	.comm	smnPerfMonCtrHi3,4,4
	.comm	smnPerfMonCtrHi2,4,4
	.comm	smnPerfMonCtrHi1,4,4
	.comm	smnPerfMonCtrHi0,4,4
	.comm	smnPerfMonCtlLo3,4,4
	.comm	smnPerfMonCtlLo2,4,4
	.comm	smnPerfMonCtlLo1,4,4
	.comm	smnPerfMonCtlLo0,4,4
	.comm	smnPerfMonCtlHi3,4,4
	.comm	smnPerfMonCtlHi2,4,4
	.comm	smnPerfMonCtlHi1,4,4
	.comm	smnPerfMonCtlHi0,4,4
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
