Bundles

Itanium(TM) architecture instructions are grouped together in 128-bit aligned containers called bundles. Each bundle contains three 41-bit instruction

slots, and a 5-bit template field. The template field specifies which type of execution unit processes each instruction in the bundle. Bit 0 is set to 1 if

there is a stop at the end of a bundle. There is no fixed relation between the boundaries of an instruction group and the boundaries of a bundle.

Figure below illustrates the format of a bundle.

 

Bundle Format

 

 

 

Multiway branch bundles contain more than one branch instruction. When the first branch instruction of a multiway bundle is taken, the subsequent branch instruction does not execute.

Bundles are always aligned at 16-byte boundaries. The assembler automatically aligns sections containing bundles to at least 16-bytes.

Bundling can be:

     — with automatic selection of the template

     — with explicit selection of the template

Refer to the Intel® Itanium™ Architecture Software Developer’s Manual for more details about bundles.