WiscSort / wiscSort / RSW / nano_time.s
nano_time.s
Raw
	.file	"nano_time.c"
	.text
	.p2align 4,,15
	.globl	_Z9nano_timev
	.type	_Z9nano_timev, @function
_Z9nano_timev:
.LFB43:
	.cfi_startproc
#APP
# 55 "nano_time.c" 1
	rdtscp
# 0 "" 2
#NO_APP
	salq	$32, %rdx
	orq	%rax, %rdx
	js	.L2
	vxorpd	%xmm0, %xmm0, %xmm0
	vcvtsi2sdq	%rdx, %xmm0, %xmm0
.L3:
	vdivsd	.LC0(%rip), %xmm0, %xmm0
	vmovsd	.LC1(%rip), %xmm1
	vucomisd	%xmm1, %xmm0
	jnb	.L4
	vcvttsd2siq	%xmm0, %rax
	ret
	.p2align 4,,10
	.p2align 3
.L4:
	vsubsd	%xmm1, %xmm0, %xmm0
	movabsq	$-9223372036854775808, %rdx
	vcvttsd2siq	%xmm0, %rax
	xorq	%rdx, %rax
	ret
	.p2align 4,,10
	.p2align 3
.L2:
	movq	%rdx, %rax
	vxorpd	%xmm0, %xmm0, %xmm0
	shrq	%rax
	andl	$1, %edx
	orq	%rdx, %rax
	vcvtsi2sdq	%rax, %xmm0, %xmm0
	vaddsd	%xmm0, %xmm0, %xmm0
	jmp	.L3
	.cfi_endproc
.LFE43:
	.size	_Z9nano_timev, .-_Z9nano_timev
	.section	.rodata.cst8,"aM",@progbits,8
	.align 8
.LC0:
	.long	3435973837
	.long	1074056396
	.align 8
.LC1:
	.long	0
	.long	1138753536
	.ident	"GCC: (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0"
	.section	.note.GNU-stack,"",@progbits