xsmindp

VSX Scalar Minimum Double-Precision

xsmindp XT, XA, XB

Computes the minimum of two double-precision floating-point values and places the result into a vector scalar register.

Details

Compares the double-precision floating-point value in XA with the value in XB and stores the minimum (or quiet NaN if either operand is NaN) in XT. Following IEEE 754 semantics, quiet NaNs propagate, and negative zero is considered less than positive zero. FPSCR is updated with the comparison result flags.

Pseudocode Operation

result ← DPFP_minimum(XA[0:63], XB[0:63])
XT[0:63] ← result
FPSCR ← update_fpscr(FPSCR, result)

Programming Note

The minimum of +0 and –0 is –0. The minimum of a QNaN and any value is that value. The minimum of any value and an SNaN is that SNaN converted to a QNaN. FPRF, FR and FI are not modified. If a trap-enabled invalid operation exception occurs, VSR[XT] is not modified. This instruction can be used to operate on single-precision source operands.

Example

xsmindp vs1, vs2, vs3

Encoding

Binary Layout
60
0
XT
6
XA
11
XB
16
168
21
 
Format XX3-form
Opcode 0xF0000540
Extension VSX
Registers Altered FPSCR, VXSNAN

Operands

  • XT
    Target
  • XA
    Src A
  • XB
    Src B