	.file	"extr_wlantxtime.c_ieee80211_compute_duration_ht.c"
	.intel_syntax noprefix
	.text
	.p2align 4
	.globl	ieee80211_compute_duration_ht
	.type	ieee80211_compute_duration_ht, @function
ieee80211_compute_duration_ht:
.LFB0:
	.cfi_startproc
	endbr64
	push	r15
	.cfi_def_cfa_offset 16
	.cfi_offset 15, -16
	movsx	r15, edx
	push	r14
	.cfi_def_cfa_offset 24
	.cfi_offset 14, -24
	mov	r14d, r8d
	push	r13
	.cfi_def_cfa_offset 32
	.cfi_offset 13, -32
	mov	r13d, esi
	mov	rsi, r15
	push	r12
	.cfi_def_cfa_offset 40
	.cfi_offset 12, -40
	mov	r12d, r9d
	push	rbp
	.cfi_def_cfa_offset 48
	.cfi_offset 6, -48
	mov	ebp, ecx
	push	rbx
	.cfi_def_cfa_offset 56
	.cfi_offset 3, -56
	mov	rbx, r15
	sub	rsp, 8
	.cfi_def_cfa_offset 64
	mov	edi, DWORD PTR IEEE80211_RATE_MCS[rip]
	and	edi, r15d
	call	KASSERT@PLT
	mov	eax, DWORD PTR IEEE80211_RATE_MCS[rip]
	xor	edi, edi
	mov	rsi, r15
	not	eax
	and	eax, r15d
	cmp	eax, 15
	setle	dil
	and	ebx, 15
	call	KASSERT@PLT
	movsx	rbx, ebx
	test	r14d, r14d
	je	.L2
	lea	rax, ht40_bps.1943[rip]
	mov	esi, DWORD PTR [rax+rbx*4]
.L3:
	mov	eax, DWORD PTR OFDM_PLCP_BITS[rip]
	lea	edi, [rax+r13*8]
	call	howmany@PLT
	lea	edx, 0[0+rax*4]
	test	r12d, r12d
	je	.L5
	lea	eax, [rax+rax*8]
	lea	eax, 4[rax+rax]
	movsx	rdx, eax
	sar	eax, 31
	imul	rdx, rdx, 1717986919
	sar	rdx, 33
	sub	edx, eax
.L5:
	mov	ebx, DWORD PTR HT_L_LTF[rip]
	add	edx, DWORD PTR HT_L_STF[rip]
	mov	edi, ebp
	add	ebx, edx
	add	ebx, DWORD PTR HT_L_SIG[rip]
	add	ebx, DWORD PTR HT_SIG[rip]
	add	ebx, DWORD PTR HT_STF[rip]
	call	HT_LTF@PLT
	add	rsp, 8
	.cfi_remember_state
	.cfi_def_cfa_offset 56
	add	eax, ebx
	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
.L2:
	.cfi_restore_state
	lea	rax, ht20_bps.1942[rip]
	mov	esi, DWORD PTR [rax+rbx*4]
	jmp	.L3
	.cfi_endproc
.LFE0:
	.size	ieee80211_compute_duration_ht, .-ieee80211_compute_duration_ht
	.section	.rodata
	.align 32
	.type	ht20_bps.1942, @object
	.size	ht20_bps.1942, 64
ht20_bps.1942:
	.long	26
	.long	52
	.long	78
	.long	104
	.long	156
	.long	208
	.long	234
	.long	260
	.long	52
	.long	104
	.long	156
	.long	208
	.long	312
	.long	416
	.long	468
	.long	520
	.align 32
	.type	ht40_bps.1943, @object
	.size	ht40_bps.1943, 64
ht40_bps.1943:
	.long	54
	.long	108
	.long	162
	.long	216
	.long	324
	.long	432
	.long	486
	.long	540
	.long	108
	.long	216
	.long	324
	.long	432
	.long	648
	.long	864
	.long	972
	.long	1080
	.comm	OFDM_PLCP_BITS,4,4
	.comm	IEEE80211_RATE_MCS,4,4
	.comm	HT_STF,4,4
	.comm	HT_SIG,4,4
	.comm	HT_L_STF,4,4
	.comm	HT_L_SIG,4,4
	.comm	HT_L_LTF,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_wlantxtime.c_ieee80211_compute_duration_ht.c"
	.text
	.align	2
	.global	ieee80211_compute_duration_ht
	.syntax unified
	.arm
	.fpu softvfp
	.type	ieee80211_compute_duration_ht, %function
