summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorlaksen <laksen@3ad0048d-3df7-0310-abae-a5850022a9f2>2018-07-23 10:20:32 +0000
committerlaksen <laksen@3ad0048d-3df7-0310-abae-a5850022a9f2>2018-07-23 10:20:32 +0000
commit1db72037b6344c54b058337d2ce7d4b3ba3b2870 (patch)
tree539847d1f5301be5e0b84c7672e925f9e6efee9e
parent3d513c151f7b60e80febeb2640bb7b05cad7e776 (diff)
downloadfpc-1db72037b6344c54b058337d2ce7d4b3ba3b2870.tar.gz
Fixed missing maybeadjust calls after not operation.
git-svn-id: https://svn.freepascal.org/svn/fpc/branches/laksen@39493 3ad0048d-3df7-0310-abae-a5850022a9f2
-rw-r--r--riscv_new/compiler/riscv/cgrv.pas10
1 files changed, 8 insertions, 2 deletions
diff --git a/riscv_new/compiler/riscv/cgrv.pas b/riscv_new/compiler/riscv/cgrv.pas
index 63c1d453ea..d73c800549 100644
--- a/riscv_new/compiler/riscv/cgrv.pas
+++ b/riscv_new/compiler/riscv/cgrv.pas
@@ -233,9 +233,15 @@ unit cgrv;
procedure tcgrv.a_op_reg_reg_reg(list: TAsmList; op: TOpCg; size: tcgsize; src1, src2, dst: tregister);
begin
if op=OP_NOT then
- a_op_const_reg_reg(list,OP_XOR,size,-1,src1,dst)
+ begin
+ list.concat(taicpu.op_reg_reg_const(A_XORI,dst,src1,-1));
+ maybeadjustresult(list,op,size,dst);
+ end
else if op=OP_NEG then
- a_op_reg_reg_reg(list,OP_SUB,size,src1,NR_X0,dst)
+ begin
+ list.concat(taicpu.op_reg_reg_reg(A_SUB,dst,NR_X0,src1));
+ maybeadjustresult(list,op,size,dst);
+ end
else
case op of
OP_MOVE: