Loop Id: 961 | Module: exec | Source: par_multi_interp.c:917-997 [...] | Coverage: 0.06% |
---|
Loop Id: 961 | Module: exec | Source: par_multi_interp.c:917-997 [...] | Coverage: 0.06% |
---|
0x4432c0 MOV -0xc8(%RBP),%RSI |
0x4432c7 INC %RSI |
0x4432ca CMP -0xd0(%RBP),%RSI |
0x4432d1 JGE 4436bd |
0x4432d7 MOV -0x168(%RBP),%RDX |
0x4432de MOV %RSI,-0xc8(%RBP) |
0x4432e5 MOV (%RDX,%RSI,8),%R8 |
0x4432e9 MOV -0x48(%RBP),%RSI |
0x4432ed MOV %RAX,(%RSI,%R8,8) |
0x4432f1 MOV -0x50(%RBP),%RDX |
0x4432f5 MOV %RCX,(%RDX,%R8,8) |
0x4432f9 MOV -0x98(%RBP),%RDX |
0x443300 MOV (%RDX,%R8,8),%RDI |
0x443304 CMP 0x8(%RDX,%R8,8),%RDI |
0x443309 JGE 4435d0 |
0x44330f MOV -0x108(%RBP),%RDX |
0x443316 MOV (%RDX),%R9 |
0x443319 MOV %R9,-0x70(%RBP) |
0x44331d JMP 443341 |
(964) 0x443320 MOV -0x48(%RBP),%RSI |
(964) 0x443324 MOV -0x38(%RBP),%RDI |
(964) 0x443328 MOV -0x70(%RBP),%R9 |
(964) 0x44332c INC %RDI |
(964) 0x44332f MOV -0x98(%RBP),%RDX |
(964) 0x443336 CMP 0x8(%RDX,%R8,8),%RDI |
(964) 0x44333b JGE 4435d0 |
(964) 0x443341 MOV -0x130(%RBP),%RDX |
(964) 0x443348 MOV (%RDX,%RDI,8),%R10 |
(964) 0x44334c MOV (%R14),%RDX |
(964) 0x44334f DEC %RDX |
(964) 0x443352 CMP %RDX,(%R9,%R10,8) |
(964) 0x443356 JNE 44332c |
(964) 0x443358 MOV %RDI,-0x38(%RBP) |
(964) 0x44335c MOV -0xe0(%RBP),%RDX |
(964) 0x443363 MOV (%RDX),%R12 |
(964) 0x443366 MOV 0x8(%R12,%R10,8),%RDX |
(964) 0x44336b TEST %RDX,%RDX |
(964) 0x44336e JLE 44349d |
(964) 0x443374 MOV %R10,-0x30(%RBP) |
(964) 0x443378 MOV (%RSI,%R10,8),%RSI |
(964) 0x44337c ADD %RSI,%RDX |
(964) 0x44337f MOV -0xa0(%RBP),%RDI |
(964) 0x443386 MOV (%RDI),%RDI |
(964) 0x443389 LEA 0x1(%RSI),%R9 |
(964) 0x44338d CMP %R9,%RDX |
(964) 0x443390 CMOVLE %R9,%RDX |
(964) 0x443394 MOV %RDX,%R13 |
(964) 0x443397 SUB %RSI,%R13 |
(964) 0x44339a CMP $0x4,%R13 |
(964) 0x44339e MOV %R13,-0x78(%RBP) |
(964) 0x4433a2 JAE 4433fc |
(964) 0x4433a4 MOV -0x78(%RBP),%R10 |
(964) 0x4433a8 MOV %R10,%R9 |
(964) 0x4433ab AND $-0x4,%R9 |
(964) 0x4433af CMP %R10,%R9 |
(964) 0x4433b2 JAE 443499 |
(964) 0x4433b8 ADD %R9,%RSI |
(964) 0x4433bb MOV -0x30(%RBP),%R10 |
(964) 0x4433bf JMP 4433dc |
(967) 0x4433d0 INC %RSI |
(967) 0x4433d3 CMP %RSI,%RDX |
(967) 0x4433d6 JE 44349d |
(967) 0x4433dc MOV (%R14),%R9 |
(967) 0x4433df MOV -0x8(%RDI,%R9,8),%R9 |
(967) 0x4433e4 MOV (%R9,%RSI,8),%R9 |
(967) 0x4433e8 CMP %R8,(%RBX,%R9,8) |
(967) 0x4433ec JE 4433d0 |
(967) 0x4433ee INC %RAX |
(967) 0x4433f1 INCQ 0x8(%R12,%R8,8) |
(967) 0x4433f6 MOV %R8,(%RBX,%R9,8) |
(967) 0x4433fa JMP 4433d0 |
(964) 0x4433fc SHR $0x2,%R13 |
(964) 0x443400 LEA (,%RSI,8),%R10 |
(964) 0x443408 JMP 443419 |
(968) 0x443410 ADD $0x20,%R10 |
(968) 0x443414 DEC %R13 |
(968) 0x443417 JE 4433a4 |
(968) 0x443419 MOV (%R14),%R9 |
(968) 0x44341c MOV -0x8(%RDI,%R9,8),%R11 |
(968) 0x443421 MOV (%R11,%R10,1),%R9 |
(968) 0x443425 CMP %R8,(%RBX,%R9,8) |
(968) 0x443429 JE 44343f |
(968) 0x44342b INCQ 0x8(%R12,%R8,8) |
(968) 0x443430 INC %RAX |
(968) 0x443433 MOV %R8,(%RBX,%R9,8) |
(968) 0x443437 MOV (%R14),%R9 |
(968) 0x44343a MOV -0x8(%RDI,%R9,8),%R11 |
(968) 0x44343f MOV 0x8(%R11,%R10,1),%R9 |
(968) 0x443444 CMP %R8,(%RBX,%R9,8) |
(968) 0x443448 JE 44345e |
(968) 0x44344a INCQ 0x8(%R12,%R8,8) |
(968) 0x44344f INC %RAX |
(968) 0x443452 MOV %R8,(%RBX,%R9,8) |
(968) 0x443456 MOV (%R14),%R9 |
(968) 0x443459 MOV -0x8(%RDI,%R9,8),%R11 |
(968) 0x44345e MOV 0x10(%R11,%R10,1),%R9 |
(968) 0x443463 CMP %R8,(%RBX,%R9,8) |
(968) 0x443467 JE 44347d |
(968) 0x443469 INCQ 0x8(%R12,%R8,8) |
(968) 0x44346e INC %RAX |
(968) 0x443471 MOV %R8,(%RBX,%R9,8) |
(968) 0x443475 MOV (%R14),%R9 |
(968) 0x443478 MOV -0x8(%RDI,%R9,8),%R11 |
(968) 0x44347d MOV 0x18(%R11,%R10,1),%R9 |
(968) 0x443482 CMP %R8,(%RBX,%R9,8) |
(968) 0x443486 JE 443410 |
(968) 0x443488 INC %RAX |
(968) 0x44348b INCQ 0x8(%R12,%R8,8) |
(968) 0x443490 MOV %R8,(%RBX,%R9,8) |
(968) 0x443494 JMP 443410 |
(964) 0x443499 MOV -0x30(%RBP),%R10 |
(964) 0x44349d MOV -0xe8(%RBP),%RDX |
(964) 0x4434a4 MOV (%RDX),%RDX |
(964) 0x4434a7 MOV 0x8(%RDX,%R10,8),%R12 |
(964) 0x4434ac TEST %R12,%R12 |
(964) 0x4434af JLE 443320 |
(964) 0x4434b5 MOV -0x50(%RBP),%RSI |
(964) 0x4434b9 MOV (%RSI,%R10,8),%RSI |
(964) 0x4434bd ADD %RSI,%R12 |
(964) 0x4434c0 MOV -0x80(%RBP),%RDI |
(964) 0x4434c4 MOV (%RDI),%RDI |
(964) 0x4434c7 LEA 0x1(%RSI),%R9 |
(964) 0x4434cb CMP %R9,%R12 |
(964) 0x4434ce CMOVLE %R9,%R12 |
(964) 0x4434d2 MOV %R12,%R9 |
(964) 0x4434d5 SUB %RSI,%R9 |
(964) 0x4434d8 CMP $0x4,%R9 |
(964) 0x4434dc MOV %R9,-0x30(%RBP) |
(964) 0x4434e0 JAE 44352c |
(964) 0x4434e2 MOV -0x30(%RBP),%R10 |
(964) 0x4434e6 MOV %R10,%R9 |
(964) 0x4434e9 AND $-0x4,%R9 |
(964) 0x4434ed CMP %R10,%R9 |
(964) 0x4434f0 JAE 443320 |
(964) 0x4434f6 ADD %R9,%RSI |
(964) 0x4434f9 JMP 44350c |
(965) 0x443500 INC %RSI |
(965) 0x443503 CMP %RSI,%R12 |
(965) 0x443506 JE 443320 |
(965) 0x44350c MOV (%R14),%R9 |
(965) 0x44350f MOV -0x8(%RDI,%R9,8),%R9 |
(965) 0x443514 MOV (%R9,%RSI,8),%R9 |
(965) 0x443518 CMP %R8,(%R15,%R9,8) |
(965) 0x44351c JE 443500 |
(965) 0x44351e INC %RCX |
(965) 0x443521 INCQ 0x8(%RDX,%R8,8) |
(965) 0x443526 MOV %R8,(%R15,%R9,8) |
(965) 0x44352a JMP 443500 |
(964) 0x44352c MOV %R9,%R10 |
(964) 0x44352f SHR $0x2,%R10 |
(964) 0x443533 LEA (,%RSI,8),%R13 |
(964) 0x44353b JMP 443549 |
(966) 0x443540 ADD $0x20,%R13 |
(966) 0x443544 DEC %R10 |
(966) 0x443547 JE 4434e2 |
(966) 0x443549 MOV (%R14),%R9 |
(966) 0x44354c MOV -0x8(%RDI,%R9,8),%R11 |
(966) 0x443551 MOV (%R11,%R13,1),%R9 |
(966) 0x443555 CMP %R8,(%R15,%R9,8) |
(966) 0x443559 JE 44356f |
(966) 0x44355b INCQ 0x8(%RDX,%R8,8) |
(966) 0x443560 INC %RCX |
(966) 0x443563 MOV %R8,(%R15,%R9,8) |
(966) 0x443567 MOV (%R14),%R9 |
(966) 0x44356a MOV -0x8(%RDI,%R9,8),%R11 |
(966) 0x44356f MOV 0x8(%R11,%R13,1),%R9 |
(966) 0x443574 CMP %R8,(%R15,%R9,8) |
(966) 0x443578 JE 44358e |
(966) 0x44357a INCQ 0x8(%RDX,%R8,8) |
(966) 0x44357f INC %RCX |
(966) 0x443582 MOV %R8,(%R15,%R9,8) |
(966) 0x443586 MOV (%R14),%R9 |
(966) 0x443589 MOV -0x8(%RDI,%R9,8),%R11 |
(966) 0x44358e MOV 0x10(%R11,%R13,1),%R9 |
(966) 0x443593 CMP %R8,(%R15,%R9,8) |
(966) 0x443597 JE 4435ad |
(966) 0x443599 INCQ 0x8(%RDX,%R8,8) |
(966) 0x44359e INC %RCX |
(966) 0x4435a1 MOV %R8,(%R15,%R9,8) |
(966) 0x4435a5 MOV (%R14),%R9 |
(966) 0x4435a8 MOV -0x8(%RDI,%R9,8),%R11 |
(966) 0x4435ad MOV 0x18(%R11,%R13,1),%R9 |
(966) 0x4435b2 CMP %R8,(%R15,%R9,8) |
(966) 0x4435b6 JE 443540 |
(966) 0x4435b8 INC %RCX |
(966) 0x4435bb INCQ 0x8(%RDX,%R8,8) |
(966) 0x4435c0 MOV %R8,(%R15,%R9,8) |
(966) 0x4435c4 JMP 443540 |
0x4435d0 MOV -0x90(%RBP),%RSI |
0x4435d7 MOV (%RSI,%R8,8),%RDX |
0x4435db MOV 0x8(%RSI,%R8,8),%RDI |
0x4435e0 JMP 4435ff |
(962) 0x4435f0 MOV -0x90(%RBP),%RSI |
(962) 0x4435f7 MOV 0x8(%RSI,%R8,8),%RDI |
(962) 0x4435fc INC %RDX |
(962) 0x4435ff CMP %RDI,%RDX |
(962) 0x443602 JGE 4432c0 |
(962) 0x443608 MOV -0x138(%RBP),%RSI |
(962) 0x44360f MOV (%RSI,%RDX,8),%R9 |
(962) 0x443613 MOV (%R14),%RSI |
(962) 0x443616 DEC %RSI |
(962) 0x443619 MOV -0x128(%RBP),%R10 |
(962) 0x443620 CMP %RSI,(%R10,%R9,8) |
(962) 0x443624 JNE 4435fc |
(962) 0x443626 MOV -0x120(%RBP),%RSI |
(962) 0x44362d MOV 0x8(%RSI,%R9,8),%RSI |
(962) 0x443632 TEST %RSI,%RSI |
(962) 0x443635 JLE 4435fc |
(962) 0x443637 MOV -0x110(%RBP),%RDI |
(962) 0x44363e MOV (%RDI,%R9,8),%RDI |
(962) 0x443642 ADD %RDI,%RSI |
(962) 0x443645 MOV -0x118(%RBP),%R9 |
(962) 0x44364c MOV (%R9),%R9 |
(962) 0x44364f JMP 443677 |
(963) 0x443660 MOV (%R11),%R11 |
(963) 0x443663 INCQ 0x8(%R11,%R8,8) |
(963) 0x443668 MOV %R8,(%R10) |
(963) 0x44366b INC %RDI |
(963) 0x44366e CMP %RSI,%RDI |
(963) 0x443671 JGE 4435f0 |
(963) 0x443677 MOV (%R14),%R10 |
(963) 0x44367a MOV (%R9,%R10,8),%R10 |
(963) 0x44367e MOV (%R10,%RDI,8),%R10 |
(963) 0x443682 TEST %R10,%R10 |
(963) 0x443685 JS 4436a0 |
(963) 0x443687 CMP %R8,(%R15,%R10,8) |
(963) 0x44368b JE 44366b |
(963) 0x44368d LEA (%R15,%R10,8),%R10 |
(963) 0x443691 INC %RCX |
(963) 0x443694 MOV -0xe8(%RBP),%R11 |
(963) 0x44369b JMP 443660 |
(963) 0x4436a0 NOT %R10 |
(963) 0x4436a3 CMP %R8,(%RBX,%R10,8) |
(963) 0x4436a7 JE 44366b |
(963) 0x4436a9 LEA (%RBX,%R10,8),%R10 |
(963) 0x4436ad INC %RAX |
(963) 0x4436b0 MOV -0xe0(%RBP),%R11 |
(963) 0x4436b7 JMP 443660 |
/scratch_na/users/xoserete/qaas_runs/171-172-8217/intel/AMG/build/AMG/AMG/parcsr_ls/par_multi_interp.c: 917 - 997 |
-------------------------------------------------------------------------------- |
917: for (i=0; i < n_coarse; i++) |
[...] |
939: for (i=thread_start; i < thread_stop; i++) |
940: { |
941: i1 = pass_array[i]; |
942: P_diag_start[i1] = cnt_nz; |
943: P_offd_start[i1] = cnt_nz_offd; |
944: for (j=S_diag_i[i1]; j < S_diag_i[i1+1]; j++) |
945: { |
946: j1 = S_diag_j[j]; |
947: if (assigned[j1] == pass-1) |
948: { |
949: j_start = P_diag_start[j1]; |
950: j_end = j_start+P_diag_i[j1+1]; |
951: for (k=j_start; k < j_end; k++) |
952: { |
953: k1 = P_diag_pass[pass-1][k]; |
954: if (P_marker[k1] != i1) |
955: { |
956: cnt_nz++; |
957: P_diag_i[i1+1]++; |
958: P_marker[k1] = i1; |
959: } |
960: } |
961: j_start = P_offd_start[j1]; |
962: j_end = j_start+P_offd_i[j1+1]; |
963: for (k=j_start; k < j_end; k++) |
964: { |
965: k1 = P_offd_pass[pass-1][k]; |
966: if (P_marker_offd[k1] != i1) |
967: { |
968: cnt_nz_offd++; |
969: P_offd_i[i1+1]++; |
970: P_marker_offd[k1] = i1; |
[...] |
976: for (j=S_offd_i[i1]; j < S_offd_i[i1+1]; j++) |
977: { |
978: j1 = S_offd_j[j]; |
979: if (assigned_offd[j1] == pass-1) |
980: { |
981: j_start = Pext_start[j1]; |
982: j_end = j_start+Pext_i[j1+1]; |
983: for (k=j_start; k < j_end; k++) |
984: { |
985: k1 = Pext_pass[pass][k]; |
986: if (k1 < 0) |
987: { |
988: if (P_marker[-k1-1] != i1) |
989: { |
990: cnt_nz++; |
991: P_diag_i[i1+1]++; |
992: P_marker[-k1-1] = i1; |
993: } |
994: } |
995: else if (P_marker_offd[k1] != i1) |
996: { |
997: cnt_nz_offd++; |
Path / |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 8.00 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.17 |
Bottlenecks | P2, P3, P11, |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source | par_multi_interp.c:939-944,par_multi_interp.c:947-947,par_multi_interp.c:970-970,par_multi_interp.c:976-976 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 4.67 |
CQA cycles if no scalar integer | 4.67 |
CQA cycles if FP arith vectorized | 4.67 |
CQA cycles if fully vectorized | 0.58 |
Front-end cycles | 4.00 |
DIV/SQRT cycles | 1.00 |
P0 cycles | 0.80 |
P1 cycles | 4.67 |
P2 cycles | 4.67 |
P3 cycles | 2.00 |
P4 cycles | 0.60 |
P5 cycles | 1.00 |
P6 cycles | 2.00 |
P7 cycles | 2.00 |
P8 cycles | 2.00 |
P9 cycles | 0.60 |
P10 cycles | 4.67 |
P11 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | 5.51 |
Stall cycles (UFS) | 1.36 |
Nb insns | 23.00 |
Nb uops | 23.00 |
Nb loads | 14.00 |
Nb stores | 4.00 |
Nb stack references | 9.00 |
FLOP/cycle | 0.00 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 0.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 30.86 |
Bytes prefetched | 0.00 |
Bytes loaded | 112.00 |
Bytes stored | 32.00 |
Stride 0 | NA |
Stride 1 | NA |
Stride n | NA |
Stride unknown | NA |
Stride indirect | NA |
Vectorization ratio all | 0.00 |
Vectorization ratio load | 0.00 |
Vectorization ratio store | 0.00 |
Vectorization ratio mul | NA |
Vectorization ratio add_sub | NA |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 0.00 |
Vector-efficiency ratio all | 12.50 |
Vector-efficiency ratio load | 12.50 |
Vector-efficiency ratio store | 12.50 |
Vector-efficiency ratio mul | NA |
Vector-efficiency ratio add_sub | NA |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 12.50 |
Metric | Value |
---|---|
CQA speedup if no scalar integer | 1.00 |
CQA speedup if FP arith vectorized | 1.00 |
CQA speedup if fully vectorized | 8.00 |
CQA speedup if no inter-iteration dependency | NA |
CQA speedup if next bottleneck killed | 1.17 |
Bottlenecks | P2, P3, P11, |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source | par_multi_interp.c:939-944,par_multi_interp.c:947-947,par_multi_interp.c:970-970,par_multi_interp.c:976-976 |
Source loop unroll info | NA |
Source loop unroll confidence level | NA |
Unroll/vectorization loop type | NA |
Unroll factor | NA |
CQA cycles | 4.67 |
CQA cycles if no scalar integer | 4.67 |
CQA cycles if FP arith vectorized | 4.67 |
CQA cycles if fully vectorized | 0.58 |
Front-end cycles | 4.00 |
DIV/SQRT cycles | 1.00 |
P0 cycles | 0.80 |
P1 cycles | 4.67 |
P2 cycles | 4.67 |
P3 cycles | 2.00 |
P4 cycles | 0.60 |
P5 cycles | 1.00 |
P6 cycles | 2.00 |
P7 cycles | 2.00 |
P8 cycles | 2.00 |
P9 cycles | 0.60 |
P10 cycles | 4.67 |
P11 cycles | 0.00 |
Inter-iter dependencies cycles | NA |
FE+BE cycles (UFS) | 5.51 |
Stall cycles (UFS) | 1.36 |
Nb insns | 23.00 |
Nb uops | 23.00 |
Nb loads | 14.00 |
Nb stores | 4.00 |
Nb stack references | 9.00 |
FLOP/cycle | 0.00 |
Nb FLOP add-sub | 0.00 |
Nb FLOP mul | 0.00 |
Nb FLOP fma | 0.00 |
Nb FLOP div | 0.00 |
Nb FLOP rcp | 0.00 |
Nb FLOP sqrt | 0.00 |
Nb FLOP rsqrt | 0.00 |
Bytes/cycle | 30.86 |
Bytes prefetched | 0.00 |
Bytes loaded | 112.00 |
Bytes stored | 32.00 |
Stride 0 | NA |
Stride 1 | NA |
Stride n | NA |
Stride unknown | NA |
Stride indirect | NA |
Vectorization ratio all | 0.00 |
Vectorization ratio load | 0.00 |
Vectorization ratio store | 0.00 |
Vectorization ratio mul | NA |
Vectorization ratio add_sub | NA |
Vectorization ratio fma | NA |
Vectorization ratio div_sqrt | NA |
Vectorization ratio other | 0.00 |
Vector-efficiency ratio all | 12.50 |
Vector-efficiency ratio load | 12.50 |
Vector-efficiency ratio store | 12.50 |
Vector-efficiency ratio mul | NA |
Vector-efficiency ratio add_sub | NA |
Vector-efficiency ratio fma | NA |
Vector-efficiency ratio div_sqrt | NA |
Vector-efficiency ratio other | 12.50 |
Path / |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source file and lines | par_multi_interp.c:917-997 |
Module | exec |
nb instructions | 23 |
nb uops | 23 |
loop length | 113 |
used x86 registers | 8 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 9 |
micro-operation queue | 4.00 cycles |
front end | 4.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 0.80 | 4.67 | 4.67 | 2.00 | 0.60 | 1.00 | 2.00 | 2.00 | 2.00 | 0.60 | 4.67 |
cycles | 1.00 | 0.80 | 4.67 | 4.67 | 2.00 | 0.60 | 1.00 | 2.00 | 2.00 | 2.00 | 0.60 | 4.67 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 5.51 |
Stall cycles | 1.36 |
LM full (events) | 4.48 |
Front-end | 4.00 |
Dispatch | 4.67 |
Overall L1 | 4.67 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 0% |
all | 12% |
load | 12% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 12% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV -0xc8(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
INC %RSI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP -0xd0(%RBP),%RSI | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 4436bd <hypre_BoomerAMGBuildMultipass.extracted.34+0x67d> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV -0x168(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RSI,-0xc8(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV (%RDX,%RSI,8),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0x48(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,(%RSI,%R8,8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV -0x50(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RCX,(%RDX,%R8,8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV -0x98(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%R8,8),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CMP 0x8(%RDX,%R8,8),%RDI | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 4435d0 <hypre_BoomerAMGBuildMultipass.extracted.34+0x590> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV -0x108(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R9,-0x70(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 443341 <hypre_BoomerAMGBuildMultipass.extracted.34+0x301> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
MOV -0x90(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RSI,%R8,8),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x8(%RSI,%R8,8),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JMP 4435ff <hypre_BoomerAMGBuildMultipass.extracted.34+0x5bf> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
Function | hypre_BoomerAMGBuildMultipass.extracted.34 |
Source file and lines | par_multi_interp.c:917-997 |
Module | exec |
nb instructions | 23 |
nb uops | 23 |
loop length | 113 |
used x86 registers | 8 |
used mmx registers | 0 |
used xmm registers | 0 |
used ymm registers | 0 |
used zmm registers | 0 |
nb stack references | 9 |
micro-operation queue | 4.00 cycles |
front end | 4.00 cycles |
P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | |
---|---|---|---|---|---|---|---|---|---|---|---|---|
uops | 1.00 | 0.80 | 4.67 | 4.67 | 2.00 | 0.60 | 1.00 | 2.00 | 2.00 | 2.00 | 0.60 | 4.67 |
cycles | 1.00 | 0.80 | 4.67 | 4.67 | 2.00 | 0.60 | 1.00 | 2.00 | 2.00 | 2.00 | 0.60 | 4.67 |
Cycles executing div or sqrt instructions | NA |
FE+BE cycles | 5.51 |
Stall cycles | 1.36 |
LM full (events) | 4.48 |
Front-end | 4.00 |
Dispatch | 4.67 |
Overall L1 | 4.67 |
all | 0% |
load | 0% |
store | 0% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 0% |
all | 12% |
load | 12% |
store | 12% |
mul | NA (no mul vectorizable/vectorized instructions) |
add-sub | NA (no add-sub vectorizable/vectorized instructions) |
fma | NA (no fma vectorizable/vectorized instructions) |
div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
other | 12% |
Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | Latency | Recip. throughput |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
MOV -0xc8(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
INC %RSI | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 |
CMP -0xd0(%RBP),%RSI | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 4436bd <hypre_BoomerAMGBuildMultipass.extracted.34+0x67d> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV -0x168(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RSI,-0xc8(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV (%RDX,%RSI,8),%R8 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV -0x48(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,(%RSI,%R8,8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV -0x50(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RCX,(%RDX,%R8,8) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
MOV -0x98(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX,%R8,8),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CMP 0x8(%RDX,%R8,8),%RDI | 1 | 0.20 | 0.20 | 0.33 | 0.33 | 0 | 0.20 | 0.20 | 0 | 0 | 0 | 0.20 | 0.33 | 1 | 0.33 |
JGE 4435d0 <hypre_BoomerAMGBuildMultipass.extracted.34+0x590> | 1 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0.50 |
MOV -0x108(%RBP),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RDX),%R9 | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %R9,-0x70(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 443341 <hypre_BoomerAMGBuildMultipass.extracted.34+0x301> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
MOV -0x90(%RBP),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV (%RSI,%R8,8),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV 0x8(%RSI,%R8,8),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
JMP 4435ff <hypre_BoomerAMGBuildMultipass.extracted.34+0x5bf> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |