Intel i86W Manual page 98

Table of Contents

Advertisement

FLOATING-POINT INSTRUCTIONS
6.4.1 Floating-Point Add and Subtract
fadd.p
fsre1, fsre2, fdest
fdest - fsre
1
+
fsre2
pfadd.p
fsre1, fsre2, fdest
fdest -
last stage adder result
Advance A pipeline one stage
A pipeline first stage -
fsre1
+
fsre2
fsub.p
fsre1, fsre2, fdest
fdest -
fsre1 - fsre2
pfsub.p
fsre1, fsre2, fdest
fdest -
last stage adder result
Advance A pipeline one stage
A pipeline first stage -
fsre1 - fsre2
famov.r
fsre1, fdest
fdest -
fsre1
pfamov.r
fsre1, fdest
fdest -
last stage adder result
Advance A pipeline one stage
A pipeline first stage -
fsre1
(Floating-Point Add)
(Pipelined Floating-Point Add)
(Floating-Point Subtract)
(Pipelined Floating-Point Subtract)
(Floating-Point Adder Move)
(Pipelined Floating-Point Adder Move)
These instructions perform standard addition and subtraction operations.
The
famov
and
pfamov
instructions send fsrcl through the floating-point adder, preserv-
ing the value of - 0 (minus zero) when fsrcl is - O. (Note that
(p)fadd.p
fsrcl,
fO,
fdest
may round - 0 to
+
0, depending on the RM bits of
fsr.)
The
pfamov
instruction is used
by the trap handler to restore pipeline states. Fsrc2 for
(p)famov
must be encoded as
fO
by assemblers and compilers.
Programming Notes
In order to allow conversion from double precIsIon to single precision, an
famov
or
pfamov
instruction may have doubie-precision inputs and a single-precision output. In
assembly language, this conversion can be specified using the
fmov
or
pfmov
pseudo-
operation with the
.ds
suffix.
fmov.ds
fsre1, fdest
Equivalent to famov.ds fsre1, fdest
pfmov.ds
fsre1, fdest
Equivalent to pfamov.ds fsre1, fdest
(Convert Double to Single)
(Pipelined Convert Double to Single)
6-10

Advertisement

Table of Contents
loading

Table of Contents