# Integer ALU Fixed-point add/sub/multiply/divide, logical, rotate, shift, compare, count-leading-zeros, sign-extension, trap-on-condition. **70 families** ยท **70 XML entries**. | Family | Form | Description | Members | | --- | --- | --- | --- | | [`addcx`](../alu/addcx.md) | `XO` | Add Carrying | `addcx` | | [`addex`](../alu/addex.md) | `XO` | Add Extended | `addex` | | [`addi`](../alu/addi.md) | `D` | Add Immediate | `addi` | | [`addic`](../alu/addic.md) | `D` | Add Immediate Carrying | `addic` | | [`addic.`](../alu/addicx.md) | `D` | Add Immediate Carrying and Record | `addic.` | | [`addis`](../alu/addis.md) | `D` | Add Immediate Shifted | `addis` | | [`addmex`](../alu/addmex.md) | `XO` | Add to Minus One Extended | `addmex` | | [`addx`](../alu/addx.md) | `XO` | Add | `addx` | | [`addzex`](../alu/addzex.md) | `XO` | Add to Zero Extended | `addzex` | | [`andcx`](../alu/andcx.md) | `X` | AND with Complement | `andcx` | | [`andi.`](../alu/andix.md) | `D` | AND Immediate | `andi.` | | [`andis.`](../alu/andisx.md) | `D` | AND Immediate Shifted | `andis.` | | [`andx`](../alu/andx.md) | `X` | AND | `andx` | | [`cmp`](../alu/cmp.md) | `X` | Compare | `cmp` | | [`cmpi`](../alu/cmpi.md) | `D` | Compare Immediate | `cmpi` | | [`cmpl`](../alu/cmpl.md) | `X` | Compare Logical | `cmpl` | | [`cmpli`](../alu/cmpli.md) | `D` | Compare Logical Immediate | `cmpli` | | [`cntlzdx`](../alu/cntlzdx.md) | `X` | Count Leading Zeros Doubleword | `cntlzdx` | | [`cntlzwx`](../alu/cntlzwx.md) | `X` | Count Leading Zeros Word | `cntlzwx` | | [`divdux`](../alu/divdux.md) | `XO` | Divide Doubleword Unsigned | `divdux` | | [`divdx`](../alu/divdx.md) | `XO` | Divide Doubleword | `divdx` | | [`divwux`](../alu/divwux.md) | `XO` | Divide Word Unsigned | `divwux` | | [`divwx`](../alu/divwx.md) | `XO` | Divide Word | `divwx` | | [`eieio`](../alu/eieio.md) | `X` | Enforce In-Order Execution of I/O | `eieio` | | [`eqvx`](../alu/eqvx.md) | `X` | Equivalent | `eqvx` | | [`extsbx`](../alu/extsbx.md) | `X` | Extend Sign Byte | `extsbx` | | [`extshx`](../alu/extshx.md) | `X` | Extend Sign Half Word | `extshx` | | [`extswx`](../alu/extswx.md) | `X` | Extend Sign Word | `extswx` | | [`isync`](../alu/isync.md) | `XL` | Instruction Synchronize | `isync` | | [`mulhdux`](../alu/mulhdux.md) | `XO` | Multiply High Doubleword Unsigned | `mulhdux` | | [`mulhdx`](../alu/mulhdx.md) | `XO` | Multiply High Doubleword | `mulhdx` | | [`mulhwux`](../alu/mulhwux.md) | `XO` | Multiply High Word Unsigned | `mulhwux` | | [`mulhwx`](../alu/mulhwx.md) | `XO` | Multiply High Word | `mulhwx` | | [`mulldx`](../alu/mulldx.md) | `XO` | Multiply Low Doubleword | `mulldx` | | [`mulli`](../alu/mulli.md) | `D` | Multiply Low Immediate | `mulli` | | [`mullwx`](../alu/mullwx.md) | `XO` | Multiply Low Word | `mullwx` | | [`nandx`](../alu/nandx.md) | `X` | NAND | `nandx` | | [`negx`](../alu/negx.md) | `XO` | Negate | `negx` | | [`norx`](../alu/norx.md) | `X` | NOR | `norx` | | [`orcx`](../alu/orcx.md) | `X` | OR with Complement | `orcx` | | [`ori`](../alu/ori.md) | `D` | OR Immediate | `ori` | | [`oris`](../alu/oris.md) | `D` | OR Immediate Shifted | `oris` | | [`orx`](../alu/orx.md) | `X` | OR | `orx` | | [`rldclx`](../alu/rldclx.md) | `MDS` | Rotate Left Doubleword then Clear Left | `rldclx` | | [`rldcrx`](../alu/rldcrx.md) | `MDS` | Rotate Left Doubleword then Clear Right | `rldcrx` | | [`rldiclx`](../alu/rldiclx.md) | `MD` | Rotate Left Doubleword Immediate then Clear Left | `rldiclx` | | [`rldicrx`](../alu/rldicrx.md) | `MD` | Rotate Left Doubleword Immediate then Clear Right | `rldicrx` | | [`rldicx`](../alu/rldicx.md) | `MD` | Rotate Left Doubleword Immediate then Clear | `rldicx` | | [`rldimix`](../alu/rldimix.md) | `MD` | Rotate Left Doubleword Immediate then Mask Insert | `rldimix` | | [`rlwimix`](../alu/rlwimix.md) | `M` | Rotate Left Word Immediate then Mask Insert | `rlwimix` | | [`rlwinmx`](../alu/rlwinmx.md) | `M` | Rotate Left Word Immediate then AND with Mask | `rlwinmx` | | [`rlwnmx`](../alu/rlwnmx.md) | `M` | Rotate Left Word then AND with Mask | `rlwnmx` | | [`sldx`](../alu/sldx.md) | `X` | Shift Left Doubleword | `sldx` | | [`slwx`](../alu/slwx.md) | `X` | Shift Left Word | `slwx` | | [`sradix`](../alu/sradix.md) | `XS` | Shift Right Algebraic Doubleword Immediate | `sradix` | | [`sradx`](../alu/sradx.md) | `X` | Shift Right Algebraic Doubleword | `sradx` | | [`srawix`](../alu/srawix.md) | `X` | Shift Right Algebraic Word Immediate | `srawix` | | [`srawx`](../alu/srawx.md) | `X` | Shift Right Algebraic Word | `srawx` | | [`srdx`](../alu/srdx.md) | `X` | Shift Right Doubleword | `srdx` | | [`srwx`](../alu/srwx.md) | `X` | Shift Right Word | `srwx` | | [`subfcx`](../alu/subfcx.md) | `XO` | Subtract From Carrying | `subfcx` | | [`subfex`](../alu/subfex.md) | `XO` | Subtract From Extended | `subfex` | | [`subficx`](../alu/subficx.md) | `D` | Subtract From Immediate Carrying | `subficx` | | [`subfmex`](../alu/subfmex.md) | `XO` | Subtract From Minus One Extended | `subfmex` | | [`subfx`](../alu/subfx.md) | `XO` | Subtract From | `subfx` | | [`subfzex`](../alu/subfzex.md) | `XO` | Subtract From Zero Extended | `subfzex` | | [`sync`](../alu/sync.md) | `X` | Synchronize | `sync` | | [`xori`](../alu/xori.md) | `D` | XOR Immediate | `xori` | | [`xoris`](../alu/xoris.md) | `D` | XOR Immediate Shifted | `xoris` | | [`xorx`](../alu/xorx.md) | `X` | XOR | `xorx` |