HP Caliper User's Guide

Disassembly Listing
A PMU histogram report gives a disassembly listing, which is a source listing with
disassembly code for the top performance bottlenecks.
The disassembly listing is not provided by default. To see it, you must use the -r
(--report-details) option. Specify -ri (instructions) or -ra (all).
Figure 9-1 “Disassembly Listing Example” shows a disassembly listing in a report.
Figure 9-1 Disassembly Listing Example
Function Details
---------------------------------------------------
%Total Line|
IP IP Slot| >Statement|
Samples Samples Col,Offset Instruction
---------------------------------------------------
31.11 [wordplay::extract, 0x4007d30, wordplay.c]
201 1052 Function Totals
------------------------------------------
[wordplay.c]
4 1074 > s1p = t1;
4 3,0x0040:0 adds r34=0,r44;;
:1 adds r47=0,r34
:2 nop.i 0
1 1075 > s1len = (int) strlen (s1p);
1 6,0x0060:0 adds r40=0,r8;;
:1 add r37=r40,r34
:2 adds r35=0,r33
4 1079 > s2len = (int) strlen (s2);
4 6,0x0080:0 adds r41=0,r8;;
:1 add r38=r41,r35
:2 adds r35=0,r33 ;;
10 1082 *> for (s2p = s2; s2p < s2end;s2p++)
1 7,0x0090:0 cmp4.ltu p0,p6=r35,r38
:1 nop.m 0
:2 (p6) br.dptk .+0x180 ;;
1 7,0x00a0:0 nop.m 0
Disassembly listings show instruction templates and symbolic representations of branch
targets. You also have the option to include a mark (colon) before instructions that are
the target of a branch instruction.
Intraprocedural branch targets are shown as:
{self}+offset
where offset is an offset from the start of the procedure.
Interprocedural branch targets within the same load module are shown as:
procedure_name+0x0
When a branch target is a stub, the target is simply shown as *STUB@address*.
Disassembly Listing 143