Просмотр исходного кода

Fix taicpu.op_reg_reg_sym_ofs and taicpu.op_reg_bool_reg_const methods with wrong indexes (thanks to Curtis Hamilton)

Pierre Muller 3 дней назад
Родитель
Сommit
18f5d5cbf4

+ 1 - 1
compiler/aarch64/aasmcpu.pas

@@ -502,7 +502,7 @@ implementation
          ops:=3;
          ops:=3;
          loadreg(0,_op1);
          loadreg(0,_op1);
          loadreg(1,_op2);
          loadreg(1,_op2);
-         loadsymbol(0,_op3,_op3ofs);
+         loadsymbol(2,_op3,_op3ofs);
       end;
       end;
 
 
 
 

+ 1 - 1
compiler/arm/aasmcpu.pas

@@ -615,7 +615,7 @@ implementation
          ops:=3;
          ops:=3;
          loadreg(0,_op1);
          loadreg(0,_op1);
          loadreg(1,_op2);
          loadreg(1,_op2);
-         loadsymbol(0,_op3,_op3ofs);
+         loadsymbol(2,_op3,_op3ofs);
       end;
       end;
 
 
 
 

+ 4 - 4
compiler/ppcgen/aasmcpu.pas

@@ -224,7 +224,7 @@ uses cutils, cclasses;
          ops:=3;
          ops:=3;
          loadreg(0,_op1);
          loadreg(0,_op1);
          loadreg(1,_op2);
          loadreg(1,_op2);
-         loadsymbol(0,_op3,_op3ofs);
+         loadsymbol(2,_op3,_op3ofs);
       end;
       end;
 
 
      constructor taicpu.op_reg_reg_ref(op : tasmop;_op1,_op2 : tregister; const _op3: treference);
      constructor taicpu.op_reg_reg_ref(op : tasmop;_op1,_op2 : tregister; const _op3: treference);
@@ -290,9 +290,9 @@ uses cutils, cclasses;
          inherited create(op);
          inherited create(op);
          ops:=4;
          ops:=4;
          loadreg(0,_op1);
          loadreg(0,_op1);
-         loadbool(0,_op2);
-         loadreg(0,_op3);
-         loadconst(0,cardinal(_op4));
+         loadbool(1,_op2);
+         loadreg(2,_op3);
+         loadconst(3,cardinal(_op4));
       end;
       end;
 
 
      constructor taicpu.op_reg_reg_reg_const(op : tasmop; _op1, _op2, _op3 : tregister; _op4 : aint);
      constructor taicpu.op_reg_reg_reg_const(op : tasmop; _op1, _op2, _op3 : tregister; _op4 : aint);

+ 3 - 3
compiler/riscv/aasmcpu.pas

@@ -350,9 +350,9 @@ uses cutils, cclasses;
          inherited create(op);
          inherited create(op);
          ops:=4;
          ops:=4;
          loadreg(0,_op1);
          loadreg(0,_op1);
-         loadbool(0,_op2);
-         loadreg(0,_op3);
-         loadconst(0,cardinal(_op4));
+         loadbool(1,_op2);
+         loadreg(2,_op3);
+         loadconst(3,cardinal(_op4));
       end;
       end;
 
 
      constructor taicpu.op_reg_reg_reg_const(op : tasmop; _op1, _op2, _op3 : tregister; _op4 : aint);
      constructor taicpu.op_reg_reg_reg_const(op : tasmop; _op1, _op2, _op3 : tregister; _op4 : aint);

+ 3 - 3
compiler/xtensa/aasmcpu.pas

@@ -296,9 +296,9 @@ uses cutils, cclasses;
          inherited create(op);
          inherited create(op);
          ops:=4;
          ops:=4;
          loadreg(0,_op1);
          loadreg(0,_op1);
-         loadbool(0,_op2);
-         loadreg(0,_op3);
-         loadconst(0,cardinal(_op4));
+         loadbool(1,_op2);
+         loadreg(2,_op3);
+         loadconst(3,cardinal(_op4));
       end;
       end;
 
 
      constructor taicpu.op_reg_reg_reg_const(op : tasmop; _op1, _op2, _op3 : tregister; _op4 : aint);
      constructor taicpu.op_reg_reg_reg_const(op : tasmop; _op1, _op2, _op3 : tregister; _op4 : aint);