	.file	"da.c"
! GNU C11 (GCC) version 5.5.0 (sparc-sun-solaris2.10)
!	compiled by GNU C version 5.5.0, GMP version 6.1.2, MPFR version 3.1.5, MPC version 1.0.2
! warning: MPC header version 1.0.2 differs from library version 1.0.3.
! GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
! options passed:  -imultilib sparcv9 -D__arch64__ -D__sparcv9 da.c -mptr64
! -mstack-bias -mno-v8plus -mcpu=v9 -m64 -fverbose-asm
! options enabled:  -faggressive-loop-optimizations -fauto-inc-dec
! -fchkp-check-incomplete-type -fchkp-check-read -fchkp-check-write
! -fchkp-instrument-calls -fchkp-narrow-bounds -fchkp-optimize
! -fchkp-store-bounds -fchkp-use-static-bounds
! -fchkp-use-static-const-bounds -fchkp-use-wrappers -fcommon
! -fdelete-null-pointer-checks -fearly-inlining
! -feliminate-unused-debug-types -ffunction-cse -fgcse-lm -fgnu-runtime
! -fgnu-unique -fident -finline-atomics -fira-hoist-pressure
! -fira-share-spill-slots -fivopts -fkeep-static-consts
! -fleading-underscore -flifetime-dse -flto-odr-type-merging -fmath-errno
! -fmerge-debug-strings -fpeephole -fprefetch-loop-arrays
! -freg-struct-return -fsched-critical-path-heuristic
! -fsched-dep-count-heuristic -fsched-group-heuristic -fsched-interblock
! -fsched-last-insn-heuristic -fsched-rank-heuristic -fsched-spec
! -fsched-spec-insn-heuristic -fsched-stalled-insns-dep -fschedule-fusion
! -fsemantic-interposition -fshow-column -fsigned-zeros
! -fsplit-ivs-in-unroller -fstdarg-opt -fstrict-volatile-bitfields
! -fsync-libcalls -ftrapping-math -ftree-coalesce-vars -ftree-cselim
! -ftree-forwprop -ftree-loop-if-convert -ftree-loop-im -ftree-loop-ivcanon
! -ftree-loop-optimize -ftree-parallelize-loops= -ftree-phiprop
! -ftree-reassoc -ftree-scev-cprop -funit-at-a-time -fverbose-asm
! -fzero-initialized-in-bss -m64 -mapp-regs -mfpu -mptr64 -msoft-quad-float
! -mstack-bias -muser-mode

	.common	holder,16,8
	.section	".text"
	.align 4
	.global pass_by_val
	.type	pass_by_val, #function
	.proc	020
pass_by_val:
	.register	%g2, #scratch
	.register	%g3, #scratch
	save	%sp, -176, %sp	!
	stx	%i0, [%fp+2175]	! buffer, buffer
	stx	%i1, [%fp+2191]	! par, par
	stx	%i2, [%fp+2199]	! par, par
	sethi	%h44(holder), %g1	!, tmp110
	or	%g1, %m44(holder), %g1	! tmp110,, tmp111
	sllx	%g1, 12, %g1	! tmp111,, tmp112
	or	%g1, %l44(holder), %g1	! tmp112,, tmp109
	ldx	[%fp+2191], %g2	! par,
	ldx	[%fp+2199], %g3	! par, tmp113
	stx	%g2, [%g1]	!, holder
	stx	%g3, [%g1+8]	! tmp113, holder
	nop
	return	%i7+8
	 nop
	.size	pass_by_val, .-pass_by_val
	.section	".rodata"
	.align 8
.LLC0:
	.asciz	"OK"
	.align 8
.LLC1:
	.asciz	"FAILED"
	.align 8
.LLC2:
	.asciz	"pass int 64 %s\n"
	.section	".text"
	.align 4
	.global main
	.type	main, #function
	.proc	04
