	.file	"sse3-haddsub.ll"
	.text
	.globl	hadd
	.align	16, 0x90
	.type	hadd,@function
hadd:                                   # @hadd
.Ltmp2:
	.cfi_startproc
# BB#0:
	pushq	%rbp
.Ltmp3:
	.cfi_def_cfa_offset 16
.Ltmp4:
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
.Ltmp5:
	.cfi_def_cfa_register %rbp
	vhaddpd	%ymm1, %ymm0, %ymm0
	popq	%rbp
	ret
.Ltmp6:
	.size	hadd, .Ltmp6-hadd
.Ltmp7:
	.cfi_endproc
.Leh_func_end0:

	.section	.rodata,"a",@progbits
	.align	32
.LCPI1_0:
	.quad	4607182418800017408     # double 1.000000e+00
	.quad	4611686018427387904     # double 2.000000e+00
	.quad	4613937818241073152     # double 3.000000e+00
	.quad	4616189618054758400     # double 4.000000e+00
.LCPI1_1:
	.quad	4617315517961601024     # double 5.000000e+00
	.quad	4618441417868443648     # double 6.000000e+00
	.quad	4619567317775286272     # double 7.000000e+00
	.quad	4620693217682128896     # double 8.000000e+00
	.text
	.globl	main
	.align	16, 0x90
	.type	main,@function
main:                                   # @main
.Ltmp10:
	.cfi_startproc
# BB#0:
	pushq	%rbp
.Ltmp11:
	.cfi_def_cfa_offset 16
.Ltmp12:
	.cfi_offset %rbp, -16
	movq	%rsp, %rbp
.Ltmp13:
	.cfi_def_cfa_register %rbp
	vmovapd	.LCPI1_0(%rip), %ymm0
	vmovapd	.LCPI1_1(%rip), %ymm1
	callq	hadd
	vextractf128	$1, %ymm0, %xmm2
	vunpckhpd	%xmm0, %xmm0, %xmm1
	vunpckhpd	%xmm0, %xmm2, %xmm3
	movl	$.Lstr, %edi
                                        # kill: XMM0<def> XMM0<kill> YMM0<kill>
	movb	$4, %al
	callq	printf
	xorl	%eax, %eax
	popq	%rbp
	ret
.Ltmp14:
	.size	main, .Ltmp14-main
.Ltmp15:
	.cfi_endproc
.Leh_func_end1:

	.type	.Lstr,@object           # @str
	.section	.rodata,"a",@progbits
.Lstr:
	.asciz	 "%g %g %g %g\n"
	.size	.Lstr, 13


	.section	".note.GNU-stack","",@progbits
