	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_test_mul                       ## -- Begin function test_mul
	.p2align	4, 0x90
_test_mul:                              ## @test_mul
	.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
	movl	$305419805, %edi                ## imm = 0x1234561D
	movl	$4, %esi
	callq	_test_imulb
	movl	$3, %edi
	movl	$-4, %esi
	callq	_test_imulb
	movl	$128, %edi
	movl	$128, %esi
	callq	_test_imulb
	movl	$16, %edi
	movl	$16, %esi
	callq	_test_imulb
	xorl	%edi, %edi
	movl	$305397789, %esi                ## imm = 0x1234001D
	movl	$45, %edx
	callq	_test_imulw
	xorl	%edi, %edi
	movl	$23, %esi
	movl	$-45, %edx
	callq	_test_imulw
	xorl	%edi, %edi
	movl	$32768, %esi                    ## imm = 0x8000
	movl	$32768, %edx                    ## imm = 0x8000
	callq	_test_imulw
	xorl	%edi, %edi
	movl	$256, %esi                      ## imm = 0x100
	movl	$256, %edx                      ## imm = 0x100
	callq	_test_imulw
	xorl	%edi, %edi
	movl	$305397789, %esi                ## imm = 0x1234001D
	movl	$45, %edx
	callq	_test_imull
	xorl	%edi, %edi
	movl	$23, %esi
	movl	$-45, %edx
	callq	_test_imull
	xorl	%edi, %edi
	movl	$-2147483648, %esi              ## imm = 0x80000000
	movl	$-2147483648, %edx              ## imm = 0x80000000
	callq	_test_imull
	xorl	%edi, %edi
	movl	$65536, %esi                    ## imm = 0x10000
	movl	$65536, %edx                    ## imm = 0x10000
	callq	_test_imull
	movl	$305419805, %edi                ## imm = 0x1234561D
	movl	$4, %esi
	callq	_test_mulb
	movl	$3, %edi
	movl	$-4, %esi
	callq	_test_mulb
	movl	$128, %edi
	movl	$128, %esi
	callq	_test_mulb
	movl	$16, %edi
	movl	$16, %esi
	callq	_test_mulb
	xorl	%edi, %edi
	movl	$305397789, %esi                ## imm = 0x1234001D
	movl	$45, %edx
	callq	_test_mulw
	xorl	%edi, %edi
	movl	$23, %esi
	movl	$-45, %edx
	callq	_test_mulw
	xorl	%edi, %edi
	movl	$32768, %esi                    ## imm = 0x8000
	movl	$32768, %edx                    ## imm = 0x8000
	callq	_test_mulw
	xorl	%edi, %edi
	movl	$256, %esi                      ## imm = 0x100
	movl	$256, %edx                      ## imm = 0x100
	callq	_test_mulw
	xorl	%edi, %edi
	movl	$305397789, %esi                ## imm = 0x1234001D
	movl	$45, %edx
	callq	_test_mull
	xorl	%edi, %edi
	movl	$23, %esi
	movl	$-45, %edx
	callq	_test_mull
	xorl	%edi, %edi
	movl	$-2147483648, %esi              ## imm = 0x80000000
	movl	$-2147483648, %edx              ## imm = 0x80000000
	callq	_test_mull
	xorl	%edi, %edi
	movl	$65536, %esi                    ## imm = 0x10000
	movl	$65536, %edx                    ## imm = 0x10000
	callq	_test_mull
	movl	$305397789, %edi                ## imm = 0x1234001D
	movl	$45, %esi
	callq	_test_imulw2
	movl	$23, %edi
	movl	$-45, %esi
	callq	_test_imulw2
	movl	$32768, %edi                    ## imm = 0x8000
	movl	$32768, %esi                    ## imm = 0x8000
	callq	_test_imulw2
	movl	$256, %edi                      ## imm = 0x100
	movl	$256, %esi                      ## imm = 0x100
	callq	_test_imulw2
	movl	$305397789, %edi                ## imm = 0x1234001D
	movl	$45, %esi
	callq	_test_imull2
	movl	$23, %edi
	movl	$-45, %esi
	callq	_test_imull2
	movl	$-2147483648, %edi              ## imm = 0x80000000
	movl	$-2147483648, %esi              ## imm = 0x80000000
	callq	_test_imull2
	movl	$65536, %edi                    ## imm = 0x10000
	movl	$65536, %esi                    ## imm = 0x10000
	callq	_test_imull2
	leaq	L_.str(%rip), %rbx
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$45, %edx
	movl	$4660, %ecx                     ## imm = 0x1234
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$-45, %edx
	movl	$23, %ecx
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$32768, %edx                    ## imm = 0x8000
	movl	$-2147483648, %ecx              ## imm = 0x80000000
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%rbx, %rsi
	movl	$32767, %edx                    ## imm = 0x7FFF
	movl	$4096, %ecx                     ## imm = 0x1000
	callq	_TEST_IMUL_IM
	leaq	L_.str.1(%rip), %rbx
	leaq	L_.str.2(%rip), %r14
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$45, %edx
	movl	$4660, %ecx                     ## imm = 0x1234
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$-45, %edx
	movl	$23, %ecx
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$32768, %edx                    ## imm = 0x8000
	movl	$-2147483648, %ecx              ## imm = 0x80000000
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$32767, %edx                    ## imm = 0x7FFF
	movl	$4096, %ecx                     ## imm = 0x1000
	callq	_TEST_IMUL_IM
	movl	$305403512, %edi                ## imm = 0x12341678
	movl	$4734, %esi                     ## imm = 0x127E
	callq	_test_idivb
	movl	$1126236451, %edi               ## imm = 0x43210123
	movl	$-5, %esi
	callq	_test_idivb
	movl	$305397764, %edi                ## imm = 0x12340004
	movl	$-1, %esi
	callq	_test_idivb
	xorl	%edi, %edi
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$12347, %edx                    ## imm = 0x303B
	callq	_test_idivw
	xorl	%edi, %edi
	movl	$-23223, %esi                   ## imm = 0xA549
	movl	$-45, %edx
	callq	_test_idivw
	xorl	%edi, %edi
	movl	$305430528, %esi                ## imm = 0x12348000
	movl	$-1, %edx
	callq	_test_idivw
	movl	$74563, %edi                    ## imm = 0x12343
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$-2128378521, %edx              ## imm = 0x81238567
	callq	_test_idivw
	xorl	%edi, %edi
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$12347, %edx                    ## imm = 0x303B
	callq	_test_idivl
	xorl	%edi, %edi
	movl	$-233223, %esi                  ## imm = 0xFFFC70F9
	movl	$-45, %edx
	callq	_test_idivl
	xorl	%edi, %edi
	movl	$-2147483648, %esi              ## imm = 0x80000000
	movl	$-1, %edx
	callq	_test_idivl
	movl	$74563, %edi                    ## imm = 0x12343
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$-2128394905, %edx              ## imm = 0x81234567
	callq	_test_idivl
	movl	$305403512, %edi                ## imm = 0x12341678
	movl	$4734, %esi                     ## imm = 0x127E
	callq	_test_divb
	movl	$1126236451, %edi               ## imm = 0x43210123
	movl	$-5, %esi
	callq	_test_divb
	movl	$305397764, %edi                ## imm = 0x12340004
	movl	$-1, %esi
	callq	_test_divb
	xorl	%edi, %edi
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$12347, %edx                    ## imm = 0x303B
	callq	_test_divw
	xorl	%edi, %edi
	movl	$-23223, %esi                   ## imm = 0xA549
	movl	$-45, %edx
	callq	_test_divw
	xorl	%edi, %edi
	movl	$305430528, %esi                ## imm = 0x12348000
	movl	$-1, %edx
	callq	_test_divw
	movl	$74563, %edi                    ## imm = 0x12343
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$-2128378521, %edx              ## imm = 0x81238567
	callq	_test_divw
	xorl	%edi, %edi
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$12347, %edx                    ## imm = 0x303B
	callq	_test_divl
	xorl	%edi, %edi
	movl	$-233223, %esi                  ## imm = 0xFFFC70F9
	movl	$-45, %edx
	callq	_test_divl
	xorl	%edi, %edi
	movl	$-2147483648, %esi              ## imm = 0x80000000
	movl	$-1, %edx
	callq	_test_divl
	movl	$74563, %edi                    ## imm = 0x12343
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$-2128394905, %edx              ## imm = 0x81234567
	callq	_test_divl
	xorl	%edi, %edi
	movl	$305397789, %esi                ## imm = 0x1234001D
	movl	$45, %edx
	callq	_test_imulq
	xorl	%edi, %edi
	movl	$23, %esi
	movl	$-45, %edx
	callq	_test_imulq
	xorl	%edi, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_test_imulq
	xorl	%edi, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_test_imulq
	xorl	%edi, %edi
	movl	$305397789, %esi                ## imm = 0x1234001D
	movl	$45, %edx
	callq	_test_mulq
	xorl	%edi, %edi
	movl	$23, %esi
	movl	$-45, %edx
	callq	_test_mulq
	xorl	%edi, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_test_mulq
	xorl	%edi, %edi
	xorl	%esi, %esi
	xorl	%edx, %edx
	callq	_test_mulq
	movl	$305397789, %edi                ## imm = 0x1234001D
	movl	$45, %esi
	callq	_test_imulq2
	movl	$23, %edi
	movl	$-45, %esi
	callq	_test_imulq2
	xorl	%edi, %edi
	xorl	%esi, %esi
	callq	_test_imulq2
	xorl	%edi, %edi
	xorl	%esi, %esi
	callq	_test_imulq2
	leaq	L_.str.3(%rip), %rbx
	leaq	L_.str.4(%rip), %r14
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$45, %edx
	movl	$305402420, %ecx                ## imm = 0x12341234
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$-45, %edx
	movl	$23, %ecx
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$32768, %edx                    ## imm = 0x8000
	xorl	%ecx, %ecx
	callq	_TEST_IMUL_IM
	movq	%rbx, %rdi
	movq	%r14, %rsi
	movl	$32767, %edx                    ## imm = 0x7FFF
	movl	$268435456, %ecx                ## imm = 0x10000000
	callq	_TEST_IMUL_IM
	xorl	%edi, %edi
	movl	$2024525295, %esi               ## imm = 0x78ABCDEF
	movl	$12347, %edx                    ## imm = 0x303B
	callq	_test_idivq
	xorl	%edi, %edi
	movl	$-233223, %esi                  ## imm = 0xFFFC70F9
	movl	$-45, %edx
	callq	_test_idivq
	xorl	%edi, %edi
	xorl	%esi, %esi
	movl	$-1, %edx
	callq	_test_idivq
	movl	$74563, %edi                    ## imm = 0x12343
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$-2128394905, %edx              ## imm = 0x81234567
	callq	_test_idivq
	xorl	%edi, %edi
	movl	$2024525295, %esi               ## imm = 0x78ABCDEF
	movl	$12347, %edx                    ## imm = 0x303B
	callq	_test_divq
	xorl	%edi, %edi
	movl	$-233223, %esi                  ## imm = 0xFFFC70F9
	movl	$-45, %edx
	callq	_test_divq
	xorl	%edi, %edi
	xorl	%esi, %esi
	movl	$-1, %edx
	callq	_test_divq
	movl	$74563, %edi                    ## imm = 0x12343
	movl	$305419896, %esi                ## imm = 0x12345678
	movl	$-2128394905, %edx              ## imm = 0x81234567
	popq	%rbx
	popq	%r14
	popq	%rbp
	jmp	_test_divq                      ## TAILCALL
	.cfi_endproc
                                        ## -- End function
	.section	__TEXT,__cstring,cstring_literals
