	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hfi1_firmware_init             ## -- Begin function hfi1_firmware_init
	.p2align	4, 0x90
_hfi1_firmware_init:                    ## @hfi1_firmware_init
	.cfi_startproc
## %bb.0:
	pushq	%rbp
	.cfi_def_cfa_offset 16
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
	.cfi_def_cfa_register %rbp
	movq	(%rdi), %rcx
	movq	_ICODE_RTL_SILICON@GOTPCREL(%rip), %rax
	movq	(%rax), %rax
	cmpq	%rax, %rcx
	je	LBB0_2
## %bb.1:
	movq	_fw_fabric_serdes_load@GOTPCREL(%rip), %rcx
	movq	$0, (%rcx)
	movq	_fw_pcie_serdes_load@GOTPCREL(%rip), %rcx
	movq	$0, (%rcx)
	movq	_fw_sbus_load@GOTPCREL(%rip), %rcx
	movq	$0, (%rcx)
	movq	(%rdi), %rcx
LBB0_2:
	movq	_ICODE_FUNCTIONAL_SIMULATOR@GOTPCREL(%rip), %rdx
	cmpq	(%rdx), %rcx
	jne	LBB0_4
## %bb.3:
	movq	_fw_8051_load@GOTPCREL(%rip), %rcx
	movq	$0, (%rcx)
LBB0_4:
	movq	_fw_8051_name@GOTPCREL(%rip), %rcx
	cmpq	$0, (%rcx)
	jne	LBB0_9
## %bb.5:
	cmpq	%rax, (%rdi)
	jne	LBB0_6
## %bb.7:
	movq	_DEFAULT_FW_8051_NAME_ASIC@GOTPCREL(%rip), %rax
	jmp	LBB0_8
LBB0_6:
	movq	_DEFAULT_FW_8051_NAME_FPGA@GOTPCREL(%rip), %rax
LBB0_8:
	movq	(%rax), %rax
	movq	%rax, (%rcx)
LBB0_9:
	movq	_fw_fabric_serdes_name@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	jne	LBB0_11
## %bb.10:
	movq	_DEFAULT_FW_FABRIC_NAME@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, (%rax)
LBB0_11:
	movq	_fw_sbus_name@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	jne	LBB0_13
## %bb.12:
	movq	_DEFAULT_FW_SBUS_NAME@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, (%rax)
LBB0_13:
	movq	_fw_pcie_serdes_name@GOTPCREL(%rip), %rax
	cmpq	$0, (%rax)
	je	LBB0_14
## %bb.15:
	popq	%rbp
	jmp	_obtain_firmware                ## TAILCALL
LBB0_14:
	movq	_DEFAULT_FW_PCIE_NAME@GOTPCREL(%rip), %rcx
	movq	(%rcx), %rcx
	movq	%rcx, (%rax)
	popq	%rbp
	jmp	_obtain_firmware                ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.comm	_ICODE_RTL_SILICON,8,3          ## @ICODE_RTL_SILICON
	.comm	_fw_fabric_serdes_load,8,3      ## @fw_fabric_serdes_load
	.comm	_fw_pcie_serdes_load,8,3        ## @fw_pcie_serdes_load
	.comm	_fw_sbus_load,8,3               ## @fw_sbus_load
	.comm	_ICODE_FUNCTIONAL_SIMULATOR,8,3 ## @ICODE_FUNCTIONAL_SIMULATOR
	.comm	_fw_8051_load,8,3               ## @fw_8051_load
	.comm	_fw_8051_name,8,3               ## @fw_8051_name
	.comm	_DEFAULT_FW_8051_NAME_ASIC,8,3  ## @DEFAULT_FW_8051_NAME_ASIC
	.comm	_DEFAULT_FW_8051_NAME_FPGA,8,3  ## @DEFAULT_FW_8051_NAME_FPGA
	.comm	_fw_fabric_serdes_name,8,3      ## @fw_fabric_serdes_name
	.comm	_DEFAULT_FW_FABRIC_NAME,8,3     ## @DEFAULT_FW_FABRIC_NAME
	.comm	_fw_sbus_name,8,3               ## @fw_sbus_name
	.comm	_DEFAULT_FW_SBUS_NAME,8,3       ## @DEFAULT_FW_SBUS_NAME
	.comm	_fw_pcie_serdes_name,8,3        ## @fw_pcie_serdes_name
	.comm	_DEFAULT_FW_PCIE_NAME,8,3       ## @DEFAULT_FW_PCIE_NAME
