xsnabsdp
VSX Scalar Negative Absolute Double-Precision
xsnabsdp XT,XB
Computes the negative absolute value of a double-precision floating-point number.
Encoding
Binary Layout
T
6:10
B
11:15
BX
16:20
TX
21:31
Operands
-
XT
Target Vector-Specific Register -
XB
Source Vector-Specific Register
Example
xsnabsdp vs1, vs3
Related
More in VSX
Reference
View in PowerISA v3.1C Specification ↗
OPF Power ISA v3.1C
Description
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.
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.