PreviousUpNext

15.4.257  src/lib/compiler/back/low/intel32/code/treecode-extension-sext-intel32.pkg

## 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.pkg

package 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.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext