5.3. Program Branching

The Itanium architecture gives programmers and compilers control over logical program flow through predication of a basic branch instruction. The value set into the Itanium predicate registers by compare instructions can predicate most types of instructions, determining which are executed. (Exceptions are flagged with the ‡ symbol in the listings of Itanium instructions in Appendix C.)

In the sample programs already presented, we have shown one form of an unconditional branch instruction (br.ret.sptk.many) just below the label done. This form is technically not a branch; instead, it performs a function return, something that is explained more fully in Chapter 7.

5.3.1. Ordinary Branch Instructions

Under the generic rubric ...

Get Itanium® Architecture for Programmers: Understanding 64-Bit Processors and EPIC Principles now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.