vcfsx

Vector Convert from Signed Fixed-Point Word to Single-Precision Floating-Point

vcfsx vD, vB, UIM

Converts signed fixed-point values in a vector register to single-precision floating-point values.

Details

For vcfsx, each word element of the source vector register VRB is converted to a nearest single-precision floating-point value and divided by 2^UIM. The results are stored in the corresponding word elements of the target vector register VRT.

Pseudocode Operation

if MSR.VEC=0 then
    Vector_Unavailable()
do i = 0 to 3
    src ← VSR[VRB+32].word[i]
    VSR[VRT+32].word[i] ← bfp32_CONVERT_FROM_SI32(src, UIM)
end

Programming Note

The fixed-point integers used by the Vector Convert instructions can be interpreted as consisting of 32-UIM integer bits followed by UIM fraction bits.

Extended Mnemonics

Extended Mnemonic Equivalent Instruction
vcsxwfp

Example

vcfsx vd, vb, uim

Encoding

Binary Layout
4
0
vD
6
UIM
11
vB
16
842
 
Format VX-form
Opcode 0x1000034A
Extension VMX (AltiVec)
Registers Altered MSR

Operands

  • vD
    Target
  • vB
    Source
  • UIM
    Fraction bits
  • VRT
    Target Vector Register
  • VRB
    Source Vector Register