Changeset 242 in dev for trunk/abdev/BasicCompiler64/Compile_Calc_PushVar.cpp
- Timestamp:
- Jul 27, 2007, 3:40:33 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abdev/BasicCompiler64/Compile_Calc_PushVar.cpp
r232 r242 24 24 if(pRelativeVar->bOffsetOffset){ 25 25 //movlpd xmm_reg,qword ptr[rsp+r11+offset] 26 OpBuffer[obp++]=(char)0x66; 27 OpBuffer[obp++]=(char)0x42; 28 OpBuffer[obp++]=(char)0x0F; 29 OpBuffer[obp++]=(char)0x12; 30 OpBuffer[obp++]=(char)(0x84 | REGISTER_OPERAND(xmm_reg)<<3); 31 OpBuffer[obp++]=(char)0x1C; 32 *((long *)(OpBuffer+obp))=(int)pRelativeVar->offset; 33 AddLocalVarAddrSchedule(); 34 obp+=sizeof(long); 26 compiler.codeGenerator.PutOld( 27 (char)0x66, 28 (char)0x42, 29 (char)0x0F, 30 (char)0x12, 31 (char)(0x84 | REGISTER_OPERAND(xmm_reg)<<3), 32 (char)0x1C 33 ); 34 compiler.codeGenerator.PutOld( 35 (long)pRelativeVar->offset, 36 Schedule::LocalVar 37 ); 35 38 } 36 39 else{ … … 74 77 if(pRelativeVar->bOffsetOffset){ 75 78 //movss xmm_reg,dword ptr[rsp+r11+offset] 76 OpBuffer[obp++]=(char)0xF3; 77 OpBuffer[obp++]=(char)0x42; 78 OpBuffer[obp++]=(char)0x0F; 79 OpBuffer[obp++]=(char)0x10; 80 OpBuffer[obp++]=(char)(0x84 | REGISTER_OPERAND(xmm_reg)<<3); 81 OpBuffer[obp++]=(char)0x1C; 82 *((long *)(OpBuffer+obp))=(int)pRelativeVar->offset; 83 AddLocalVarAddrSchedule(); 84 obp+=sizeof(long); 79 compiler.codeGenerator.PutOld( 80 (char)0xF3, 81 (char)0x42, 82 (char)0x0F, 83 (char)0x10, 84 (char)(0x84 | REGISTER_OPERAND(xmm_reg)<<3), 85 (char)0x1C 86 ); 87 compiler.codeGenerator.PutOld( 88 (long)pRelativeVar->offset, 89 Schedule::LocalVar 90 ); 85 91 } 86 92 else{
Note:
See TracChangeset
for help on using the changeset viewer.