Changeset 242 in dev for trunk/abdev/BasicCompiler64/NumOpe.cpp
- Timestamp:
- Jul 27, 2007, 3:40:33 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/NumOpe.cpp
r232 r242 603 603 604 604 //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 ); 609 606 610 607 free( buffer ); … … 796 793 797 794 //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); 802 796 803 797 if(UseReg==REG_R14){ … … 981 975 982 976 //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 ); 991 978 } 992 979 } … … 1010 997 1011 998 //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 ); 1020 1000 } 1021 1001 } … … 1149 1129 1150 1130 //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 ); 1159 1132 } 1160 1133 if(resultType.IsSingle()){ … … 1169 1142 1170 1143 //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 ); 1179 1145 } 1180 1146 }
Note:
See TracChangeset
for help on using the changeset viewer.