	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hw_ibrs_recalculate            ## -- Begin function hw_ibrs_recalculate
	.p2align	4, 0x90
_hw_ibrs_recalculate:                   ## @hw_ibrs_recalculate
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	pushq	%r14
	pushq	%rbx
	.cfi_offset %rbx, -32
	.cfi_offset %r14, -24
	movq	_cpu_ia32_arch_caps@GOTPCREL(%rip), %rax
	movq	_IA32_ARCH_CAP_IBRS_ALL@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	testl	%ecx, (%rax)
	je	LBB0_5
## %bb.1:
	movq	_hw_ibrs_disable@GOTPCREL(%rip), %rax
	movq	(%rax), %rbx
	movq	_MSR_IA32_SPEC_CTRL@GOTPCREL(%rip), %r14
	movl	(%r14), %edi
	callq	_rdmsr
	movq	_IA32_SPEC_CTRL_IBRS@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rsi
	testq	%rbx, %rbx
	je	LBB0_3
## %bb.2:
	notq	%rsi
	andq	%rsi, %rax
	movl	(%r14), %edi
	movq	%rax, %rsi
	jmp	LBB0_4
LBB0_5:
	movq	_cpu_stdext_feature3@GOTPCREL(%rip), %rax
	movq	_CPUID_STDEXT3_IBPB@GOTPCREL(%rip), %rcx
	movl	(%rcx), %ecx
	andl	(%rax), %ecx
	setne	%al
	movq	_hw_ibrs_disable@GOTPCREL(%rip), %rcx
	cmpq	$0, (%rcx)
	sete	%cl
	andb	%al, %cl
	movzbl	%cl, %eax
	movq	_hw_ibrs_active@GOTPCREL(%rip), %rcx
	movl	%eax, (%rcx)
	popq	%rbx
	popq	%r14
	popq	%rbp
	retq
LBB0_3:
	orq	%rax, %rsi
	movl	(%r14), %edi
LBB0_4:
	popq	%rbx
	popq	%r14
	popq	%rbp
	jmp	_wrmsr                          ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_cpu_ia32_arch_caps,4,2         ## @cpu_ia32_arch_caps
	.comm	_IA32_ARCH_CAP_IBRS_ALL,4,2     ## @IA32_ARCH_CAP_IBRS_ALL
	.comm	_hw_ibrs_disable,8,3            ## @hw_ibrs_disable
	.comm	_MSR_IA32_SPEC_CTRL,4,2         ## @MSR_IA32_SPEC_CTRL
	.comm	_IA32_SPEC_CTRL_IBRS,8,3        ## @IA32_SPEC_CTRL_IBRS
	.comm	_cpu_stdext_feature3,4,2        ## @cpu_stdext_feature3
	.comm	_CPUID_STDEXT3_IBPB,4,2         ## @CPUID_STDEXT3_IBPB
	.comm	_hw_ibrs_active,4,2             ## @hw_ibrs_active
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hw_ibrs_recalculate            ; -- Begin function hw_ibrs_recalculate
	.p2align	2
_hw_ibrs_recalculate:                   ; @hw_ibrs_recalculate
	.cfi_startproc
