| Function: sortAtomsById | Module: exec | Source: haloExchange.c:653-661 | Coverage (incl. loops): 0.12% | (excl. loops): 0.12% |
|---|
| Function: sortAtomsById | Module: exec | Source: haloExchange.c:653-661 | Coverage (incl. loops): 0.12% | (excl. loops): 0.12% |
|---|
/home/hbollore/qaas/qaas-runs/174-108-7908/intel/CoMD/build/CoMD/CoMD/src-openmp/haloExchange.c: 653 - 661 |
-------------------------------------------------------------------------------- |
653: { |
654: int aId = ((AtomMsg*) a)->gid; |
655: int bId = ((AtomMsg*) b)->gid; |
656: assert(aId != bId); |
657: |
658: if (aId < bId) |
659: return -1; |
660: return 1; |
661: } |
0x406ec0 LDR W2, [X0] |
0x406ec4 LDR W0, [X1] |
0x406ec8 CMP W2, W0 |
0x406ecc B.EQ 406edc |
0x406ed0 MOVZ W6, #1 |
0x406ed4 CSINV W0, W6, WZR, #10 |
0x406ed8 RET |
0x406edc ADRP X3, |
0x406ee0 ADRP X1, |
0x406ee4 STP X29, X30, [SP, #1008]! |
0x406ee8 ADD X4, X3, #1208 |
0x406eec ADRP X5, |
0x406ef0 ADD X29, SP, #0 |
0x406ef4 ADD X3, X4, #24 |
0x406ef8 ADD X1, X1, #624 |
0x406efc ADD X0, X5, #792 |
0x406f00 MOVZ W2, #656 |
0x406f04 BL 402700 |
| Coverage (%) | Name | Source Location | Module |
|---|---|---|---|
| ►3.62+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.90+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.90+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.17+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.17+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.17+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.17+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►2.17+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 | |
| ►1.45+ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | msort_with_tmp.part.0 | libc.so.6 | |
| ○ | __GI___qsort_r | libc.so.6 | |
| ○ | sortAtomsInCell | haloExchange.c:633 | exec |
| ○ | redistributeAtoms._omp_fn.0 | timestep.c:154 | exec |
| ○ | gomp_thread_start | team.c:130 | libgomp.so.1.0.0 |
| ○ | start_thread | libc.so.6 | |
| ○ | thread_start | libc.so.6 |
| min | med | avg | max |
|---|---|---|---|
| Percentile Index | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|
| Value |
| min | med | avg | max |
|---|---|---|---|
| Percentile Index | 10 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 |
|---|---|---|---|---|---|---|---|---|---|---|
| Value |
| Path / |
The code analyzed by CQA in that panel excludes loops and represents 0.12% of application time for run gcc_1
| Source file and lines | haloExchange.c:653-661 |
| Module | exec |
| nb instructions | 16.50 |
| loop length | 66 |
| nb stack references | 0 |
| front end | 2.06 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.25 | 1.25 | 2.25 | 2.25 | 2.17 | 2.17 | 2.08 | 2.08 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
| cycles | 1.25 | 1.25 | 2.25 | 2.25 | 2.17 | 2.17 | 2.08 | 2.08 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 2.06 |
| Overall L1 | 2.25 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
The code analyzed by CQA in that panel excludes loops and represents 0.12% of application time for run gcc_1
| Source file and lines | haloExchange.c:653-661 |
| Module | exec |
| nb instructions | 18 |
| loop length | 72 |
| nb stack references | 0 |
| front end | 2.25 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.50 | 1.50 | 2.42 | 2.42 | 2.33 | 2.33 | 2.25 | 2.25 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
| cycles | 1.50 | 1.50 | 2.42 | 2.42 | 2.33 | 2.33 | 2.25 | 2.25 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 2.25 |
| Overall L1 | 2.42 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | Latency | Recip. throughput | Vectorization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LDR W2, [X0] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 | scal (25.0%) |
| LDR W0, [X1] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 | N/A |
| CMP W2, W0 | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | scal (25.0%) |
| B.EQ 406edc <sortAtomsById+0x1c> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| MOVZ W6, #1 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (25.0%) |
| CSINV W0, W6, WZR, #10 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | N/A |
| RET | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| ADRP X3, <410edc> | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (50.0%) |
| ADRP X1, <40fee0> | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
| STP X29, X30, [SP, #1008]! | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (100.0%) |
| ADD X4, X3, #1208 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (50.0%) |
| ADRP X5, <40feec> | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
| ADD X29, SP, #0 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (50.0%) |
| ADD X3, X4, #24 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (50.0%) |
| ADD X1, X1, #624 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | N/A |
| ADD X0, X5, #792 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | N/A |
| MOVZ W2, #656 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (25.0%) |
| BL 402700 <@plt_start@+0x1c0> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
The code analyzed by CQA in that panel excludes loops and represents 0.12% of application time for run gcc_1
| Source file and lines | haloExchange.c:653-661 |
| Module | exec |
| nb instructions | 15 |
| loop length | 60 |
| nb stack references | 0 |
| front end | 1.88 cycles |
| P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| uops | 1.00 | 1.00 | 2.08 | 2.08 | 2.00 | 2.00 | 1.92 | 1.92 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
| cycles | 1.00 | 1.00 | 2.08 | 2.08 | 2.00 | 2.00 | 1.92 | 1.92 | 0.00 | 0.00 | 0.00 | 0.00 | 1.17 | 0.83 | 1.00 | 0.50 | 0.50 |
| Cycles executing div or sqrt instructions | NA |
| Front-end | 1.88 |
| Overall L1 | 2.08 |
| all | 0% |
| load | 0% |
| store | 0% |
| mul | NA (no mul vectorizable/vectorized instructions) |
| add-sub | 0% |
| fma | NA (no fma vectorizable/vectorized instructions) |
| div/sqrt | NA (no div/sqrt vectorizable/vectorized instructions) |
| other | 0% |
| Instruction | Nb FU | P0 | P1 | P2 | P3 | P4 | P5 | P6 | P7 | P8 | P9 | P10 | P11 | P12 | P13 | P14 | P15 | P16 | Latency | Recip. throughput | Vectorization |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| LDR W2, [X0] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 | scal (25.0%) |
| LDR W0, [X1] | 1 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0.33 | 0.33 | 0.33 | 0 | 0 | 4 | 0.33 | N/A |
| CMP W2, W0 | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.33 | scal (25.0%) |
| B.EQ 406edc <sortAtomsById+0x1c> | 1 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| ADRP X3, <410edc> | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | scal (50.0%) |
| ADRP X1, <40fee0> | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
| STP X29, X30, [SP, #1008]! | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0.50 | 0.50 | 0 | 0.50 | 0.50 | 1 | 0.50 | scal (100.0%) |
| ADD X4, X3, #1208 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (50.0%) |
| ADRP X5, <40feec> | 1 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0.25 | 0.25 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.25 | N/A |
| ADD X29, SP, #0 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (50.0%) |
| ADD X3, X4, #24 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (50.0%) |
| ADD X1, X1, #624 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | N/A |
| ADD X0, X5, #792 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | N/A |
| MOVZ W2, #656 | 1 | 0 | 0 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0.17 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.17 | scal (25.0%) |
| BL 402700 <@plt_start@+0x1c0> | 1 | 0.50 | 0.50 | 0.50 | 0.50 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0.50 | N/A |
| Name | Coverage (%) | Time (s) |
|---|---|---|
| ○sortAtomsById | 0.12 | 0.01 |
