Wandbox
SettingsLog
SettingsLog
Language
GitHubLogin
Ran/Viewed Log

Author

anonymous

almost 8 years ago

Language

Bash script

Compiler

bash 4.3.48(1)-release

Options

Author

anonymous

almost 8 years ago

$ bash prog.sh
	.file	""
	.intel_syntax noprefix
	.section	.text.unlikely._Z3fooIcEvPT_PKS0_S3_S3_m,"axG",@progbits,_Z3fooIcEvPT_PKS0_S3_S3_m,comdat
.LCOLDB11:
	.section	.text._Z3fooIcEvPT_PKS0_S3_S3_m,"axG",@progbits,_Z3fooIcEvPT_PKS0_S3_S3_m,comdat
.LHOTB11:
	.p2align 4,,15
	.weak	_Z3fooIcEvPT_PKS0_S3_S3_m
	.type	_Z3fooIcEvPT_PKS0_S3_S3_m, @function
_Z3fooIcEvPT_PKS0_S3_S3_m:
.LFB1:
	.cfi_startproc
	test	r8, r8
	je	.L12
	lea	r9, [r8-16]
	lea	r10, [r8-1]
	push	rbx
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	shr	r9, 4
	add	r9, 1
	mov	rax, r9
	sal	rax, 4
	cmp	r10, 14
	jbe	.L9
	lea	r11, [rdi+16]
	movdqa	xmm14, XMMWORD PTR .LC0[rip]
	xor	r10d, r10d
	xor	ebx, ebx
	movdqa	xmm13, XMMWORD PTR .LC1[rip]
	movdqa	xmm12, XMMWORD PTR .LC2[rip]
	movdqa	xmm11, XMMWORD PTR .LC3[rip]
	movdqa	xmm10, XMMWORD PTR .LC4[rip]
	movdqa	xmm9, XMMWORD PTR .LC5[rip]
	movdqa	xmm8, XMMWORD PTR .LC6[rip]
	movdqa	xmm7, XMMWORD PTR .LC7[rip]
	movdqa	xmm6, XMMWORD PTR .LC8[rip]
	movdqa	xmm5, XMMWORD PTR .LC9[rip]
.L5:
	movdqa	xmm0, xmm12
	add	rbx, 1
	add	r11, 48
	movdqu	xmm3, XMMWORD PTR [rsi+r10]
	movdqu	xmm1, XMMWORD PTR [rdx+r10]
	movdqa	xmm4, xmm3
	movdqu	xmm2, XMMWORD PTR [rcx+r10]
	add	r10, 16
	punpcklbw	xmm4, xmm1
	movdqa	xmm15, xmm2
	pshufb	xmm4, xmm14
	pshufb	xmm15, xmm13
	pblendvb	xmm4, xmm15, xmm0
	movdqa	xmm0, xmm1
	movdqa	xmm15, xmm2
	movups	XMMWORD PTR [r11-64], xmm4
	movdqa	xmm4, xmm3
	pshufb	xmm0, xmm10
	pshufb	xmm4, xmm11
	pshufb	xmm3, xmm7
	pshufb	xmm1, xmm6
	por	xmm4, xmm0
	movdqa	xmm0, xmm8
	pshufb	xmm15, xmm9
	por	xmm1, xmm3
	pshufb	xmm2, xmm5
	pblendvb	xmm4, xmm15, xmm0
	movdqa	xmm0, XMMWORD PTR .LC10[rip]
	pblendvb	xmm1, xmm2, xmm0
	movups	XMMWORD PTR [r11-48], xmm4
	movups	XMMWORD PTR [r11-32], xmm1
	cmp	r9, rbx
	ja	.L5
	lea	r9, [rax+rax*2]
	add	rsi, rax
	add	rdx, rax
	add	rcx, rax
	add	rdi, r9
	cmp	rax, r8
	je	.L1
