	.file	"350852.c"
	.intel_syntax noprefix
	.text
	.globl	G
	.bss
	.align 4
	.type	G, @object
	.size	G, 4
G:
	.zero	4
	.globl	H
	.align 4
	.type	H, @object
	.size	H, 4
H:
	.zero	4
	.globl	I
	.align 4
	.type	I, @object
	.size	I, 4
I:
	.zero	4
	.globl	__popcountdi2
	.text
	.globl	foo
	.type	foo, @function
foo:
.LFB0:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	mov	DWORD PTR -4[rbp], edi
	mov	eax, DWORD PTR -4[rbp]
	bsr	eax, eax
	xor	eax, 31
	mov	DWORD PTR G[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	rep bsf	eax, eax
	mov	DWORD PTR H[rip], eax
	mov	eax, DWORD PTR -4[rbp]
	mov	eax, eax
	mov	rdi, rax
	call	__popcountdi2@PLT
	mov	DWORD PTR I[rip], eax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE0:
	.size	foo, .-foo
	.globl	g
	.bss
	.align 8
	.type	g, @object
	.size	g, 8
g:
	.zero	8
	.globl	h
	.align 8
	.type	h, @object
	.size	h, 8
h:
	.zero	8
	.globl	i
	.align 8
	.type	i, @object
	.size	i, 8
i:
	.zero	8
	.text
	.globl	fooll
	.type	fooll, @function
fooll:
.LFB1:
	.cfi_startproc
	endbr64
	push	rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	mov	rbp, rsp
	.cfi_def_cfa_register 6
	sub	rsp, 16
	movss	DWORD PTR -4[rbp], xmm0
	movss	xmm0, DWORD PTR -4[rbp]
	comiss	xmm0, DWORD PTR .LC0[rip]
	jnb	.L3
	movss	xmm0, DWORD PTR -4[rbp]
	cvttss2si	rax, xmm0
	jmp	.L4
.L3:
	movss	xmm0, DWORD PTR -4[rbp]
	movss	xmm1, DWORD PTR .LC0[rip]
	subss	xmm0, xmm1
	cvttss2si	rax, xmm0
	movabs	rdx, -9223372036854775808
	xor	rax, rdx
.L4:
	bsr	rax, rax
	xor	rax, 63
	cdqe
	mov	QWORD PTR g[rip], rax
	movss	xmm0, DWORD PTR -4[rbp]
	comiss	xmm0, DWORD PTR .LC0[rip]
	jnb	.L5
	movss	xmm0, DWORD PTR -4[rbp]
	cvttss2si	rax, xmm0
	jmp	.L6
.L5:
	movss	xmm0, DWORD PTR -4[rbp]
	movss	xmm1, DWORD PTR .LC0[rip]
	subss	xmm0, xmm1
	cvttss2si	rax, xmm0
	movabs	rdx, -9223372036854775808
	xor	rax, rdx
.L6:
	bsr	rax, rax
	xor	rax, 63
	cdqe
	mov	QWORD PTR g[rip], rax
	movss	xmm0, DWORD PTR -4[rbp]
	comiss	xmm0, DWORD PTR .LC0[rip]
	jnb	.L7
	movss	xmm0, DWORD PTR -4[rbp]
	cvttss2si	rax, xmm0
	jmp	.L8
.L7:
	movss	xmm0, DWORD PTR -4[rbp]
	movss	xmm1, DWORD PTR .LC0[rip]
	subss	xmm0, xmm1
	cvttss2si	rax, xmm0
	movabs	rdx, -9223372036854775808
	xor	rax, rdx
.L8:
	rep bsf	rax, rax
	cdqe
	mov	QWORD PTR h[rip], rax
	movss	xmm0, DWORD PTR -4[rbp]
	comiss	xmm0, DWORD PTR .LC0[rip]
	jnb	.L9
	movss	xmm0, DWORD PTR -4[rbp]
	cvttss2si	rax, xmm0
	jmp	.L10
.L9:
	movss	xmm0, DWORD PTR -4[rbp]
	movss	xmm1, DWORD PTR .LC0[rip]
	subss	xmm0, xmm1
	cvttss2si	rax, xmm0
	movabs	rdx, -9223372036854775808
	xor	rax, rdx
.L10:
	mov	rdi, rax
	call	__popcountdi2@PLT
	cdqe
	mov	QWORD PTR i[rip], rax
	nop
	leave
	.cfi_def_cfa 7, 8
	ret
	.cfi_endproc
.LFE1:
	.size	fooll, .-fooll
	.section	.rodata
	.align 4
.LC0:
	.long	1593835520
	.ident	"GCC: (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.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, 6
	.eabi_attribute 34, 0
	.eabi_attribute 18, 4
	.file	"350852.c"
	.text
	.comm	G,4,4
	.comm	H,4,4
	.comm	I,4,4
	.global	__popcountsi2
	.align	2
	.global	foo
	.syntax unified
	.arm
	.fpu softvfp
	.type	foo, %function
foo:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]
	ldr	r3, [fp, #-8]
	clz	r3, r3
	ldr	r2, .L2
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	rsb	r2, r3, #0
	and	r3, r3, r2
	clz	r3, r3
	rsb	r3, r3, #31
	ldr	r2, .L2+4
	str	r3, [r2]
	ldr	r3, [fp, #-8]
	mov	r0, r3
	bl	__popcountsi2
	mov	r3, r0
	mov	r2, r3
	ldr	r3, .L2+8
	str	r2, [r3]
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L3:
	.align	2
.L2:
	.word	G
	.word	H
	.word	I
	.size	foo, .-foo
	.comm	g,8,8
	.comm	h,8,8
	.comm	i,8,8
	.global	__aeabi_f2ulz
	.global	__ctzdi2
	.global	__popcountdi2
	.align	2
	.global	fooll
	.syntax unified
	.arm
	.fpu softvfp
	.type	fooll, %function
fooll:
	@ args = 0, pretend = 0, frame = 8
	@ frame_needed = 1, uses_anonymous_args = 0
	push	{fp, lr}
	add	fp, sp, #4
	sub	sp, sp, #8
	str	r0, [fp, #-8]	@ float
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_f2ulz
	mov	r2, r0
	mov	r3, r1
	cmp	r3, #0
	beq	.L5
	clz	r3, r3
	b	.L6
.L5:
	clz	r3, r2
	add	r3, r3, #32
.L6:
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, .L9
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_f2ulz
	mov	r2, r0
	mov	r3, r1
	cmp	r3, #0
	beq	.L7
	clz	r3, r3
	b	.L8
.L7:
	clz	r3, r2
	add	r3, r3, #32
.L8:
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, .L9
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_f2ulz
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__ctzdi2
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, .L9+4
	stm	r1, {r2-r3}
	ldr	r0, [fp, #-8]	@ float
	bl	__aeabi_f2ulz
	mov	r2, r0
	mov	r3, r1
	mov	r0, r2
	mov	r1, r3
	bl	__popcountdi2
	mov	r3, r0
	mov	r2, r3
	asr	r3, r2, #31
	ldr	r1, .L9+8
	stm	r1, {r2-r3}
	nop
	sub	sp, fp, #4
	@ sp needed
	pop	{fp, pc}
.L10:
	.align	2
.L9:
	.word	g
	.word	h
	.word	i
	.size	fooll, .-fooll
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
