vrfim

Vector Round to Floating-Point Integer towards Minus Infinity

vrfim vD, vB

Rounds each element of a vector toward negative infinity.

Encoding

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

Operands

  • vD
    Target
  • vB
    Source
  • VRT
    Target Vector Register
  • VRB
    Source Vector Register

Example

vrfim vd, vb

Registers Altered

MSR

Related

More in VMX (AltiVec)

Reference

Description

For vrfim, each single-precision floating-point value in the elements of VSR[VRB+32] is rounded toward negative infinity and placed into the corresponding elements of VSR[VRT+32].

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_ROUND_TO_INTEGER_FLOOR(src)
end

Programming Note

This instruction rounds each single-precision floating-point value in the source vector towards negative infinity. Ensure that the Vector Facility is enabled by checking and setting the appropriate bit in the MSR register. Be cautious of potential exceptions if the input values are out of range for integer representation.