Пример #1
0
/*           op1   op2   res   eq      verify          reg           gen             fu  */
_OE( _Bin(   R,    R,    R,    NONE ), V_NO,           RG_FLOAT,     G_BINARY_FP,    FU_ALU ),
_OE( _Bin(   C,    ANY,  ANY,  NONE ), V_NO,           RG_FLOAT,     R_FORCEOP1CMEM, FU_NO ),
_OE( _Bin(   ANY,  C,    ANY,  NONE ), V_NO,           RG_FLOAT,     R_FORCEOP2CMEM, FU_NO ),
_OE( _Bin(   M,    ANY,  ANY,  NONE ), V_NO,           RG_FLOAT,     R_MOVOP1TEMP,   FU_NO ),
_OE( _Bin(   ANY,  M,    ANY,  NONE ), V_NO,           RG_FLOAT,     R_MOVOP2TEMP,   FU_NO ),
_OE( _Bin(   ANY,  ANY,  M,    NONE ), V_NO,           RG_FLOAT,     R_MOVRESTEMP,   FU_NO ),
_OE( _Bin(   ANY,  ANY,  ANY,  NONE ), V_NO,           RG_FLOAT_NEED,G_UNKNOWN,      FU_NO ),
_OE( _Bin(   ANY,  ANY,  ANY,  NONE ), V_NO,           RG_,          G_UNKNOWN,      FU_NO ),
};


opcode_entry    DoNop[] = {
/*************************/
/*           op1   op2   res   eq      verify          reg           gen             fu  */
_OE( _BinPP( ANY,  ANY,  ANY,  NONE ), V_NO,           RG_,          G_NO,           FU_NO ),
};

opcode_entry    Set4[] = {
/************************/
/*           op1   op2   res   eq      verify          reg           gen             fu  */
_OE( _Bin(   ANY,  ANY,  ANY,  NONE ), V_NO,           RG_,          R_DOSET,        FU_ALU ),
};

opcode_entry    Test4[] = {
/*************************/
/*           op1   op2   res   eq      verify          reg           gen             fu  */
_OE( _Bin(   ANY,  ANY,  ANY,  NONE ), V_NO,           RG_,          R_DOTEST,       FU_ALU ),
};

opcode_entry    Cmp4[] = {
Пример #2
0
opcode_entry    Push87D[] = {
/*****************************/
/*       op    res   eq        verify       gen            reg       fu*/
#if _TARGET & _TARG_IAPX86
{_Un(    R|M|C,ANY,  NONE ),   V_NO,        R_SPLIT8,      RG_8,     FU_NO},
#else
{_Un(    R|M|C,ANY,  NONE ),   V_NO,        R_SPLITUNARY,  RG_8,     FU_NO},
#endif
{_Un(    ANY,  ANY,  NONE ),   V_NO,        G_UNKNOWN,     RG_8087,  FU_NO},
};

opcode_entry    Bin87[] = {
/***************************/
/*       op1   op2   res  eq        verify       gen               reg     fu*/
{_BinPP( C,    R|M|U,ANY, NONE ),   V_OP1ONE,    G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( C,    R|M|U,ANY, NONE ),   V_OP1ZERO,   G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( C,    ANY,  ANY, NONE ),   V_NO,        R_FORCEOP1CMEM,   RG_8087,FU_NO},
{_BinPP( ANY,  C,    ANY, NONE ),   V_OP2ONE,    G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( ANY,  C,    ANY, NONE ),   V_OP2ZERO,   G_UNKNOWN,        RG_8087,FU_NO},
{_BinPP( ANY,  C,    ANY, NONE ),   V_NO,        R_FORCEOP2CMEM,   RG_8087,FU_NO},
{_BinPP( ANY,  ANY,  ANY, NONE ),   V_NO,        G_UNKNOWN,        RG_8087,FU_NO},
};

opcode_entry    Bin87Func[] = {
/*****************************/
/*       op1   op2   res  eq      verify     gen               reg             fu*/
{_Bin(   C,    R|M|U,ANY, NONE ), V_OP1ONE,  G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
{_Bin(   C,    R|M|U,ANY, NONE ), V_OP1ZERO, G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
{_Bin(   C,    ANY,  ANY, NONE ), V_NO,      R_FORCEOP1CMEM,   RG_8087_ZAP_ACC,FU_NO},
{_Bin(   ANY,  C,    ANY, NONE ), V_OP2ONE,  G_UNKNOWN,        RG_8087_ZAP_ACC,FU_NO},
Пример #3
0
/*******************************/
/*       op1   op2   res   eq      verify          gen           reg      fu */
_Bin(    R,    R,    R,    NONE ), V_NO,           G_BINARY_FP,  RG_FLOAT,FU_ALU,
_Bin(    C,    ANY,  ANY,  NONE ), V_NO,           R_FORCEOP1CMEM,RG_FLOAT, FU_NO,
_Bin(    ANY,  C,    ANY,  NONE ), V_NO,           R_FORCEOP2CMEM,RG_FLOAT, FU_NO,
_Bin(    M,    ANY,  ANY,  NONE ), V_NO,           R_MOVOP1TEMP, RG_FLOAT, FU_NO,
_Bin(    ANY,  M,    ANY,  NONE ), V_NO,           R_MOVOP2TEMP, RG_FLOAT, FU_NO,
_Bin(    ANY,  ANY,  M,    NONE ), V_NO,           R_MOVRESTEMP, RG_FLOAT, FU_NO,
_Bin(    ANY,  ANY,  ANY,  NONE ), V_NO,           G_UNKNOWN,    RG_FLOAT_NEED, FU_NO,
};


opcode_entry    DoNop[] = {
/*************************/
/*       op1   op2   res   eq      verify          gen           reg      fu */
_BinPP( ANY,  ANY,  ANY,  NONE ),  V_NO,           G_NO,         RG_,     FU_NO,
};

opcode_entry    Set4[] = {
/************************/
/*       op1   op2   res   eq      verify          gen           reg      fu */
_Bin(    ANY,  ANY,  ANY,  NONE ), V_NO,           R_DOSET,      RG_,     FU_ALU,
};

opcode_entry    Test4[] = {
/*************************/
/*       op1   op2   res   eq      verify          gen           reg      fu */
_Bin(    ANY,  ANY,  ANY,  NONE ), V_NO,           R_DOTEST,     RG_,     FU_ALU,
};

opcode_entry    Cmp4[] = {