1. A method for monitoring processing of branch instructions in a computer system, the method comprising: responsive to a branch being taken for a first branch instruction that is conditional and direct in the branch instructions, storing, by a performance monitoring unit, an effective address of the first branch instruction into a first entry in a set of entries in a memory; counting, by the performance monitoring unit, each branch not taken in processing branch instructions occurring after the first branch instruction to form a branch count; responsive to a branch being taken during processing of subsequent branch instructions in the branch instructions occurring after the first branch instruction, determining, by the performance monitoring unit, whether to create a second entry in the set of entries in the memory using the branch count with a set of rules identifying when the second entry is to be made; responsive to a determination to create the second entry: i) creating, by the performance monitoring unit, the second entry in the set of entries in the memory; and ii) storing, by the performance monitoring unit, the branch count and an indication the branch was taken during processing of subsequent branch instructions for a subsequent branch instruction in the second entry.