Loop Id: 847 | Module: exec | Source: par_multi_interp.c:917-997 [...] | Coverage: 0.06% |
---|
Loop Id: 847 | Module: exec | Source: par_multi_interp.c:917-997 [...] | Coverage: 0.06% |
---|
0x440ad0 MOV -0xc0(%RBP),%RSI |
0x440ad7 INC %RSI |
0x440ada CMP -0xc8(%RBP),%RSI |
0x440ae1 JGE 440ecd |
0x440ae7 MOV -0x168(%RBP),%RDX |
0x440aee MOV %RSI,-0xc0(%RBP) |
0x440af5 MOV (%RDX,%RSI,8),%R8 |
0x440af9 MOV -0x58(%RBP),%RDI |
0x440afd MOV %RAX,(%RDI,%R8,8) |
0x440b01 MOV -0x50(%RBP),%RDX |
0x440b05 MOV %RCX,(%RDX,%R8,8) |
0x440b09 MOV -0x90(%RBP),%RDX |
0x440b10 MOV (%RDX,%R8,8),%RSI |
0x440b14 CMP 0x8(%RDX,%R8,8),%RSI |
0x440b19 JGE 440de0 |
0x440b1f MOV -0x108(%RBP),%RDX |
0x440b26 MOV (%RDX),%RDX |
0x440b29 MOV %RDX,-0x38(%RBP) |
0x440b2d JMP 440b4d |
(850) 0x440b30 MOV -0x58(%RBP),%RDI |
(850) 0x440b34 MOV -0x40(%RBP),%RSI |
(850) 0x440b38 INC %RSI |
(850) 0x440b3b MOV -0x90(%RBP),%RDX |
(850) 0x440b42 CMP 0x8(%RDX,%R8,8),%RSI |
(850) 0x440b47 JGE 440de0 |
(850) 0x440b4d MOV -0x130(%RBP),%RDX |
(850) 0x440b54 MOV (%RDX,%RSI,8),%R10 |
(850) 0x440b58 MOV (%R14),%RDX |
(850) 0x440b5b DEC %RDX |
(850) 0x440b5e MOV -0x38(%RBP),%R9 |
(850) 0x440b62 CMP %RDX,(%R9,%R10,8) |
(850) 0x440b66 JNE 440b38 |
(850) 0x440b68 MOV %RSI,-0x40(%RBP) |
(850) 0x440b6c MOV -0xe0(%RBP),%RDX |
(850) 0x440b73 MOV (%RDX),%RDX |
(850) 0x440b76 MOV 0x8(%RDX,%R10,8),%RSI |
(850) 0x440b7b TEST %RSI,%RSI |
(850) 0x440b7e JLE 440cad |
(850) 0x440b84 MOV %R10,-0x30(%RBP) |
(850) 0x440b88 MOV (%RDI,%R10,8),%RDI |
(850) 0x440b8c ADD %RDI,%RSI |
(850) 0x440b8f MOV -0x98(%RBP),%R9 |
(850) 0x440b96 MOV (%R9),%R12 |
(850) 0x440b99 LEA 0x1(%RDI),%R9 |
(850) 0x440b9d CMP %R9,%RSI |
(850) 0x440ba0 CMOVLE %R9,%RSI |
(850) 0x440ba4 MOV %RSI,%R13 |
(850) 0x440ba7 SUB %RDI,%R13 |
(850) 0x440baa CMP $0x4,%R13 |
(850) 0x440bae MOV %R13,-0xd8(%RBP) |
(850) 0x440bb5 JAE 440c0c |
(850) 0x440bb7 MOV -0xd8(%RBP),%R10 |
(850) 0x440bbe MOV %R10,%R9 |
(850) 0x440bc1 AND $-0x4,%R9 |
(850) 0x440bc5 CMP %R10,%R9 |
(850) 0x440bc8 JAE 440ca9 |
(850) 0x440bce ADD %R9,%RDI |
(850) 0x440bd1 MOV -0x30(%RBP),%R10 |
(850) 0x440bd5 JMP 440bec |
(853) 0x440be0 INC %RDI |
(853) 0x440be3 CMP %RDI,%RSI |
(853) 0x440be6 JE 440cad |
(853) 0x440bec MOV (%R14),%R9 |
(853) 0x440bef MOV -0x8(%R12,%R9,8),%R9 |
(853) 0x440bf4 MOV (%R9,%RDI,8),%R9 |
(853) 0x440bf8 CMP %R8,(%RBX,%R9,8) |
(853) 0x440bfc JE 440be0 |
(853) 0x440bfe INC %RAX |
(853) 0x440c01 INCQ 0x8(%RDX,%R8,8) |
(853) 0x440c06 MOV %R8,(%RBX,%R9,8) |
(853) 0x440c0a JMP 440be0 |
(850) 0x440c0c SHR $0x2,%R13 |
(850) 0x440c10 LEA (,%RDI,8),%R10 |
(850) 0x440c18 JMP 440c29 |
(854) 0x440c20 ADD $0x20,%R10 |
(854) 0x440c24 DEC %R13 |
(854) 0x440c27 JE 440bb7 |
(854) 0x440c29 MOV (%R14),%R9 |
(854) 0x440c2c MOV -0x8(%R12,%R9,8),%R11 |
(854) 0x440c31 MOV (%R11,%R10,1),%R9 |
(854) 0x440c35 CMP %R8,(%RBX,%R9,8) |
(854) 0x440c39 JE 440c4f |
(854) 0x440c3b INCQ 0x8(%RDX,%R8,8) |
(854) 0x440c40 INC %RAX |
(854) 0x440c43 MOV %R8,(%RBX,%R9,8) |
(854) 0x440c47 MOV (%R14),%R9 |
(854) 0x440c4a MOV -0x8(%R12,%R9,8),%R11 |
(854) 0x440c4f MOV 0x8(%R11,%R10,1),%R9 |
(854) 0x440c54 CMP %R8,(%RBX,%R9,8) |
(854) 0x440c58 JE 440c6e |
(854) 0x440c5a INCQ 0x8(%RDX,%R8,8) |
(854) 0x440c5f INC %RAX |
(854) 0x440c62 MOV %R8,(%RBX,%R9,8) |
(854) 0x440c66 MOV (%R14),%R9 |
(854) 0x440c69 MOV -0x8(%R12,%R9,8),%R11 |
(854) 0x440c6e MOV 0x10(%R11,%R10,1),%R9 |
(854) 0x440c73 CMP %R8,(%RBX,%R9,8) |
(854) 0x440c77 JE 440c8d |
(854) 0x440c79 INCQ 0x8(%RDX,%R8,8) |
(854) 0x440c7e INC %RAX |
(854) 0x440c81 MOV %R8,(%RBX,%R9,8) |
(854) 0x440c85 MOV (%R14),%R9 |
(854) 0x440c88 MOV -0x8(%R12,%R9,8),%R11 |
(854) 0x440c8d MOV 0x18(%R11,%R10,1),%R9 |
(854) 0x440c92 CMP %R8,(%RBX,%R9,8) |
(854) 0x440c96 JE 440c20 |
(854) 0x440c98 INC %RAX |
(854) 0x440c9b INCQ 0x8(%RDX,%R8,8) |
(854) 0x440ca0 MOV %R8,(%RBX,%R9,8) |
(854) 0x440ca4 JMP 440c20 |
(850) 0x440ca9 MOV -0x30(%RBP),%R10 |
(850) 0x440cad MOV -0xe8(%RBP),%RDX |
(850) 0x440cb4 MOV (%RDX),%RDX |
(850) 0x440cb7 MOV 0x8(%RDX,%R10,8),%RSI |
(850) 0x440cbc TEST %RSI,%RSI |
(850) 0x440cbf JLE 440b30 |
(850) 0x440cc5 MOV -0x50(%RBP),%RDI |
(850) 0x440cc9 MOV (%RDI,%R10,8),%RDI |
(850) 0x440ccd ADD %RDI,%RSI |
(850) 0x440cd0 MOV -0x70(%RBP),%R9 |
(850) 0x440cd4 MOV (%R9),%R11 |
(850) 0x440cd7 LEA 0x1(%RDI),%R9 |
(850) 0x440cdb CMP %R9,%RSI |
(850) 0x440cde CMOVLE %R9,%RSI |
(850) 0x440ce2 MOV %RSI,%R9 |
(850) 0x440ce5 SUB %RDI,%R9 |
(850) 0x440ce8 CMP $0x4,%R9 |
(850) 0x440cec MOV %R9,-0x30(%RBP) |
(850) 0x440cf0 JAE 440d3c |
(850) 0x440cf2 MOV -0x30(%RBP),%R10 |
(850) 0x440cf6 MOV %R10,%R9 |
(850) 0x440cf9 AND $-0x4,%R9 |
(850) 0x440cfd CMP %R10,%R9 |
(850) 0x440d00 JAE 440b30 |
(850) 0x440d06 ADD %R9,%RDI |
(850) 0x440d09 JMP 440d1c |
(851) 0x440d10 INC %RDI |
(851) 0x440d13 CMP %RDI,%RSI |
(851) 0x440d16 JE 440b30 |
(851) 0x440d1c MOV (%R14),%R9 |
(851) 0x440d1f MOV -0x8(%R11,%R9,8),%R9 |
(851) 0x440d24 MOV (%R9,%RDI,8),%R9 |
(851) 0x440d28 CMP %R8,(%R15,%R9,8) |
(851) 0x440d2c JE 440d10 |
(851) 0x440d2e INC %RCX |
(851) 0x440d31 INCQ 0x8(%RDX,%R8,8) |
(851) 0x440d36 MOV %R8,(%R15,%R9,8) |
(851) 0x440d3a JMP 440d10 |
(850) 0x440d3c MOV %R9,%R10 |
(850) 0x440d3f SHR $0x2,%R10 |
(850) 0x440d43 LEA (,%RDI,8),%R13 |
(850) 0x440d4b JMP 440d59 |
(852) 0x440d50 ADD $0x20,%R13 |
(852) 0x440d54 DEC %R10 |
(852) 0x440d57 JE 440cf2 |
(852) 0x440d59 MOV (%R14),%R9 |
(852) 0x440d5c MOV -0x8(%R11,%R9,8),%R12 |
(852) 0x440d61 MOV (%R12,%R13,1),%R9 |
(852) 0x440d65 CMP %R8,(%R15,%R9,8) |
(852) 0x440d69 JE 440d7f |
(852) 0x440d6b INCQ 0x8(%RDX,%R8,8) |
(852) 0x440d70 INC %RCX |
(852) 0x440d73 MOV %R8,(%R15,%R9,8) |
(852) 0x440d77 MOV (%R14),%R9 |
(852) 0x440d7a MOV -0x8(%R11,%R9,8),%R12 |
(852) 0x440d7f MOV 0x8(%R12,%R13,1),%R9 |
(852) 0x440d84 CMP %R8,(%R15,%R9,8) |
(852) 0x440d88 JE 440d9e |
(852) 0x440d8a INCQ 0x8(%RDX,%R8,8) |
(852) 0x440d8f INC %RCX |
(852) 0x440d92 MOV %R8,(%R15,%R9,8) |
(852) 0x440d96 MOV (%R14),%R9 |
(852) 0x440d99 MOV -0x8(%R11,%R9,8),%R12 |
(852) 0x440d9e MOV 0x10(%R12,%R13,1),%R9 |
(852) 0x440da3 CMP %R8,(%R15,%R9,8) |
(852) 0x440da7 JE 440dbd |
(852) 0x440da9 INCQ 0x8(%RDX,%R8,8) |
(852) 0x440dae INC %RCX |
(852) 0x440db1 MOV %R8,(%R15,%R9,8) |
(852) 0x440db5 MOV (%R14),%R9 |
(852) 0x440db8 MOV -0x8(%R11,%R9,8),%R12 |
(852) 0x440dbd MOV 0x18(%R12,%R13,1),%R9 |
(852) 0x440dc2 CMP %R8,(%R15,%R9,8) |
(852) 0x440dc6 JE 440d50 |
(852) 0x440dc8 INC %RCX |
(852) 0x440dcb INCQ 0x8(%RDX,%R8,8) |
(852) 0x440dd0 MOV %R8,(%R15,%R9,8) |
(852) 0x440dd4 JMP 440d50 |
0x440de0 MOV -0x88(%RBP),%RSI |
0x440de7 MOV (%RSI,%R8,8),%RDX |
0x440deb MOV 0x8(%RSI,%R8,8),%RDI |
0x440df0 JMP 440e0f |
(848) 0x440e00 MOV -0x88(%RBP),%RSI |
(848) 0x440e07 MOV 0x8(%RSI,%R8,8),%RDI |
(848) 0x440e0c INC %RDX |
(848) 0x440e0f CMP %RDI,%RDX |
(848) 0x440e12 JGE 440ad0 |
(848) 0x440e18 MOV -0x138(%RBP),%RSI |
(848) 0x440e1f MOV (%RSI,%RDX,8),%R9 |
(848) 0x440e23 MOV (%R14),%RSI |
(848) 0x440e26 DEC %RSI |
(848) 0x440e29 MOV -0x128(%RBP),%R10 |
(848) 0x440e30 CMP %RSI,(%R10,%R9,8) |
(848) 0x440e34 JNE 440e0c |
(848) 0x440e36 MOV -0x120(%RBP),%RSI |
(848) 0x440e3d MOV 0x8(%RSI,%R9,8),%RSI |
(848) 0x440e42 TEST %RSI,%RSI |
(848) 0x440e45 JLE 440e0c |
(848) 0x440e47 MOV -0x110(%RBP),%RDI |
(848) 0x440e4e MOV (%RDI,%R9,8),%RDI |
(848) 0x440e52 ADD %RDI,%RSI |
(848) 0x440e55 MOV -0x118(%RBP),%R9 |
(848) 0x440e5c MOV (%R9),%R9 |
(848) 0x440e5f JMP 440e87 |
(849) 0x440e70 MOV (%R11),%R11 |
(849) 0x440e73 INCQ 0x8(%R11,%R8,8) |
(849) 0x440e78 MOV %R8,(%R10) |
(849) 0x440e7b INC %RDI |
(849) 0x440e7e CMP %RSI,%RDI |
(849) 0x440e81 JGE 440e00 |
(849) 0x440e87 MOV (%R14),%R10 |
(849) 0x440e8a MOV (%R9,%R10,8),%R10 |
(849) 0x440e8e MOV (%R10,%RDI,8),%R10 |
(849) 0x440e92 TEST %R10,%R10 |
(849) 0x440e95 JS 440eb0 |
(849) 0x440e97 CMP %R8,(%R15,%R10,8) |
(849) 0x440e9b JE 440e7b |
(849) 0x440e9d LEA (%R15,%R10,8),%R10 |
(849) 0x440ea1 INC %RCX |
(849) 0x440ea4 MOV -0xe8(%RBP),%R11 |
(849) 0x440eab JMP 440e70 |
(849) 0x440eb0 NOT %R10 |
(849) 0x440eb3 CMP %R8,(%RBX,%R10,8) |
(849) 0x440eb7 JE 440e7b |
(849) 0x440eb9 LEA (%RBX,%R10,8),%R10 |
(849) 0x440ebd INC %RAX |
(849) 0x440ec0 MOV -0xe0(%RBP),%R11 |
(849) 0x440ec7 JMP 440e70 |
/home/eoseret/qaas_runs_CPU_9468/171-586-9096/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 | 7 |
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 -0xc0(%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 -0xc8(%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 440ecd <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,-0xc0(%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 -0x58(%RBP),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,(%RDI,%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 -0x90(%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),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CMP 0x8(%RDX,%R8,8),%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 440de0 <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),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RDX,-0x38(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 440b4d <hypre_BoomerAMGBuildMultipass.extracted.34+0x2fd> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
MOV -0x88(%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 440e0f <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 | 7 |
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 -0xc0(%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 -0xc8(%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 440ecd <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,-0xc0(%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 -0x58(%RBP),%RDI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RAX,(%RDI,%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 -0x90(%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),%RSI | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
CMP 0x8(%RDX,%R8,8),%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 440de0 <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),%RDX | 1 | 0 | 0 | 0.33 | 0.33 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 1 | 0.33 |
MOV %RDX,-0x38(%RBP) | 1 | 0 | 0 | 0 | 0 | 0.50 | 0 | 0 | 0.50 | 0.50 | 0.50 | 0 | 0 | 1 | 0.50 |
JMP 440b4d <hypre_BoomerAMGBuildMultipass.extracted.34+0x2fd> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |
MOV -0x88(%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 440e0f <hypre_BoomerAMGBuildMultipass.extracted.34+0x5bf> | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 5.84 |