* 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:
nickysn 2020-05-07 11:51:58 +00:00
parent 4f4d8191f0
commit 92043c6e20

View File

@ -2846,39 +2846,8 @@ unit cgcpu;
tempref : treference;
begin
case op of
OP_NOT:
begin
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;
OP_NOT,OP_NEG:
inherited;
else
begin
get_64bit_ops(op,op1,op2);