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/Compile_Calc_PushVar.cpp

    r232 r242  
    2424        if(pRelativeVar->bOffsetOffset){
    2525            //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            );
    3538        }
    3639        else{
     
    7477        if(pRelativeVar->bOffsetOffset){
    7578            //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            );
    8591        }
    8692        else{
Note: See TracChangeset for help on using the changeset viewer.