.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_hfi1_firmware_init             ; -- Begin function hfi1_firmware_init
	.p2align	2
_hfi1_firmware_init:                    ; @hfi1_firmware_init
	.cfi_startproc
; %bb.0:
	ldr	x9, [x0]
Lloh0:
	adrp	x8, _ICODE_RTL_SILICON@GOTPAGE
Lloh1:
	ldr	x8, [x8, _ICODE_RTL_SILICON@GOTPAGEOFF]
Lloh2:
	ldr	x8, [x8]
	cmp	x9, x8
	b.eq	LBB0_2
; %bb.1:
Lloh3:
	adrp	x9, _fw_fabric_serdes_load@GOTPAGE
Lloh4:
	ldr	x9, [x9, _fw_fabric_serdes_load@GOTPAGEOFF]
Lloh5:
	adrp	x10, _fw_pcie_serdes_load@GOTPAGE
Lloh6:
	ldr	x10, [x10, _fw_pcie_serdes_load@GOTPAGEOFF]
Lloh7:
	str	xzr, [x9]
Lloh8:
	str	xzr, [x10]
Lloh9:
	adrp	x9, _fw_sbus_load@GOTPAGE
Lloh10:
	ldr	x9, [x9, _fw_sbus_load@GOTPAGEOFF]
Lloh11:
	str	xzr, [x9]
	ldr	x9, [x0]
LBB0_2:
Lloh12:
	adrp	x10, _ICODE_FUNCTIONAL_SIMULATOR@GOTPAGE
Lloh13:
	ldr	x10, [x10, _ICODE_FUNCTIONAL_SIMULATOR@GOTPAGEOFF]
Lloh14:
	ldr	x10, [x10]
	cmp	x9, x10
	b.ne	LBB0_4
; %bb.3:
Lloh15:
	adrp	x9, _fw_8051_load@GOTPAGE
Lloh16:
	ldr	x9, [x9, _fw_8051_load@GOTPAGEOFF]
Lloh17:
	str	xzr, [x9]
LBB0_4:
Lloh18:
	adrp	x9, _fw_8051_name@GOTPAGE
Lloh19:
	ldr	x9, [x9, _fw_8051_name@GOTPAGEOFF]
	ldr	x10, [x9]
	cbnz	x10, LBB0_6
; %bb.5:
	ldr	x10, [x0]
Lloh20:
	adrp	x11, _DEFAULT_FW_8051_NAME_ASIC@GOTPAGE
Lloh21:
	ldr	x11, [x11, _DEFAULT_FW_8051_NAME_ASIC@GOTPAGEOFF]
Lloh22:
	adrp	x12, _DEFAULT_FW_8051_NAME_FPGA@GOTPAGE
Lloh23:
	ldr	x12, [x12, _DEFAULT_FW_8051_NAME_FPGA@GOTPAGEOFF]
	cmp	x10, x8
	csel	x8, x11, x12, eq
	ldr	x8, [x8]
	str	x8, [x9]
LBB0_6:
Lloh24:
	adrp	x8, _fw_fabric_serdes_name@GOTPAGE
Lloh25:
	ldr	x8, [x8, _fw_fabric_serdes_name@GOTPAGEOFF]
	ldr	x9, [x8]
	cbnz	x9, LBB0_8
; %bb.7:
Lloh26:
	adrp	x9, _DEFAULT_FW_FABRIC_NAME@GOTPAGE
Lloh27:
	ldr	x9, [x9, _DEFAULT_FW_FABRIC_NAME@GOTPAGEOFF]
Lloh28:
	ldr	x9, [x9]
	str	x9, [x8]
LBB0_8:
Lloh29:
	adrp	x8, _fw_sbus_name@GOTPAGE
