Auxiliary Processing Units (APUs)
PowerPC e500 Core Family Reference Manual, Rev. 1
Freescale Semiconductor
10-25
if (guard) then
if (sticky | (result & 0x00000001)) then
result
←
1
else if ((SPEFSCR
FRMC
& 0b10) = 0b10) then
// infinity modes
//
implementation dependent
if (signed = SIGN) then
if (fp
sign
= 1) then
result
←
¬
1
return result
10.4.5.3 Convert to Double-Precision Floating-Point from Integer Word with
Saturation
// Convert from integer/fractional to 64 bit floating point
//
signed = SIGN or UNSIGN
//
fractional = F (fractional) or I (integer)
CnvtI32ToFP64Sat(v, signed, fractional)
FP64format result;
result
sign
←
0
if (v = 0) then
result
←
0
SPEFSCR
FG
←
0
SPEFSCR
FX
←
0
else
if (signed = SIGN) then
if (v
0
= 1) then
v
←
¬
v + 1
result
sign
←
1
if (fractional = F) then
// fractional bit pos alignment
maxexp
←
1023
if (signed = UNSIGN) then
maxexp
←
maxexp - 1
else
maxexp
←
1054
// integer bit pos alignment
sc
←
0
while (v
0
= 0)
v
←
v << 1
sc
←
sc + 1
v
0
←
0
// clear U bit
result
exp
←
maxexp - sc
// Report sticky and guard bits
SPEFSCR
FG
←
0
SPEFSCR
FX
←
0
result
frac
←
v
1:31
||
21
0
return result
Summary of Contents for PowerPC e500 Core
Page 1: ...PowerPC e500 Core Family Reference Manual Supports e500v1 e500v2 E500CORERM Rev 1 4 2005...
Page 36: ...PowerPC e500 Core Family Reference Manual Rev 1 xxxvi Freescale Semiconductor...
Page 38: ...PowerPC e500 Core Family Reference Manual Rev 1 Part I 2 Freescale Semiconductor...
Page 332: ...PowerPC e500 Core Family Reference Manual Rev 1 Part II 2 Freescale Semiconductor...
Page 530: ...Opcode Listings PowerPC e500 Core Family Reference Manual Rev 1 D 50 Freescale Semiconductor...
Page 534: ...PowerPC e500 Core Family Reference Manual Rev 1 E 4 Freescale Semiconductor Revision History...