EasyManua.ls Logo

Freescale Semiconductor PowerPC e500 Core - Page 344

Default Icon
548 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
PowerPC e500 Core Family Reference Manual, Rev. 1
10-8 Freescale Semiconductor
Auxiliary Processing Units (APUs)
efdcfs efdcfs
Floating-Point Double-Precision Convert from Single-Precision
efdcfs rD,rB
FP32format f;
FP64format result;
f
rB
32:63
if (f
exp
= 0) & (f
frac
= 0)) then
result
f
sign
||
63
0 // signed zero value
else if Isa32NaNorInfinity(f) | Isa32Denorm(f) then
SPEFSCR
FINV
1
result
f
sign
|| 0b11111111110 ||
52
1 // max value
else if Isa32Denorm(f) then
SPEFSCR
FINV
1
result
f
sign
||
63
0
else
result
sign
f
sign
result
exp
f
exp
- 127 + 1023
result
frac
f
frac
||
29
0
rD
0:63
= result
The single-precision floating-point value in the low element of rB is converted to a
double-precision floating-point value and the result is placed into rD. The rounding mode is not
used since this conversion is always exact.
Exceptions:
If the low element of rB is Infinity, Denorm, or NaN, SPEFSCR[FINV] is set. If
SPEFSCR[FINVE] is set, an interrupt is taken, and rD is not updated.
FG and FX are always cleared.
0 56 101115162021 31
000100 rD 00000 rB 0 1011101111

Table of Contents

Related product manuals