.text
BORINGSSL_bcm_text_start:
	# Most instructions and lines should pass unaltered. This is made up of
	# copy-and-pasted bits of compiler output and likely does not actually
	# run.
	.file "bcm.c"
	.text

	.type foo, @function
	.globl foo
.Lfoo_local_target:
foo:
	.file 1 "../foo/bar.c"
	.loc 1 2 3
	.cfi_startproc
	pushq %rbp
	.cfi_def_cfa_offset 16
	.cfi_offset 6, -16
	movq %rsp, %rbp
	movq %rdi, -24(%rbp)
	movq -24(%rbp), %rax
	.loc 1 168 0 is_stmt 0 discriminator 1
	cmpq	-8(%rbp), %rax
	jmpq *%rax
        movdqa  %xmm3,%xmm10
	psrlq   $1,%xmm3
	pxor    %xmm6,%xmm5
	pxor    %xmm4,%xmm3
	pand    %xmm7,%xmm5
	pand    %xmm7,%xmm3
        pxor    %xmm5,%xmm6
	paddd   112(%r11),%xmm15
	vmovdqa %xmm0,%xmm5
	vpunpckhqdq     %xmm0,%xmm0,%xmm3
	vpxor   %xmm0,%xmm3,%xmm3
	vpclmulqdq      $0x11,%xmm2,%xmm0,%xmm1
	vpclmulqdq      $0x00,%xmm2,%xmm0,%xmm0
	vpclmulqdq      $0x00,%xmm6,%xmm3,%xmm3
	vpxor   %xmm0,%xmm1,%xmm4
	vpxor   %xmm4,%xmm3,%xmm3
	vmovdqu8        %ymm1,%ymm6{%k1}{z}
	vmovdqu8        %ymm2,%ymm4{%k3}
	.byte   0xf3,0xc3
	movq %rax, %rbx # Comments can be on the same line as an instruction.
.L3:
 # Or on the same line as a label.
.L4:
.L5:
	movq %rbx, %rax # This is also legal.
.size	foo, .-foo
.type	foo, @function
.text
BORINGSSL_bcm_text_end:
.type OPENSSL_ia32cap_get, @function
OPENSSL_ia32cap_get:
	leaq OPENSSL_ia32cap_P(%rip), %rax
	ret
.extern OPENSSL_ia32cap_P
.type OPENSSL_ia32cap_addr_delta, @object
.size OPENSSL_ia32cap_addr_delta, 8
OPENSSL_ia32cap_addr_delta:
.quad OPENSSL_ia32cap_P-OPENSSL_ia32cap_addr_delta
.type BORINGSSL_bcm_text_hash, @object
.size BORINGSSL_bcm_text_hash, 64
BORINGSSL_bcm_text_hash:
.byte 0xae
.byte 0x2c
.byte 0xea
.byte 0x2a
.byte 0xbd
.byte 0xa6
.byte 0xf3
.byte 0xec
.byte 0x97
.byte 0x7f
.byte 0x9b
.byte 0xf6
.byte 0x94
.byte 0x9a
.byte 0xfc
.byte 0x83
.byte 0x68
.byte 0x27
.byte 0xcb
.byte 0xa0
.byte 0xa0
.byte 0x9f
.byte 0x6b
.byte 0x6f
.byte 0xde
.byte 0x52
.byte 0xcd
.byte 0xe2
.byte 0xcd
.byte 0xff
.byte 0x31
.byte 0x80
.byte 0xa2
.byte 0xd4
.byte 0xc3
.byte 0x66
.byte 0xf
.byte 0xc2
.byte 0x6a
.byte 0x7b
.byte 0xf4
.byte 0xbe
.byte 0x39
.byte 0xa2
.byte 0xd7
.byte 0x25
.byte 0xdb
.byte 0x21
.byte 0x98
.byte 0xe9
.byte 0xd5
.byte 0x53
.byte 0xbf
.byte 0x5c
.byte 0x32
.byte 0x6
.byte 0x83
.byte 0x34
.byte 0xc
.byte 0x65
.byte 0x89
.byte 0x52
.byte 0xbd
.byte 0x1f