ieee80211_compute_duration_ht:
	@ args = 8, pretend = 0, frame = 0
	@ frame_needed = 0, uses_anonymous_args = 0
	push	{r4, r5, r6, r7, r8, r9, r10, lr}
	mov	r4, r2
	ldr	r8, .L8
	mov	r6, r1
	ldr	r0, [r8]
	mov	r1, r2
	and	r0, r0, r2
	mov	r5, r3
	ldr	r9, [sp, #32]
	ldr	r7, [sp, #36]
	bl	KASSERT
	ldr	r0, [r8]
	mov	r1, r4
	bic	r0, r4, r0
	cmp	r0, #15
	movgt	r0, #0
	movle	r0, #1
	bl	KASSERT
	cmp	r9, #0
	ldrne	r3, .L8+4
	and	r4, r4, #15
	ldrne	r1, [r3, r4, lsl #2]
	ldr	r3, .L8+8
	ldreq	r2, .L8+4
	ldr	r0, [r3]
	addeq	r4, r2, r4, lsl #2
	ldreq	r1, [r4, #64]
	add	r0, r0, r6, lsl #3
	bl	howmany
	cmp	r7, #0
	addne	r0, r0, r0, lsl #3
	lslne	r2, r0, #1
	ldrne	r4, .L8+12
	addne	r2, r2, #4
	smullne	r3, r0, r4, r2
	ldr	r3, .L8+16
	asrne	r4, r2, #31
	ldr	r2, .L8+20
	ldr	r1, [r3]
	ldr	r3, .L8+24
	rsbne	r4, r4, r0, asr #1
	lsleq	r4, r0, #2
	ldr	r0, [r2]
	ldr	r2, .L8+28
	add	r4, r4, r1
	ldr	r1, [r3]
	ldr	r3, .L8+32
	ldr	r2, [r2]
	add	r4, r4, r0
	ldr	r3, [r3]
	add	r4, r4, r1
	add	r4, r4, r2
	mov	r0, r5
	add	r4, r4, r3
	bl	HT_LTF
	add	r0, r4, r0
	pop	{r4, r5, r6, r7, r8, r9, r10, pc}
.L9:
	.align	2
.L8:
	.word	IEEE80211_RATE_MCS
	.word	.LANCHOR0
	.word	OFDM_PLCP_BITS
	.word	1717986919
	.word	HT_L_STF
	.word	HT_L_LTF
	.word	HT_L_SIG
	.word	HT_SIG
	.word	HT_STF
	.size	ieee80211_compute_duration_ht, .-ieee80211_compute_duration_ht
	.comm	OFDM_PLCP_BITS,4,4
	.comm	IEEE80211_RATE_MCS,4,4
	.comm	HT_STF,4,4
	.comm	HT_SIG,4,4
	.comm	HT_L_STF,4,4
	.comm	HT_L_SIG,4,4
	.comm	HT_L_LTF,4,4
	.section	.rodata
	.align	2
	.set	.LANCHOR0,. + 0
	.type	ht40_bps.4227, %object
	.size	ht40_bps.4227, 64
ht40_bps.4227:
	.word	54
	.word	108
	.word	162
	.word	216
	.word	324
	.word	432
	.word	486
	.word	540
	.word	108
	.word	216
	.word	324
	.word	432
	.word	648
	.word	864
	.word	972
	.word	1080
	.type	ht20_bps.4226, %object
	.size	ht20_bps.4226, 64
ht20_bps.4226:
	.word	26
	.word	52
	.word	78
	.word	104
	.word	156
	.word	208
	.word	234
	.word	260
	.word	52
	.word	104
	.word	156
	.word	208
	.word	312
	.word	416
	.word	468
	.word	520
	.ident	"GCC: (Ubuntu 9.4.0-1ubuntu1~20.04.2) 9.4.0"
	.section	.note.GNU-stack,"",%progbits
