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}, {_Bin( ANY, C, ANY, NONE ), V_OP2ZERO, G_UNKNOWN, RG_8087_ZAP_ACC,FU_NO}, {_Bin( ANY, C, ANY, NONE ), V_NO, R_FORCEOP2CMEM, RG_8087_ZAP_ACC,FU_NO}, {_Bin( ANY, ANY, ANY, NONE ), V_NO, G_UNKNOWN, RG_8087_ZAP_ACC,FU_NO}, }; opcode_entry Cmp87[] = { /***************************/ /* op1 op2 verify gen reg fu*/ {_SidCC( C, ANY ), V_OP1ONE, G_UNKNOWN, RG_8087_ZAP_ACC, FU_NO}, {_SidCC( C, ANY ), V_OP1ZERO, G_UNKNOWN, RG_8087_ZAP_ACC, FU_NO}, {_SidCC( C, ANY ), V_NO, R_FORCEOP1CMEM, RG_8087_ZAP_ACC, FU_NO}, {_SidCC( M, C ), V_INTCOMP, R_INTCOMP, RG_8087_ZAP_ACC, FU_NO},
#include "regset.h" #include "model.h" #include "tables.h" opcode_entry StubUnary[] = { /*************************/ /* from to eq verify reg gen fu */ _OE( _Un( ANY, ANY, NONE ), V_NO, RG_DWORD, G_NO, FU_NO ), _OE( _Un( ANY, ANY, NONE ), V_NO, RG_, G_UNKNOWN, FU_NO ), }; opcode_entry StubBinary[] = { /************************/ /* op1 op2 res eq verify reg gen fu */ _OE( _Bin( ANY, ANY, ANY, NONE ), V_NO, RG_DWORD, G_NO, FU_NO ), _OE( _Bin( ANY, ANY, ANY, NONE ), V_NO, RG_, G_UNKNOWN, FU_NO ), }; opcode_entry StubSide[] = { /******************************/ /* op1 op2 verify reg gen fu */ _OE( _Side( ANY, ANY ), V_NO, RG_DWORD, G_NO, FU_NO ), _OE( _Side( ANY, ANY ), V_NO, RG_, G_UNKNOWN, FU_NO ), }; #define LOAD_TABLE( name, reg ) \ static opcode_entry name[] = { \ /********************************/ \ /* from to eq verify reg gen fu */ \ _OE( _UnPP( M, R, NONE ), V_NO, RG_##reg, G_LOAD_ADDR, FU_ALU ), \