.L3:
	movzx	r9d, BYTE PTR [rsi]
	mov	BYTE PTR [rdi], r9b
	movzx	r9d, BYTE PTR [rdx]
	mov	BYTE PTR [rdi+1], r9b
	movzx	r9d, BYTE PTR [rcx]
	mov	BYTE PTR [rdi+2], r9b
	lea	r9, [rax+1]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+1]
	mov	BYTE PTR [rdi+3], r9b
	movzx	r9d, BYTE PTR [rdx+1]
	mov	BYTE PTR [rdi+4], r9b
	movzx	r9d, BYTE PTR [rcx+1]
	mov	BYTE PTR [rdi+5], r9b
	lea	r9, [rax+2]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+2]
	mov	BYTE PTR [rdi+6], r9b
	movzx	r9d, BYTE PTR [rdx+2]
	mov	BYTE PTR [rdi+7], r9b
	movzx	r9d, BYTE PTR [rcx+2]
	mov	BYTE PTR [rdi+8], r9b
	lea	r9, [rax+3]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+3]
	mov	BYTE PTR [rdi+9], r9b
	movzx	r9d, BYTE PTR [rdx+3]
	mov	BYTE PTR [rdi+10], r9b
	movzx	r9d, BYTE PTR [rcx+3]
	mov	BYTE PTR [rdi+11], r9b
	lea	r9, [rax+4]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+4]
	mov	BYTE PTR [rdi+12], r9b
	movzx	r9d, BYTE PTR [rdx+4]
	mov	BYTE PTR [rdi+13], r9b
	movzx	r9d, BYTE PTR [rcx+4]
	mov	BYTE PTR [rdi+14], r9b
	lea	r9, [rax+5]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+5]
	mov	BYTE PTR [rdi+15], r9b
	movzx	r9d, BYTE PTR [rdx+5]
	mov	BYTE PTR [rdi+16], r9b
	movzx	r9d, BYTE PTR [rcx+5]
	mov	BYTE PTR [rdi+17], r9b
	lea	r9, [rax+6]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+6]
	mov	BYTE PTR [rdi+18], r9b
	movzx	r9d, BYTE PTR [rdx+6]
	mov	BYTE PTR [rdi+19], r9b
	movzx	r9d, BYTE PTR [rcx+6]
	mov	BYTE PTR [rdi+20], r9b
	lea	r9, [rax+7]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+7]
	mov	BYTE PTR [rdi+21], r9b
	movzx	r9d, BYTE PTR [rdx+7]
	mov	BYTE PTR [rdi+22], r9b
	movzx	r9d, BYTE PTR [rcx+7]
	mov	BYTE PTR [rdi+23], r9b
	lea	r9, [rax+8]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+8]
	mov	BYTE PTR [rdi+24], r9b
	movzx	r9d, BYTE PTR [rdx+8]
	mov	BYTE PTR [rdi+25], r9b
	movzx	r9d, BYTE PTR [rcx+8]
	mov	BYTE PTR [rdi+26], r9b
	lea	r9, [rax+9]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+9]
	mov	BYTE PTR [rdi+27], r9b
	movzx	r9d, BYTE PTR [rdx+9]
	mov	BYTE PTR [rdi+28], r9b
	movzx	r9d, BYTE PTR [rcx+9]
	mov	BYTE PTR [rdi+29], r9b
	lea	r9, [rax+10]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+10]
	mov	BYTE PTR [rdi+30], r9b
	movzx	r9d, BYTE PTR [rdx+10]
	mov	BYTE PTR [rdi+31], r9b
	movzx	r9d, BYTE PTR [rcx+10]
	mov	BYTE PTR [rdi+32], r9b
	lea	r9, [rax+11]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+11]
	mov	BYTE PTR [rdi+33], r9b
	movzx	r9d, BYTE PTR [rdx+11]
	mov	BYTE PTR [rdi+34], r9b
	movzx	r9d, BYTE PTR [rcx+11]
	mov	BYTE PTR [rdi+35], r9b
	lea	r9, [rax+12]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+12]
	mov	BYTE PTR [rdi+36], r9b
	movzx	r9d, BYTE PTR [rdx+12]
	mov	BYTE PTR [rdi+37], r9b
	movzx	r9d, BYTE PTR [rcx+12]
	mov	BYTE PTR [rdi+38], r9b
	lea	r9, [rax+13]
	cmp	r8, r9
	jbe	.L1
	movzx	r9d, BYTE PTR [rsi+13]
	add	rax, 14
	cmp	r8, rax
	mov	BYTE PTR [rdi+39], r9b
	movzx	r9d, BYTE PTR [rdx+13]
	mov	BYTE PTR [rdi+40], r9b
	movzx	r9d, BYTE PTR [rcx+13]
	mov	BYTE PTR [rdi+41], r9b
	jbe	.L1
	movzx	eax, BYTE PTR [rsi+14]
	mov	BYTE PTR [rdi+42], al
	movzx	eax, BYTE PTR [rdx+14]
	mov	BYTE PTR [rdi+43], al
	movzx	eax, BYTE PTR [rcx+14]
	mov	BYTE PTR [rdi+44], al
