Itanium(R) processor topicParallel Subtract Instruction

psub

Operation Font Conventions

Instruction Type A

Format

(qp) psub1 r1 = r2, r3 one_byte_form, modulo_form

(qp) psub1.sss r1 = r2, r3 one_byte_form, sss_saturation_form

(qp) psub1.uus r1 = r2, r3 one_byte_form, uus_saturation_form

(qp) psub1.uuu r1 = r2, r3 one_byte_form, uuu_saturation_form

(qp) psub2 r1 = r2, r3 two_byte_form, modulo_form

(qp) psub2.sss r1 = r2, r3 two_byte_form, sss_saturation_form

(qp) psub2.uus r1 = r2, r3 two_byte_form, uus_saturation_form

(qp) psub2.uuu r1 = r2, r3 two_byte_form, uuu_saturation_form

(qp) psub4 r1 = r2, r3 four_byte_form, modulo_form


Description

The sets of elements from the two source operands are subtracted, and the results placed in GR r1.

If the difference between two elements cannot be represented in the result element and a saturation completer is specified, then saturation clipping is performed. The saturation can either be signed or unsigned, as indicated in the parallel subtract saturation completers table. If the difference of two elements is larger than the upper limit value, the result is the upper limit value. If it is smaller than the lower limit value, the result is the lower limit value. The saturation limits are listed in the parallel subtract saturation limits table.

Click to see examples of how the one and two-byte forms of the parallel subtract instruction work in one illustration.


Related Topics:

fms - Floating-point Multiply Subtract Instruction

fpabs - Floating-point Parallel Absolute Value Instruction

fpamax - Floating-point Parallel Absolute Value Maximum Instruction

fpamin - Floating-point Parallel Absolute Value Minimum Instruction

fpcmp - Floating-point Parallel Compare Instruction

fpcvt.fx - Convert Parallel Floating-point to Integer Instruction

fpma - Floating-point Parallel Multiply Add Instruction

fpmax - Floating-point Parallel Maximum Instruction

fpmerge - Floating-point Parallel Merge Instructions

fpmin - Floating-point Parallel Minimum Instruction

fpmpy - Floating-point Parallel Multiply Instruction

fpms - Floating-point Parallel Multiply Subtract Instruction

fpneg - Floating-point Parallel Negate Instruction

fpnegabs - Floating-point Parallel Negate Absolute Value Instruction

fpnma - Floating-point Parallel Negative Multiply Add Instruction

fpnmpy - Floating-point Parallel Negative Multiply Instruction

fprcpa - Floating-point Parallel Reciprocal Approximation Instruction

fprsqrta - Floating-point Parallel Reciprocal Square Root Approximation Instruction

fsub - Floating-point Subtract Instruction

padd - Parallel Add Instruction

Parallel Arithmetic Instructions

Parallel Data Arrangement Instructions

Parallel Shift Instructions

pavg - Parallel Average Instruction

pavgsub - Parallel Average Subtract Instruction

pcmp - Parallel Compare Instruction

pmax - Parallel Maximum Instruction

pmin - Parallel Minimum Instruction

pmpy - Parallel Multiply Instruction

pmpyshr - Parallel Multiply and Shift Right Instruction

psad1 - Parallel Sum of Absolute Difference Instruction

pshl - Parallel Shift Left Instruction

pshladd - Parallel Shift Left and Add Instruction

pshr - Parallel Shift Right Instruction

pshradd - Parallel Shift Right and Add Instruction

sub - Subtract Instruction