In some cases, there are performance advantages to aligning instructions or data to
In each case below, the performance implication is given by an
A.2 Instruction-Stream Considerations
The following sections describe considerations for the instruction stream.
A.2.1 Instruction Alignment
Code PSECTs should be octaword aligned. Targets of frequently taken branches should be at least quadword aligned, and octaword aligned for very frequent loops. Compilers could use execution profiles to identify frequently taken branches.
Quadword
A.2.2 Branch Prediction and Minimizing Branch-Taken — Factor of 3
In many Alpha implementations, an unexpected change in
Compilers should follow these rules to minimize unexpected branches:
1.Branch prediction is implementation specific. Based on execution profiles, compilers should physically rearrange code so that it has matching behavior.
2.Make basic blocks as big as possible. A good goal is 20 instructions on average between
3.In an