mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-16 04:49:19 +02:00
* call inherited in tcg64f8086.a_op64_reg_ref for OP_NEG and OP_NOT, because it is handled differently after r45302
git-svn-id: trunk@45305 -
This commit is contained in:
parent
4f4d8191f0
commit
92043c6e20
@ -2846,39 +2846,8 @@ unit cgcpu;
|
|||||||
tempref : treference;
|
tempref : treference;
|
||||||
begin
|
begin
|
||||||
case op of
|
case op of
|
||||||
OP_NOT:
|
OP_NOT,OP_NEG:
|
||||||
begin
|
inherited;
|
||||||
tempref:=ref;
|
|
||||||
tcgx86(cg).make_simple_ref(list,tempref);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
inc(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
inc(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
inc(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
end;
|
|
||||||
OP_NEG:
|
|
||||||
begin
|
|
||||||
tempref:=ref;
|
|
||||||
tcgx86(cg).make_simple_ref(list,tempref);
|
|
||||||
inc(tempref.offset,6);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
dec(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
dec(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_ref(A_NOT,S_W,tempref));
|
|
||||||
dec(tempref.offset,2);
|
|
||||||
cg.a_reg_alloc(list,NR_DEFAULTFLAGS);
|
|
||||||
list.concat(taicpu.op_ref(A_NEG,S_W,tempref));
|
|
||||||
inc(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_const_ref(A_SBB,S_W,-1,tempref));
|
|
||||||
inc(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_const_ref(A_SBB,S_W,-1,tempref));
|
|
||||||
inc(tempref.offset,2);
|
|
||||||
list.concat(taicpu.op_const_ref(A_SBB,S_W,-1,tempref));
|
|
||||||
cg.a_reg_dealloc(list,NR_DEFAULTFLAGS);
|
|
||||||
end;
|
|
||||||
else
|
else
|
||||||
begin
|
begin
|
||||||
get_64bit_ops(op,op1,op2);
|
get_64bit_ops(op,op1,op2);
|
||||||
|
Loading…
Reference in New Issue
Block a user