diff options
Diffstat (limited to 'compiler/ncgutil.pas')
-rw-r--r-- | compiler/ncgutil.pas | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/compiler/ncgutil.pas b/compiler/ncgutil.pas index 2b519edaa9..2f7790d19c 100644 --- a/compiler/ncgutil.pas +++ b/compiler/ncgutil.pas @@ -1039,10 +1039,14 @@ implementation begin unget_para(paraloc^); gen_alloc_regloc(list,destloc); - cg.a_load_cgparaloc_anyreg(list,OS_32,paraloc^,destloc.register,sizeof(aint)); + cg.a_load_cgparaloc_anyreg(list,OS_INT,paraloc^,destloc.register,sizeof(aint)); unget_para(paraloc^.Next^); gen_alloc_regloc(list,destloc); - cg.a_load_cgparaloc_anyreg(list,OS_32,paraloc^.Next^,destloc.registerhi,sizeof(aint)); + {$if defined(cpu16bitalu) or defined(cpu8bitalu)} + cg.a_load_cgparaloc_anyreg(list,OS_INT,paraloc^.Next^,GetNextReg(destloc.register),sizeof(aint)); + {$else} + cg.a_load_cgparaloc_anyreg(list,OS_INT,paraloc^.Next^,destloc.registerhi,sizeof(aint)); + {$endif} end else internalerror(200410105); |