xsnabsdp

VSX Scalar Negative Absolute Double-Precision

xsnabsdp XT,XB

Computes the negative absolute value of a double-precision floating-point number.

Details

The instruction computes the negative absolute value of the double-precision floating-point number in VSR[XB] and stores it in VSR[XT]. The result is zeroed out for the second doubleword.

Pseudocode Operation

if MSR.VSX=0 then
    VSX_Unavailable()
src ←VSR[32×BX+B].dword[0]
VSR[32×TX+T].dword[0] ←bfp64_NEGATIVE_ABSOLUTE(src)
VSR[32×TX+T].dword[1] ←0x0000_0000_0000_0000

Programming Note

['This instruction can be used to operate on a single-precision source operand.', 'Previous versions of the architecture allowed the contents of doubleword 1 of the result register to be undefined. However, all processors that support this instruction write 0s into doubleword 1 of the result register.']

Example

xsnabsdp vs1, vs3

Encoding

Binary Layout
T
6
B
11
BX
16
TX
21
 
Format XX2-form
Opcode 0xF00005A4
Extension VSX
Registers Altered None

Operands

  • XT
    Target Vector-Specific Register
  • XB
    Source Vector-Specific Register