main:
	save	%sp, -208, %sp	!
	sethi	%hi(97655808), %g1	!, tmp116
	or	%g1, 417, %g1	! tmp116,, tmp115
	sllx	%g1, 12, %g1	! tmp115,, tmp115
	stx	%g1, [%fp+2039]	! tmp115, i64
	ldx	[%fp+2039], %g1	! i64, tmp117
	mov	%g1, %g3	! tmp117, D.1716
	srax	%g1, 63, %g1	! tmp117,, tmp118
	mov	%g1, %g2	! tmp118, D.1716
	mov	%g2, %o2	! D.1716,
	mov	%g3, %o3	! D.1716, tmp10
	sethi	%h44(main), %g1	!, tmp119
	or	%g1, %m44(main), %g1	! tmp119,, tmp120
	sllx	%g1, 12, %g1	! tmp120,, tmp121
	or	%g1, %l44(main), %o0	! tmp121,,
	call	pass_by_val, 0
	 nop	!,
	ldx	[%fp+2039], %g1	! i64, tmp122
	stx	%g1, [%fp+2031]	! tmp122, q
	srax	%g1, 63, %g1	! tmp122,, tmp123
	stx	%g1, [%fp+2023]	! tmp123, q
	sethi	%h44(holder), %g1	!, tmp125
	or	%g1, %m44(holder), %g1	! tmp125,, tmp126
	sllx	%g1, 12, %g1	! tmp126,, tmp127
	or	%g1, %l44(holder), %g1	! tmp127,, tmp124
	ldx	[%g1], %g2	! holder, D.1716
	ldx	[%g1+8], %g3	! holder, D.1716
	ldx	[%fp+2023], %g1	! q, tmp128
	cmp	%g1, %g2	! tmp128, D.1716
	bne	%xcc, .LL3
	 nop	!
	ldx	[%fp+2031], %g1	! q, tmp129
	cmp	%g1, %g3	! tmp129, D.1716
	bne	%xcc, .LL3
	 nop	!
	sethi	%h44(.LLC0), %g1	!, tmp130
	or	%g1, %m44(.LLC0), %g1	! tmp130,, tmp131
	sllx	%g1, 12, %g1	! tmp131,, tmp132
	or	%g1, %l44(.LLC0), %g1	! tmp132,, D.1714
	ba,pt	%xcc, .LL4
	 nop	!
.LL3:
	sethi	%h44(.LLC1), %g1	!, tmp133
	or	%g1, %m44(.LLC1), %g1	! tmp133,, tmp134
	sllx	%g1, 12, %g1	! tmp134,, tmp135
	or	%g1, %l44(.LLC1), %g1	! tmp135,, D.1714
.LL4:
	mov	%g1, %o1	! D.1714,
	sethi	%h44(.LLC2), %g1	!, tmp136
	or	%g1, %m44(.LLC2), %g1	! tmp136,, tmp137
	sllx	%g1, 12, %g1	! tmp137,, tmp138
	or	%g1, %l44(.LLC2), %o0	! tmp138,,
	call	printf, 0
	 nop	!,
	sethi	%h44(holder), %g1	!, tmp140
	or	%g1, %m44(holder), %g1	! tmp140,, tmp141
	sllx	%g1, 12, %g1	! tmp141,, tmp142
	or	%g1, %l44(holder), %g1	! tmp142,, tmp139
	ldx	[%g1], %g2	! holder, D.1716
	ldx	[%g1+8], %g3	! holder, D.1716
	ldx	[%fp+2023], %g1	! q, tmp143
	cmp	%g1, %g2	! tmp143, D.1716
	bne	%xcc, .LL8
	 nop	!
	ldx	[%fp+2031], %g1	! q, tmp144
	cmp	%g1, %g3	! tmp144, D.1716
	be	%xcc, .LL9
	 nop	!
.LL8:
	mov	1, %g1	!, D.1715
	ba,pt	%xcc, .LL7
	 nop	!
.LL9:
	mov	0, %g1	!, D.1715
.LL7:
	sra	%g1, 0, %g1	! D.1715, tmp146
	mov	%g1, %i0	! <retval>,
	return	%i7+8
	 nop
	.size	main, .-main
	.ident	"GCC: (GNU) 5.5.0"