.L1:
	pop	rbx
	.cfi_restore 3
	.cfi_def_cfa_offset 8
.L12:
	rep ret
	.p2align 4,,10
	.p2align 3
.L9:
	.cfi_def_cfa_offset 16
	.cfi_offset 3, -16
	xor	eax, eax
	jmp	.L3
	.cfi_endproc
.LFE1:
	.size	_Z3fooIcEvPT_PKS0_S3_S3_m, .-_Z3fooIcEvPT_PKS0_S3_S3_m
	.section	.text.unlikely._Z3fooIcEvPT_PKS0_S3_S3_m,"axG",@progbits,_Z3fooIcEvPT_PKS0_S3_S3_m,comdat
.LCOLDE11:
	.section	.text._Z3fooIcEvPT_PKS0_S3_S3_m,"axG",@progbits,_Z3fooIcEvPT_PKS0_S3_S3_m,comdat
.LHOTE11:
	.section	.rodata.cst16,"aM",@progbits,16
	.align 16
.LC0:
	.byte	0
	.byte	1
	.byte	0
	.byte	2
	.byte	3
	.byte	0
	.byte	4
	.byte	5
	.byte	0
	.byte	6
	.byte	7
	.byte	0
	.byte	8
	.byte	9
	.byte	0
	.byte	10
	.align 16
.LC1:
	.byte	0
	.byte	1
	.byte	0
	.byte	3
	.byte	4
	.byte	1
	.byte	6
	.byte	7
	.byte	2
	.byte	9
	.byte	10
	.byte	3
	.byte	12
	.byte	13
	.byte	4
	.byte	15
	.align 16
.LC2:
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.align 16
.LC3:
	.byte	-128
	.byte	0
	.byte	6
	.byte	-128
	.byte	0
	.byte	7
	.byte	-128
	.byte	0
	.byte	8
	.byte	-128
	.byte	0
	.byte	9
	.byte	-128
	.byte	0
	.byte	10
	.byte	-128
	.align 16
.LC4:
	.byte	5
	.byte	-128
	.byte	-128
	.byte	6
	.byte	-128
	.byte	-128
	.byte	7
	.byte	-128
	.byte	-128
	.byte	8
	.byte	-128
	.byte	-128
	.byte	9
	.byte	-128
	.byte	-128
	.byte	10
	.align 16
.LC5:
	.byte	0
	.byte	5
	.byte	2
	.byte	3
	.byte	6
	.byte	5
	.byte	6
	.byte	7
	.byte	8
	.byte	9
	.byte	8
	.byte	11
	.byte	12
	.byte	9
	.byte	14
	.byte	15
	.align 16
.LC6:
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.align 16
.LC7:
	.byte	0
	.byte	11
	.byte	-128
	.byte	0
	.byte	12
	.byte	-128
	.byte	0
	.byte	13
	.byte	-128
	.byte	0
	.byte	14
	.byte	-128
	.byte	0
	.byte	15
	.byte	-128
	.byte	0
	.align 16
.LC8:
	.byte	-128
	.byte	-128
	.byte	11
	.byte	-128
	.byte	-128
	.byte	12
	.byte	-128
	.byte	-128
	.byte	13
	.byte	-128
	.byte	-128
	.byte	14
	.byte	-128
	.byte	-128
	.byte	15
	.byte	-128
	.align 16
.LC9:
	.byte	10
	.byte	1
	.byte	2
	.byte	11
	.byte	4
	.byte	5
	.byte	12
	.byte	7
	.byte	8
	.byte	13
	.byte	10
	.byte	11
	.byte	14
	.byte	13
	.byte	14
	.byte	15
	.align 16
.LC10:
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.byte	0
	.byte	0
	.byte	-1
	.ident	"GCC: (GNU) 5.1.0"
	.section	.note.GNU-stack,"",@progbits
Exit Code:
0