as.info: i386-Float
Go forward to i386-SIMD
Go backward to i386-Jumps
Go up to i386-Dependent
Go to the top op as
Floating Point
All 80387 floating point types except packed BCD are supported.
(BCD support may be added without much difficulty). These data types
are 16-, 32-, and 64- bit integers, and single (32-bit), double
(64-bit), and extended (80-bit) precision floating point. Each
supported type has an instruction mnemonic suffix and a constructor
associated with it. Instruction mnemonic suffixes specify the operand's
data type. Constructors build these data types into memory.
* Floating point constructors are `.float' or `.single', `.double',
and `.tfloat' for 32-, 64-, and 80-bit formats. These correspond
to instruction mnemonic suffixes `s', `l', and `t'. `t' stands for
80-bit (ten byte) real. The 80387 only supports this format via
the `fldt' (load 80-bit real to stack top) and `fstpt' (store
80-bit real and pop stack) instructions.
* Integer constructors are `.word', `.long' or `.int', and `.quad'
for the 16-, 32-, and 64-bit integer formats. The corresponding
instruction mnemonic suffixes are `s' (single), `l' (long), and
`q' (quad). As with the 80-bit real format, the 64-bit `q' format
is only present in the `fildq' (load quad integer to stack top)
and `fistpq' (store quad integer and pop stack) instructions.
Register to register operations should not use instruction mnemonic
suffixes. `fstl %st, %st(1)' will give a warning, and be assembled as
if you wrote `fst %st, %st(1)', since all register to register
operations use 80-bit floating point operands. (Contrast this with
`fstl %st, mem', which converts `%st' from 80-bit to 64-bit floating
point format, then stores the result in the 4 byte location `mem')
Created Wed Sep 1 16:41:06 2004 on bee with info_to_html version 0.9.6.