; %bb.0:
	stp	x20, x19, [sp, #-32]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 32
	stp	x29, x30, [sp, #16]             ; 16-byte Folded Spill
	add	x29, sp, #16
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
Lloh0:
	adrp	x8, _cpu_ia32_arch_caps@GOTPAGE
Lloh1:
	ldr	x8, [x8, _cpu_ia32_arch_caps@GOTPAGEOFF]
Lloh2:
	ldr	w8, [x8]
Lloh3:
	adrp	x9, _IA32_ARCH_CAP_IBRS_ALL@GOTPAGE
Lloh4:
	ldr	x9, [x9, _IA32_ARCH_CAP_IBRS_ALL@GOTPAGEOFF]
Lloh5:
	ldr	w9, [x9]
	tst	w9, w8
	b.eq	LBB0_3
; %bb.1:
Lloh6:
	adrp	x8, _hw_ibrs_disable@GOTPAGE
Lloh7:
	ldr	x8, [x8, _hw_ibrs_disable@GOTPAGEOFF]
Lloh8:
	ldr	x20, [x8]
Lloh9:
	adrp	x19, _MSR_IA32_SPEC_CTRL@GOTPAGE
Lloh10:
	ldr	x19, [x19, _MSR_IA32_SPEC_CTRL@GOTPAGEOFF]
	ldr	w0, [x19]
	bl	_rdmsr
Lloh11:
	adrp	x8, _IA32_SPEC_CTRL_IBRS@GOTPAGE
Lloh12:
	ldr	x8, [x8, _IA32_SPEC_CTRL_IBRS@GOTPAGEOFF]
Lloh13:
	ldr	x8, [x8]
	cbz	x20, LBB0_4
; %bb.2:
	bic	x1, x0, x8
	b	LBB0_5
LBB0_3:
Lloh14:
	adrp	x8, _cpu_stdext_feature3@GOTPAGE
Lloh15:
	ldr	x8, [x8, _cpu_stdext_feature3@GOTPAGEOFF]
Lloh16:
	ldr	w8, [x8]
Lloh17:
	adrp	x9, _CPUID_STDEXT3_IBPB@GOTPAGE
Lloh18:
	ldr	x9, [x9, _CPUID_STDEXT3_IBPB@GOTPAGEOFF]
Lloh19:
	ldr	w9, [x9]
	tst	w9, w8
Lloh20:
	adrp	x8, _hw_ibrs_disable@GOTPAGE
Lloh21:
	ldr	x8, [x8, _hw_ibrs_disable@GOTPAGEOFF]
Lloh22:
	ldr	x8, [x8]
	ccmp	x8, #0, #0, ne
	cset	w8, eq
Lloh23:
	adrp	x9, _hw_ibrs_active@GOTPAGE
Lloh24:
	ldr	x9, [x9, _hw_ibrs_active@GOTPAGEOFF]
Lloh25:
	str	w8, [x9]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	ret
LBB0_4:
	orr	x1, x8, x0
LBB0_5:
	ldr	w0, [x19]
	ldp	x29, x30, [sp, #16]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp], #32             ; 16-byte Folded Reload
	b	_wrmsr
	.loh AdrpLdrGotLdr	Lloh3, Lloh4, Lloh5
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotLdr	Lloh11, Lloh12, Lloh13
	.loh AdrpLdrGot	Lloh9, Lloh10
	.loh AdrpLdrGotLdr	Lloh6, Lloh7, Lloh8
	.loh AdrpLdrGotStr	Lloh23, Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh20, Lloh21, Lloh22
	.loh AdrpLdrGotLdr	Lloh17, Lloh18, Lloh19
	.loh AdrpLdrGotLdr	Lloh14, Lloh15, Lloh16
	.cfi_endproc
                                        ; -- End function
	.comm	_cpu_ia32_arch_caps,4,2         ; @cpu_ia32_arch_caps
	.comm	_IA32_ARCH_CAP_IBRS_ALL,4,2     ; @IA32_ARCH_CAP_IBRS_ALL
	.comm	_hw_ibrs_disable,8,3            ; @hw_ibrs_disable
	.comm	_MSR_IA32_SPEC_CTRL,4,2         ; @MSR_IA32_SPEC_CTRL
	.comm	_IA32_SPEC_CTRL_IBRS,8,3        ; @IA32_SPEC_CTRL_IBRS
	.comm	_cpu_stdext_feature3,4,2        ; @cpu_stdext_feature3
	.comm	_CPUID_STDEXT3_IBPB,4,2         ; @CPUID_STDEXT3_IBPB
	.comm	_hw_ibrs_active,4,2             ; @hw_ibrs_active
.subsections_via_symbols
