0.00 100.00+0 ecom (first set - second set)

---------------------------------------------

Function Details

Each instruction bundle shown in a Function Details table consists of four rows of data. The top row for the instruction bundle shows data totals for the bundle. The remaining rows show per-instruction data. The bundles shown may or may not be contiguous.

You can use the -r(--report-details) option to specify whether reports should contain function source (-rs), instructions (-ri), or both (-ra).

Use the --context-linesoption to control how much source or disassembly, or both to display.

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 24 (page 109) shows a disassembly listing in a report.

Figure 24 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

Function Details 109