        .macro cyc3 r1, r2, r3, tmp
        xchg \r1, \r2
        xchg \r2, \r3
        .endm
	.text
	.globl	bench
	.type	bench, @function
bench:
.LFB0:
	.cfi_startproc
	movq	%rsi, %rax
	testq	%rdi, %rdi
	je	.L2
        .L3:
        cyc3 %rax, %rbx, %rcx, %r14
        cyc3 %rdx, %rbp, %rsi, %r14
        cyc3  %r8,  %r9, %r10, %r14
        cyc3 %r11, %r12, %r13, %r14
        cyc3 %rax, %rbx, %rcx, %r14
        cyc3 %rdx, %rbp, %rsi, %r14
        cyc3  %r8,  %r9, %r10, %r14
        cyc3 %r11, %r12, %r13, %r14
        cyc3 %rax, %rbx, %rcx, %r14
        cyc3 %rdx, %rbp, %rsi, %r14
        cyc3  %r8,  %r9, %r10, %r14
        cyc3 %r11, %r12, %r13, %r14
        subq	$1, %rdi
	jne	.L3
.L2:
	ret
	.cfi_endproc
.LFE0:
	.size	bench, .-bench
	.ident	"GCC: (Debian 12.2.0-14) 12.2.0"
	.section	.note.GNU-stack,"",@progbits