Lloh30:
	ldr	x8, [x8, _fw_sbus_name@GOTPAGEOFF]
	ldr	x9, [x8]
	cbnz	x9, LBB0_10
; %bb.9:
Lloh31:
	adrp	x9, _DEFAULT_FW_SBUS_NAME@GOTPAGE
Lloh32:
	ldr	x9, [x9, _DEFAULT_FW_SBUS_NAME@GOTPAGEOFF]
Lloh33:
	ldr	x9, [x9]
	str	x9, [x8]
LBB0_10:
Lloh34:
	adrp	x8, _fw_pcie_serdes_name@GOTPAGE
Lloh35:
	ldr	x8, [x8, _fw_pcie_serdes_name@GOTPAGEOFF]
	ldr	x9, [x8]
	cbz	x9, LBB0_12
; %bb.11:
	b	_obtain_firmware
LBB0_12:
Lloh36:
	adrp	x9, _DEFAULT_FW_PCIE_NAME@GOTPAGE
Lloh37:
	ldr	x9, [x9, _DEFAULT_FW_PCIE_NAME@GOTPAGEOFF]
Lloh38:
	ldr	x9, [x9]
	str	x9, [x8]
	b	_obtain_firmware
	.loh AdrpLdrGotLdr	Lloh0, Lloh1, Lloh2
	.loh AdrpLdrGotStr	Lloh9, Lloh10, Lloh11
	.loh AdrpLdrGotStr	Lloh5, Lloh6, Lloh8
	.loh AdrpLdrGotStr	Lloh3, Lloh4, Lloh7
	.loh AdrpLdrGotLdr	Lloh12, Lloh13, Lloh14
	.loh AdrpLdrGotStr	Lloh15, Lloh16, Lloh17
	.loh AdrpLdrGot	Lloh18, Lloh19
	.loh AdrpLdrGot	Lloh22, Lloh23
	.loh AdrpLdrGot	Lloh20, Lloh21
	.loh AdrpLdrGot	Lloh24, Lloh25
	.loh AdrpLdrGotLdr	Lloh26, Lloh27, Lloh28
	.loh AdrpLdrGot	Lloh29, Lloh30
	.loh AdrpLdrGotLdr	Lloh31, Lloh32, Lloh33
	.loh AdrpLdrGot	Lloh34, Lloh35
	.loh AdrpLdrGotLdr	Lloh36, Lloh37, Lloh38
	.cfi_endproc
                                        ; -- End function
	.comm	_ICODE_RTL_SILICON,8,3          ; @ICODE_RTL_SILICON
	.comm	_fw_fabric_serdes_load,8,3      ; @fw_fabric_serdes_load
	.comm	_fw_pcie_serdes_load,8,3        ; @fw_pcie_serdes_load
	.comm	_fw_sbus_load,8,3               ; @fw_sbus_load
	.comm	_ICODE_FUNCTIONAL_SIMULATOR,8,3 ; @ICODE_FUNCTIONAL_SIMULATOR
	.comm	_fw_8051_load,8,3               ; @fw_8051_load
	.comm	_fw_8051_name,8,3               ; @fw_8051_name
	.comm	_DEFAULT_FW_8051_NAME_ASIC,8,3  ; @DEFAULT_FW_8051_NAME_ASIC
	.comm	_DEFAULT_FW_8051_NAME_FPGA,8,3  ; @DEFAULT_FW_8051_NAME_FPGA
	.comm	_fw_fabric_serdes_name,8,3      ; @fw_fabric_serdes_name
	.comm	_DEFAULT_FW_FABRIC_NAME,8,3     ; @DEFAULT_FW_FABRIC_NAME
	.comm	_fw_sbus_name,8,3               ; @fw_sbus_name
	.comm	_DEFAULT_FW_SBUS_NAME,8,3       ; @DEFAULT_FW_SBUS_NAME
	.comm	_fw_pcie_serdes_name,8,3        ; @fw_pcie_serdes_name
	.comm	_DEFAULT_FW_PCIE_NAME,8,3       ; @DEFAULT_FW_PCIE_NAME
.subsections_via_symbols
