FreeBASIC  0.91.0
emit_SSE.bas File Reference
#include "fb.bi"
#include "fbint.bi"
#include "reg.bi"
#include "ir.bi"
#include "rtl.bi"
#include "emit.bi"
#include "emitdbg.bi"
#include "hash.bi"
#include "symb.bi"
#include "emit-private.bi"
Include dependency graph for emit_SSE.bas:

Go to the source code of this file.

Macros

#define EMIT_CBENTRY(op)   /* @_emit##op## */
 

Functions

private sub hULONG2DBL (byval_as_IRVREG_ptr svreg)
 
private sub _emitSTORF2L_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitSTORF2I_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitSTORL2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitSTORI2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub hEmitStoreFreg2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitSTORF2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitLOADF2L_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitLOADF2I_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitLOADL2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitLOADI2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitLOADF2F_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitMOVF_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitSWZREPF_SSE (byval_as_IRVREG_ptr dvreg)
 
private function_as_integer hEmitConvertOperands_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitADDF_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitSUBF_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitMULF_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitDIVF_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitATN2_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitPOW_SSE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub hCMPF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_zstring_ptr mnemonic, byval_as_zstring_ptr mask, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitCGTF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitCLTF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitCEQF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitCNEF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitCLEF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitCGEF_SSE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private sub _emitNEGF_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitHADDF_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitABSF_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitSGNF_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitSINCOS_FAST_SSE (byval_as_IRVREG_ptr dvreg, byval_as_integer iscos)
 
private sub _emitSIN_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitASIN_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitCOS_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitACOS_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitTAN_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitATAN_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitSQRT_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitRSQRT_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitRCP_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitLOG_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitEXP_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitFLOOR_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitFIX_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitFRAC_SSE (byval_as_IRVREG_ptr dvreg)
 
private sub _emitPUSHF_SSE (byval_as_IRVREG_ptr svreg, byval_as_integer unused)
 
private sub _emitPOPF_SSE (byval_as_IRVREG_ptr dvreg, byval_as_integer unused)
 
function_as_integer _init_opFnTB_SSE (byval_as_any_ptr_ptr _opFnTB_SSE)
 

Macro Definition Documentation

#define EMIT_CBENTRY (   op)    /* @_emit##op## */

Definition at line 2873 of file emit_SSE.bas.

Function Documentation

private sub _emitABSF_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1747 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitACOS_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2204 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitADDF_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 996 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitASIN_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2109 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitATAN_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2294 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitATN2_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1316 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCEQF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1611 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCGEF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1653 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCGTF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1582 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCLEF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1639 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCLTF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1597 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCNEF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1625 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitCOS_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2156 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitDIVF_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1236 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitEXP_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2487 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitFIX_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2602 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitFLOOR_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2541 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitFRAC_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2684 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitHADDF_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1714 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitLOADF2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 827 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitLOADF2I_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 532 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitLOADF2L_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 465 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitLOADI2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 714 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitLOADL2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 641 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitLOG_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2442 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitMOVF_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 886 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitMULF_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1156 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitNEGF_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1668 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitPOPF_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_integer  unused 
)

Definition at line 2830 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitPOW_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1377 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitPUSHF_SSE ( byval_as_IRVREG_ptr  svreg,
byval_as_integer  unused 
)

Definition at line 2780 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitRCP_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2406 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitRSQRT_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2371 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSGNF_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1794 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSIN_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2062 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSINCOS_FAST_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_integer  iscos 
)

Definition at line 1858 of file emit_SSE.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub _emitSQRT_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2336 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSTORF2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 358 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSTORF2I_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 83 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSTORF2L_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 44 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSTORI2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 256 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSTORL2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 193 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSUBF_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1077 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitSWZREPF_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 925 of file emit_SSE.bas.

Here is the call graph for this function:

private sub _emitTAN_SSE ( byval_as_IRVREG_ptr  dvreg)

Definition at line 2252 of file emit_SSE.bas.

Here is the call graph for this function:

function_as_integer _init_opFnTB_SSE ( byval_as_any_ptr_ptr  _opFnTB_SSE)

Definition at line 2877 of file emit_SSE.bas.

Here is the caller graph for this function:

private sub hCMPF_SSE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_zstring_ptr  mnemonic,
byval_as_zstring_ptr  mask,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1451 of file emit_SSE.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer hEmitConvertOperands_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 952 of file emit_SSE.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hEmitStoreFreg2F_SSE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 324 of file emit_SSE.bas.

Here is the call graph for this function:

private sub hULONG2DBL ( byval_as_IRVREG_ptr  svreg)

Definition at line 17 of file emit_SSE.bas.

Here is the call graph for this function: