5.5. Stops, Instruction Groups, and Performance

Using the disas command of gdb, we noticed earlier that the GNU assembler fills out instruction bundles with nop instructions. With all optimizations turned off, compilers and assemblers do not change the sequence of instructions expressed by the programmer.

An instruction group consists of an arbitrarily long sequence of mutually independent Itanium instructions. Consider the consequences of instruction grouping for these implementations of the Itanium architecture:

  1. A hypothetical implementation with an arbitrarily large degree of internal parallelism might carry out all instructions in the group simultaneously, using different execution units.

  2. The Itanium 2 processor, in one clock cycle, can carry ...

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.