// File: /workspace/github_c_makefile_star2_O1/jwang11[P]intel_avx_perf/matrix_int8.c
// Function: main
int main() {
  init();
  TIME(LOOP(calc_non()));
  DEBUG
  TIME(LOOP(calc_avx512_vnni()));
  DEBUG
  TIME(LOOP(calc_avx512()));
  DEBUG
}

// Assembly:
pushq %rbp
movq %rsp, %rbp
pushq %r15
pushq %r14
pushq %rbx
andq $-0x40, %rsp
subq $0x80, %rsp
callq 0x118c
leaq 0xb12(%rip), %rdi       # 0x200c
callq 0x1030
callq 0x1040
movq %rax, %rbx
leaq 0xb0f(%rip), %rdi       # 0x201d
movl $0x186a0, %r14d         # imm = 0x186A0
movl $0x186a0, %esi          # imm = 0x186A0
xorl %eax, %eax
callq 0x1050
callq 0x122b
decl %r14d
jne 0x1520
callq 0x1040
vcvtsi2ss %rax, %xmm0, %xmm0
vcvtsi2ss %rbx, %xmm1, %xmm1
vsubss %xmm1, %xmm0, %xmm0
vdivss 0xac3(%rip), %xmm0, %xmm0 # 0x2008
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0xad7(%rip), %rdi       # 0x2027
movb $0x1, %al
callq 0x1050
leaq 0x43ba2(%rip), %r14     # 0x45100
leaq 0xadc(%rip), %rbx       # 0x2041
xorl %r15d, %r15d
movl (%r15,%r14), %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1050
addq $0x4, %r15
cmpq $0x20, %r15
jne 0x1568
leaq 0xaec(%rip), %rdi       # 0x2073
callq 0x1030
leaq 0xab3(%rip), %rdi       # 0x2046
callq 0x1030
callq 0x1040
movq %rax, %rbx
leaq 0xa76(%rip), %rdi       # 0x201d
xorl %r15d, %r15d
movl $0x186a0, %esi          # imm = 0x186A0
xorl %eax, %eax
callq 0x1050
leaq 0x2b03(%rip), %rax      # 0x40c0
vxorps %xmm0, %xmm0, %xmm0
leaq 0x42af8(%rip), %rcx     # 0x440c0
movq %rax, %rdx
xorl %esi, %esi
vmovaps %zmm0, (%rsp)
xorl %edi, %edi
vmovdqa64 (%rdi,%rcx), %zmm1
vmovdqa64 (%rsp), %zmm2
vpdpbusds (%rdx,%rdi), %zmm1, %zmm2
vmovdqa64 %zmm2, (%rsp)
leaq 0x40(%rdi), %r8
cmpq $0xfc0, %rdi            # imm = 0xFC0
movq %r8, %rdi
jb 0x15d6
vmovdqa 0x20(%rsp), %ymm1
vpaddd (%rsp), %zmm1, %zmm1
vextracti128 $0x1, %ymm1, %xmm2
vpaddd %xmm2, %xmm1, %xmm1
vpshufd $0xee, %xmm1, %xmm2     # xmm2 = xmm1[2,3,2,3]
vpaddd %xmm2, %xmm1, %xmm1
vpshufd $0x55, %xmm1, %xmm2     # xmm2 = xmm1[1,1,1,1]
vpaddd %xmm2, %xmm1, %xmm1
vmovd %xmm1, (%r14,%rsi,4)
incq %rsi
addq $0x1000, %rdx           # imm = 0x1000
cmpq $0x40, %rsi
jne 0x15cd
incl %r15d
cmpl $0x186a0, %r15d         # imm = 0x186A0
jne 0x15c8
vzeroupper
callq 0x1040
vcvtsi2ss %rax, %xmm3, %xmm0
vcvtsi2ss %rbx, %xmm3, %xmm1
vsubss %xmm1, %xmm0, %xmm0
vdivss 0x999(%rip), %xmm0, %xmm0 # 0x2008
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x9ad(%rip), %rdi       # 0x2027
movb $0x1, %al
callq 0x1050
leaq 0x9b9(%rip), %rbx       # 0x2041
xorl %r15d, %r15d
movl (%r15,%r14), %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1050
addq $0x4, %r15
cmpq $0x20, %r15
jne 0x168b
leaq 0x9c9(%rip), %rdi       # 0x2073
callq 0x1030
leaq 0x9a9(%rip), %rdi       # 0x205f
callq 0x1030
callq 0x1040
movq %rax, %rbx
leaq 0x953(%rip), %rdi       # 0x201d
movl $0x186a0, %r15d         # imm = 0x186A0
movl $0x186a0, %esi          # imm = 0x186A0
xorl %eax, %eax
callq 0x1050
callq 0x1382
decl %r15d
jne 0x16dc
callq 0x1040
vcvtsi2ss %rax, %xmm3, %xmm0
vcvtsi2ss %rbx, %xmm3, %xmm1
vsubss %xmm1, %xmm0, %xmm0
vdivss 0x907(%rip), %xmm0, %xmm0 # 0x2008
vcvtss2sd %xmm0, %xmm0, %xmm0
leaq 0x91b(%rip), %rdi       # 0x2027
movb $0x1, %al
callq 0x1050
leaq 0x927(%rip), %rbx       # 0x2041
xorl %r15d, %r15d
movl (%r15,%r14), %esi
movq %rbx, %rdi
xorl %eax, %eax
callq 0x1050
addq $0x4, %r15
cmpq $0x20, %r15
jne 0x171d
leaq 0x937(%rip), %rdi       # 0x2073
callq 0x1030
xorl %eax, %eax
leaq -0x18(%rbp), %rsp
popq %rbx
popq %r14
popq %r15
popq %rbp
retq