mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2026-01-04 15:00:53 +01:00
* remove unsupported combinations
* reg_ref_reg only allowed for refs_lo,refs_hi
This commit is contained in:
parent
948ef20ecc
commit
0106a4a537
@ -48,8 +48,6 @@ uses
|
||||
constructor op_reg_reg_reg(op : tasmop;_op1,_op2,_op3 : tregister);
|
||||
constructor op_reg_ref_reg(op:tasmop;_op1:TRegister;_op2:TReference;_op3:tregister);
|
||||
constructor op_reg_const_reg(op:tasmop;_op1:TRegister;_op2:aword;_op3:tregister);
|
||||
constructor op_const_ref_reg(op:tasmop;_op1:aword;const _op2:treference;_op3:tregister);
|
||||
constructor op_const_reg_ref(op:tasmop;_op1:aword;_op2:tregister;const _op3:treference);
|
||||
|
||||
{ this is for Jmp instructions }
|
||||
constructor op_cond_sym(op : tasmop;cond:TAsmCond;_op1 : tasmsymbol);
|
||||
@ -181,6 +179,9 @@ implementation
|
||||
internalerror(2003031214);
|
||||
if (_op3.enum = R_INTREGISTER) and (_op3.number = NR_NO) then
|
||||
internalerror(2003031215);
|
||||
{ only allowed to load the address }
|
||||
if not(_op2.symaddr in [refs_lo,refs_hi]) then
|
||||
internalerror(200305311);
|
||||
ops:=3;
|
||||
loadreg(0,_op1);
|
||||
loadref(1,_op2);
|
||||
@ -202,29 +203,6 @@ implementation
|
||||
end;
|
||||
|
||||
|
||||
constructor taicpu.op_const_ref_reg(op:tasmop;_op1:aword;const _op2:treference;_op3:tregister);
|
||||
begin
|
||||
inherited create(op);
|
||||
if (_op3.enum = R_INTREGISTER) and (_op3.number = NR_NO) then
|
||||
internalerror(2003031218);
|
||||
ops:=3;
|
||||
loadconst(0,_op1);
|
||||
loadref(1,_op2);
|
||||
loadreg(2,_op3);
|
||||
end;
|
||||
|
||||
|
||||
constructor taicpu.op_const_reg_ref(op:tasmop;_op1:aword;_op2:tregister;const _op3:treference);
|
||||
begin
|
||||
inherited create(op);
|
||||
if (_op2.enum = R_INTREGISTER) and (_op2.number = NR_NO) then
|
||||
internalerror(2003031219);
|
||||
ops:=3;
|
||||
loadconst(0,_op1);
|
||||
loadreg(1,_op2);
|
||||
loadref(2,_op3);
|
||||
end;
|
||||
|
||||
constructor taicpu.op_cond_sym(op:tasmop;cond:TAsmCond;_op1:tasmsymbol);
|
||||
begin
|
||||
inherited create(op);
|
||||
@ -262,7 +240,11 @@ implementation
|
||||
end.
|
||||
{
|
||||
$Log$
|
||||
Revision 1.27 2003-05-30 23:57:08 peter
|
||||
Revision 1.28 2003-06-01 01:03:41 peter
|
||||
* remove unsupported combinations
|
||||
* reg_ref_reg only allowed for refs_lo,refs_hi
|
||||
|
||||
Revision 1.27 2003/05/30 23:57:08 peter
|
||||
* more sparc cleanup
|
||||
* accumulator removed, splitted in function_return_reg (called) and
|
||||
function_result_reg (caller)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user