Ignore:
Timestamp:
Jul 27, 2007, 3:40:33 AM (17 years ago)
Author:
dai_9181
Message:
 
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/abdev/BasicCompiler64/NumOpe.cpp

    r232 r242  
    603603
    604604        //mov reg,i2
    605         compiler.codeGenerator.op_mov_RV(sizeof(_int64),*pReg,i2);
    606         obp-=sizeof(long);
    607         pobj_DataTableSchedule->add();
    608         obp+=sizeof(long);
     605        compiler.codeGenerator.op_mov_RV(sizeof(_int64),*pReg,i2, Schedule::DataTable );
    609606
    610607        free( buffer );
     
    796793
    797794                    //mov reg,i2
    798                     compiler.codeGenerator.op_mov_RV(sizeof(_int64),UseReg,i2);
    799                     obp-=sizeof(long);
    800                     pobj_DataTableSchedule->add();
    801                     obp+=sizeof(long);
     795                    compiler.codeGenerator.op_mov_RV(sizeof(_int64),UseReg,i2, Schedule::DataTable);
    802796
    803797                    if(UseReg==REG_R14){
     
    981975
    982976                            //movlpd xmm_reg,qword ptr[data table offset]
    983                             OpBuffer[obp++]=(char)0x66;
    984                             OpBuffer[obp++]=(char)0x0F;
    985                             OpBuffer[obp++]=(char)0x12;
    986                             OpBuffer[obp++]=(char)(0x04 | REGISTER_OPERAND(XmmReg)<<3);
    987                             OpBuffer[obp++]=(char)0x25;
    988                             *((long *)(OpBuffer+obp))=i3;
    989                             pobj_DataTableSchedule->add();
    990                             obp+=sizeof(long);
     977                            compiler.codeGenerator.op_movlpd_RM( XmmReg, 0, i3, MOD_DISP32, Schedule::DataTable );
    991978                        }
    992979                    }
     
    1010997
    1011998                            //movss xmm_reg,dword ptr[data table offset]
    1012                             OpBuffer[obp++]=(char)0xF3;
    1013                             OpBuffer[obp++]=(char)0x0F;
    1014                             OpBuffer[obp++]=(char)0x10;
    1015                             OpBuffer[obp++]=(char)(0x04 | REGISTER_OPERAND(XmmReg)<<3);
    1016                             OpBuffer[obp++]=(char)0x25;
    1017                             *((long *)(OpBuffer+obp))=i3;
    1018                             pobj_DataTableSchedule->add();
    1019                             obp+=sizeof(long);
     999                            compiler.codeGenerator.op_movss_RM( XmmReg, 0, i3, MOD_DISP32, Schedule::DataTable );
    10201000                        }
    10211001                    }
     
    11491129
    11501130                //movlpd xmm_reg,qword ptr[data table offset]
    1151                 OpBuffer[obp++]=(char)0x66;
    1152                 OpBuffer[obp++]=(char)0x0F;
    1153                 OpBuffer[obp++]=(char)0x12;
    1154                 OpBuffer[obp++]=(char)(0x04 | REGISTER_OPERAND(XmmReg)<<3);
    1155                 OpBuffer[obp++]=(char)0x25;
    1156                 *((long *)(OpBuffer+obp))=i3;
    1157                 pobj_DataTableSchedule->add();
    1158                 obp+=sizeof(long);
     1131                compiler.codeGenerator.op_movlpd_RM( XmmReg, 0, i3, MOD_DISP32, Schedule::DataTable );
    11591132            }
    11601133            if(resultType.IsSingle()){
     
    11691142
    11701143                //movss xmm_reg,dword ptr[data table offset]
    1171                 OpBuffer[obp++]=(char)0xF3;
    1172                 OpBuffer[obp++]=(char)0x0F;
    1173                 OpBuffer[obp++]=(char)0x10;
    1174                 OpBuffer[obp++]=(char)(0x04 | REGISTER_OPERAND(XmmReg)<<3);
    1175                 OpBuffer[obp++]=(char)0x25;
    1176                 *((long *)(OpBuffer+obp))=i3;
    1177                 pobj_DataTableSchedule->add();
    1178                 obp+=sizeof(long);
     1144                compiler.codeGenerator.op_movss_RM( XmmReg, 0, i3, MOD_DISP32, Schedule::DataTable );
    11791145            }
    11801146        }
Note: See TracChangeset for help on using the changeset viewer.