CONTENTS
Paragraph
Number
Title
Page
Number
Contents
vii
2.2
2.2.1
2.2.2
2.2.3
2.2.4
2.3
2.3.1
2.3.1.1
2.3.1.2
2.3.1.3
2.3.1.4
2.3.2
2.3.2.1
2.3.2.2
2.3.2.3
2.3.2.4
2.3.2.4.1
2.3.2.4.2
2.3.2.4.3
2.3.3
2.3.4
2.3.4.1
2.3.4.1.1
2.3.4.1.2
2.3.4.1.3
2.3.4.1.4
2.3.4.2
2.3.4.2.1
2.3.4.2.2
2.3.4.2.3
2.3.4.2.4
2.3.4.2.5
2.3.4.2.6
2.3.4.3
2.3.4.3.1
2.3.4.3.2
2.3.4.3.3
2.3.4.3.4
2.3.4.3.5
2.3.4.3.6
2.3.4.3.7
2.3.4.3.8
2.3.4.3.9
Operand Conventions........................................................................................ 2-33
Floating-Point Execution ModelsUISA.................................................... 2-33
Data Organization in Memory and Data Transfers....................................... 2-34
Alignment and Misaligned Accesses............................................................ 2-34
Floating-Point Operands............................................................................... 2-35
Instruction Set Summary................................................................................... 2-35
Classes of Instructions.................................................................................. 2-37
Definition of Boundedly Undefined......................................................... 2-37
Defined Instruction Class ......................................................................... 2-37
Illegal Instruction Class............................................................................ 2-38
Reserved Instruction Class ....................................................................... 2-38
Addressing Modes ........................................................................................ 2-39
Memory Addressing ................................................................................. 2-39
Memory Operands.................................................................................... 2-39
Effective Address Calculation.................................................................. 2-40
Synchronization........................................................................................ 2-40
Context Synchronization ...................................................................... 2-40
Execution Synchronization................................................................... 2-41
Instruction-Related Exceptions............................................................. 2-41
Instruction Set Overview.............................................................................. 2-42
PowerPC UISA Instructions......................................................................... 2-42
Integer Instructions................................................................................... 2-42
Integer Arithmetic Instructions............................................................. 2-42
Integer Compare Instructions ............................................................... 2-43
Integer Logical Instructions.................................................................. 2-44
Integer Rotate and Shift Instructions.................................................... 2-45
Floating-Point Instructions ....................................................................... 2-46
Floating-Point Arithmetic Instructions................................................. 2-46
Floating-Point Multiply-Add Instructions............................................ 2-47
Floating-Point Rounding and Conversion Instructions........................ 2-47
Floating-Point Compare Instructions.................................................... 2-48
Floating-Point Status and Control Register Instructions...................... 2-48
Floating-Point Move Instructions......................................................... 2-48
Load and Store Instructions...................................................................... 2-49
Self-Modifying Code............................................................................ 2-50
Integer Load and Store Address Generation......................................... 2-50
Register Indirect Integer Load Instructions.......................................... 2-50
Integer Store Instructions...................................................................... 2-52
Integer Store Gathering......................................................................... 2-52
Integer Load and Store with Byte-Reverse Instructions....................... 2-53
Integer Load and Store Multiple Instructions....................................... 2-53
Integer Load and Store String Instructions........................................... 2-54
Floating-Point Load and Store Address Generation............................. 2-54