L_.str:                                 ## @.str
	.asciz	"w"

L_.str.1:                               ## @.str.1
	.asciz	"l"

L_.str.2:                               ## @.str.2
	.asciz	"k"

L_.str.3:                               ## @.str.3
	.asciz	"q"

L_.str.4:                               ## @.str.4
	.space	1

.subsections_via_symbols

	.section	__TEXT,__text,regular,pure_instructions
	.build_version macos, 13, 0	sdk_version 13, 3
	.globl	_test_mul                       ; -- Begin function test_mul
	.p2align	2
_test_mul:                              ; @test_mul
	.cfi_startproc
; %bb.0:
	stp	x22, x21, [sp, #-48]!           ; 16-byte Folded Spill
	.cfi_def_cfa_offset 48
	stp	x20, x19, [sp, #16]             ; 16-byte Folded Spill
	stp	x29, x30, [sp, #32]             ; 16-byte Folded Spill
	add	x29, sp, #32
	.cfi_def_cfa w29, 16
	.cfi_offset w30, -8
	.cfi_offset w29, -16
	.cfi_offset w19, -24
	.cfi_offset w20, -32
	.cfi_offset w21, -40
	.cfi_offset w22, -48
	mov	w8, #22136
	movk	w8, #4660, lsl #16
	sub	w19, w8, #91
	mov	x0, x19
	mov	w1, #4
	bl	_test_imulb
	mov	w0, #3
	mov	w1, #-4
	bl	_test_imulb
	mov	w0, #128
	mov	w1, #128
	bl	_test_imulb
	mov	w0, #16
	mov	w1, #16
	bl	_test_imulb
	mov	w21, #29
	movk	w21, #4660, lsl #16
	mov	w0, #0
	mov	w1, #29
	movk	w1, #4660, lsl #16
	mov	w2, #45
	bl	_test_imulw
	mov	w0, #0
	mov	w1, #23
	mov	w2, #-45
	bl	_test_imulw
	mov	w0, #0
	mov	w1, #32768
	mov	w2, #32768
	bl	_test_imulw
	mov	w0, #0
	mov	w1, #256
	mov	w2, #256
	bl	_test_imulw
	mov	w0, #0
	mov	w1, #29
	movk	w1, #4660, lsl #16
	mov	w2, #45
	bl	_test_imull
	mov	w0, #0
	mov	w1, #23
	mov	w2, #-45
	bl	_test_imull
	mov	w0, #0
	mov	w1, #-2147483648
	mov	w2, #-2147483648
	bl	_test_imull
	mov	w0, #0
	mov	w1, #65536
	mov	w2, #65536
	bl	_test_imull
	mov	x0, x19
	mov	w1, #4
	bl	_test_mulb
	mov	w0, #3
	mov	w1, #-4
	bl	_test_mulb
	mov	w0, #128
	mov	w1, #128
	bl	_test_mulb
	mov	w0, #16
	mov	w1, #16
	bl	_test_mulb
	mov	w0, #0
	mov	w1, #29
	movk	w1, #4660, lsl #16
	mov	w2, #45
	bl	_test_mulw
	mov	w0, #0
	mov	w1, #23
	mov	w2, #-45
	bl	_test_mulw
	mov	w0, #0
	mov	w1, #32768
	mov	w2, #32768
	bl	_test_mulw
	mov	w0, #0
	mov	w1, #256
	mov	w2, #256
	bl	_test_mulw
	mov	w0, #0
	mov	w1, #29
	movk	w1, #4660, lsl #16
	mov	w2, #45
	bl	_test_mull
	mov	w0, #0
	mov	w1, #23
	mov	w2, #-45
	bl	_test_mull
	mov	w0, #0
	mov	w1, #-2147483648
	mov	w2, #-2147483648
	bl	_test_mull
	mov	w0, #0
	mov	w1, #65536
	mov	w2, #65536
	bl	_test_mull
	mov	w0, #29
	movk	w0, #4660, lsl #16
	mov	w1, #45
	bl	_test_imulw2
	mov	w0, #23
	mov	w1, #-45
	bl	_test_imulw2
	mov	w0, #32768
	mov	w1, #32768
	bl	_test_imulw2
	mov	w0, #256
	mov	w1, #256
	bl	_test_imulw2
	mov	w0, #29
	movk	w0, #4660, lsl #16
	mov	w1, #45
	bl	_test_imull2
	mov	w0, #23
	mov	w1, #-45
	bl	_test_imull2
	mov	w0, #-2147483648
	mov	w1, #-2147483648
	bl	_test_imull2
	mov	w0, #65536
	mov	w1, #65536
	bl	_test_imull2
Lloh0:
	adrp	x19, l_.str@PAGE
Lloh1:
	add	x19, x19, l_.str@PAGEOFF
	mov	x0, x19
	mov	x1, x19
	mov	w2, #45
	mov	w3, #4660
	bl	_TEST_IMUL_IM
	mov	x0, x19
	mov	x1, x19
	mov	w2, #-45
	mov	w3, #23
	bl	_TEST_IMUL_IM
	mov	x0, x19
	mov	x1, x19
	mov	w2, #32768
	mov	w3, #-2147483648
	bl	_TEST_IMUL_IM
	mov	x0, x19
	mov	x1, x19
	mov	w2, #32767
	mov	w3, #4096
	bl	_TEST_IMUL_IM
Lloh2:
	adrp	x19, l_.str.1@PAGE
Lloh3:
	add	x19, x19, l_.str.1@PAGEOFF
Lloh4:
	adrp	x20, l_.str.2@PAGE
Lloh5:
	add	x20, x20, l_.str.2@PAGEOFF
	mov	x0, x19
	mov	x1, x20
	mov	w2, #45
	mov	w3, #4660
	bl	_TEST_IMUL_IM
	mov	x0, x19
	mov	x1, x20
	mov	w2, #-45
	mov	w3, #23
	bl	_TEST_IMUL_IM
	mov	x0, x19
	mov	x1, x20
	mov	w2, #32768
	mov	w3, #-2147483648
	bl	_TEST_IMUL_IM
	mov	x0, x19
	mov	x1, x20
	mov	w2, #32767
	mov	w3, #4096
	bl	_TEST_IMUL_IM
	mov	w0, #5752
	movk	w0, #4660, lsl #16
	mov	w1, #4734
	bl	_test_idivb
	mov	w0, #291
	movk	w0, #17185, lsl #16
	mov	w1, #-5
	bl	_test_idivb
	sub	w19, w21, #25
	mov	x0, x19
	mov	w1, #-1
	bl	_test_idivb
	mov	w0, #0
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	w2, #12347
	bl	_test_idivw
	mov	w0, #0
	mov	w1, #-23223
	mov	w2, #-45
	bl	_test_idivw
	mov	w0, #0
	mov	w1, #32768
	movk	w1, #4660, lsl #16
	mov	w2, #-1
	bl	_test_idivw
	mov	w8, #17767
	movk	w8, #33059, lsl #16
	add	w20, w8, #4, lsl #12            ; =16384
	mov	w0, #9027
	movk	w0, #1, lsl #16
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	x2, x20
	bl	_test_idivw
	mov	w0, #0
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	w2, #12347
	bl	_test_idivl
	mov	w0, #0
	mov	w1, #28921
	movk	w1, #65532, lsl #16
	mov	w2, #-45
	bl	_test_idivl
	mov	w0, #0
	mov	w1, #-2147483648
	mov	w2, #-1
	bl	_test_idivl
	mov	w0, #9027
	movk	w0, #1, lsl #16
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	w2, #17767
	movk	w2, #33059, lsl #16
	bl	_test_idivl
	mov	w0, #5752
	movk	w0, #4660, lsl #16
	mov	w1, #4734
	bl	_test_divb
	mov	w0, #291
	movk	w0, #17185, lsl #16
	mov	w1, #-5
	bl	_test_divb
	mov	x0, x19
	mov	w1, #-1
	bl	_test_divb
	mov	w0, #0
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	w2, #12347
	bl	_test_divw
	mov	w0, #0
	mov	w1, #-23223
	mov	w2, #-45
	bl	_test_divw
	mov	w0, #0
	mov	w1, #32768
	movk	w1, #4660, lsl #16
	mov	w2, #-1
	bl	_test_divw
	mov	w0, #9027
	movk	w0, #1, lsl #16
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	x2, x20
	bl	_test_divw
	mov	w0, #0
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	w2, #12347
	bl	_test_divl
	mov	w0, #0
	mov	w1, #28921
	movk	w1, #65532, lsl #16
	mov	w2, #-45
	bl	_test_divl
	mov	w0, #0
	mov	w1, #-2147483648
	mov	w2, #-1
	bl	_test_divl
	mov	w0, #9027
	movk	w0, #1, lsl #16
	mov	w1, #22136
	movk	w1, #4660, lsl #16
	mov	w2, #17767
	movk	w2, #33059, lsl #16
	ldp	x29, x30, [sp, #32]             ; 16-byte Folded Reload
	ldp	x20, x19, [sp, #16]             ; 16-byte Folded Reload
	ldp	x22, x21, [sp], #48             ; 16-byte Folded Reload
	b	_test_divl
	.loh AdrpAdd	Lloh4, Lloh5
	.loh AdrpAdd	Lloh2, Lloh3
	.loh AdrpAdd	Lloh0, Lloh1
	.cfi_endproc
                                        ; -- End function
	.section	__TEXT,__cstring,cstring_literals
l_.str:                                 ; @.str
	.asciz	"w"

l_.str.1:                               ; @.str.1
	.asciz	"l"

l_.str.2:                               ; @.str.2
	.asciz	"k"

.subsections_via_symbols
