vcfux

Vector Convert from Unsigned Fixed-Point Word

vcfux vD, vB, UIM

Converts 4 unsigned 32-bit integers to floats.

Encoding

Binary Layout
4
0:5
vD
6:10
UIM
11:15
vB
16:20
778
21:31
 
Format VX-form
Opcode 0x1000030A
Extension VMX (AltiVec)

Operands

  • vD
    Target
  • vB
    Source
  • UIM
    Fraction bits

Example

vcfux vd, vb, uim

Registers Altered

MSR

Related

More in VMX (AltiVec)

Reference

Description

Converts four unsigned 32-bit fixed-point integers in vB (with UIM fractional bits) to single-precision floating-point elements, storing IEEE 754 results in vD. No saturation or condition flags are set. This is a Classic VMX (AltiVec) instruction.

Operation

scale ← 2^(-UIM)
for i in 0 to 3 do
  vD[i] ← unsigned_word_to_float(vB[i]) × scale  (IEEE 754)
endfor

Programming Note

The vcfux instruction is used for converting signed floating-point values to unsigned fixed-point integers. Ensure that the Vector Facility (MSR.VEC) is enabled before using this instruction; otherwise, a Vector_Unavailable exception will be raised. Be cautious of saturation when results exceed 2^32 - 1.