|
@@ -773,8 +773,12 @@ implementation
|
|
|
|
|
|
|
|
|
|
procedure tcgcpu.maybeadjustresult(list : TAsmList; op : TOpCg; size : tcgsize; dst : tregister);
|
|
procedure tcgcpu.maybeadjustresult(list : TAsmList; op : TOpCg; size : tcgsize; dst : tregister);
|
|
|
|
+ const
|
|
|
|
+ overflowops = [OP_MUL,OP_SHL,OP_ADD,OP_SUB,OP_NEG];
|
|
begin
|
|
begin
|
|
-
|
|
|
|
|
|
+ if (op in overflowops) and
|
|
|
|
+ (size in [OS_8,OS_S8,OS_16,OS_S16]) then
|
|
|
|
+ a_load_reg_reg(list,OS_32,size,dst,dst);
|
|
end;
|
|
end;
|
|
|
|
|
|
|
|
|