From a0b0b43d0c607b5a22dfcc89553b63c265a0e2d8 Mon Sep 17 00:00:00 2001 From: florian Date: Sun, 10 Apr 2011 18:37:26 +0000 Subject: [PATCH] + implemented tcgavr.a_jmp_name * updated todos git-svn-id: branches/avr@17287 - --- compiler/avr/cgcpu.pas | 15 ++++++++++----- compiler/avr/cpupara.pas | 2 ++ compiler/avr/navradd.pas | 1 + 3 files changed, 13 insertions(+), 5 deletions(-) diff --git a/compiler/avr/cgcpu.pas b/compiler/avr/cgcpu.pas index 698c231357..89e7b7d17d 100644 --- a/compiler/avr/cgcpu.pas +++ b/compiler/avr/cgcpu.pas @@ -591,7 +591,7 @@ unit cgcpu; end; end; - +{ TODO : support usage of ref.base register parameter } function tcgavr.normalize_ref(list:TAsmList;ref: treference):treference; var tmpreg : tregister; @@ -1075,22 +1075,27 @@ unit cgcpu; { comparison operations } - procedure tcgavr.a_cmp_const_reg_label(list : TAsmList;size : tcgsize;cmp_op : topcmp;a : aint;reg : tregister; - l : tasmlabel); + procedure tcgavr.a_cmp_const_reg_label(list : TAsmList;size : tcgsize; + cmp_op : topcmp;a : aint;reg : tregister;l : tasmlabel); begin { TODO : a_cmp_const_reg_label } end; - procedure tcgavr.a_cmp_reg_reg_label(list : TAsmList;size : tcgsize;cmp_op : topcmp;reg1,reg2 : tregister;l : tasmlabel); + procedure tcgavr.a_cmp_reg_reg_label(list : TAsmList;size : tcgsize; + cmp_op : topcmp;reg1,reg2 : tregister;l : tasmlabel); begin { TODO : a_cmp_reg_reg_label } end; procedure tcgavr.a_jmp_name(list : TAsmList;const s : string); + var + ai : taicpu; begin - internalerror(2011021313); + ai:=taicpu.op_sym(A_JMP,current_asmdata.RefAsmSymbol(s)); + ai.is_jmp:=true; + list.concat(ai); end; diff --git a/compiler/avr/cpupara.pas b/compiler/avr/cpupara.pas index 2dfcc63389..d313d24896 100644 --- a/compiler/avr/cpupara.pas +++ b/compiler/avr/cpupara.pas @@ -207,6 +207,7 @@ unit cpupara; end; + { TODO : fix tavrparamanager.create_paraloc_info_intern } function tavrparamanager.create_paraloc_info_intern(p : tabstractprocdef; side: tcallercallee; paras: tparalist; var curintreg, curfloatreg, curmmreg: tsuperregister; var cur_stack_offset: aword):longint; @@ -408,6 +409,7 @@ unit cpupara; end; + { TODO : fix tavrparamanager.get_funcretloc } function tavrparamanager.get_funcretloc(p : tabstractprocdef; side: tcallercallee; def: tdef): tcgpara; var retcgsize : tcgsize; diff --git a/compiler/avr/navradd.pas b/compiler/avr/navradd.pas index ccab06b4e4..b44f02f322 100644 --- a/compiler/avr/navradd.pas +++ b/compiler/avr/navradd.pas @@ -123,6 +123,7 @@ interface var tmpreg : tregister; begin + { TODO : implement tavraddnode.second_cmpsmallset } { pass_left_right;