## treecode-extension-sext-intel32.pkg
#
# Background comments may be found in:
#
#
src/lib/compiler/back/low/treecode/treecode-extension.api# Compiled by:
#
src/lib/compiler/back/low/intel32/backend-intel32.lib# extensions to the intel32 instruction set.
# We are referenced in:
#
#
src/lib/compiler/back/low/main/intel32/treecode-extension-intel32.pkg#
src/lib/compiler/back/low/intel32/ccalls/ccalls-intel32-per-unix-system-v-abi-g.pkg#
src/lib/compiler/back/low/intel32/code/treecode-extension-sext-compiler-intel32-g.pkgpackage treecode_extension_sext_intel32 {
#
Fsz # "Fsz" == "Float_Sizes"
= SINGLE # 32-bit float
| DOUBLE
# 64-bit float
| EXTENDED
# 80-bit float -- what Intel hardware uses internally.
;
Sext (S, R, F, C)
#
= PUSHL R # Push an integer value onto the hardware stack.
| POP R
# FSTPS/L/T is a way of pulling things off the floating point
# stack and must therefore take FREG f as argument
| FSTPS F
| FSTPL F
| FSTPT F
| LEAVE
| RET R
| LOCK_CMPXCHGL ((R, R))
;
};
## COPYRIGHT (c) 2000 Bell Labs, Lucent Technologies
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.