+ implemented a_load_reg_reg for z80 for fromsize=tosize

git-svn-id: branches/z80@44502 -
This commit is contained in:
nickysn 2020-04-01 22:43:10 +00:00
parent 662ca13f51
commit fc80874e63

View File

@ -1141,93 +1141,24 @@ unit cgcpu;
tmpreg : tregister; tmpreg : tregister;
i : integer; i : integer;
begin begin
list.Concat(tai_comment.Create(strpnew('WARNING! not implemented: a_load_reg_reg'))); if (tcgsize2size[fromsize]>32) or (tcgsize2size[tosize]>32) or (fromsize=OS_NO) or (tosize=OS_NO) then
//if (tcgsize2size[fromsize]>32) or (tcgsize2size[tosize]>32) or (fromsize=OS_NO) or (tosize=OS_NO) then internalerror(2011021310);
// internalerror(2011021310);
// if tosize=fromsize then
//conv_done:=false; begin
//if tosize<>fromsize then if reg1<>reg2 then
// begin for i:=tcgsize2size[fromsize] downto 1 do
// conv_done:=true; begin
// if tcgsize2size[tosize]<=tcgsize2size[fromsize] then emit_mov(list,reg2,reg1);
// fromsize:=tosize; if i<>1 then
// case fromsize of begin
// OS_8: reg1:=GetNextReg(reg1);
// begin reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,reg1); end;
// for i:=2 to tcgsize2size[tosize] do end;
// begin end
// reg2:=GetNextReg(reg2); else
// emit_mov(list,reg2,NR_R1); list.Concat(tai_comment.Create(strpnew('WARNING! not implemented: a_load_reg_reg')));
// end;
// end;
// OS_S8:
// begin
// emit_mov(list,reg2,reg1);
//
// if tcgsize2size[tosize]>1 then
// begin
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,NR_R1);
// list.concat(taicpu.op_reg_const(A_SBRC,reg1,7));
// list.concat(taicpu.op_reg(A_COM,reg2));
// tmpreg:=reg2;
// for i:=3 to tcgsize2size[tosize] do
// begin
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,tmpreg);
// end;
// end;
// end;
// OS_16:
// begin
// emit_mov(list,reg2,reg1);
//
// reg1:=GetNextReg(reg1);
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,reg1);
//
// for i:=3 to tcgsize2size[tosize] do
// begin
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,NR_R1);
// end;
// end;
// OS_S16:
// begin
// emit_mov(list,reg2,reg1);
//
// reg1:=GetNextReg(reg1);
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,reg1);
//
// if tcgsize2size[tosize]>2 then
// begin
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,NR_R1);
// list.concat(taicpu.op_reg_const(A_SBRC,reg1,7));
// list.concat(taicpu.op_reg(A_COM,reg2));
// tmpreg:=reg2;
// for i:=4 to tcgsize2size[tosize] do
// begin
// reg2:=GetNextReg(reg2);
// emit_mov(list,reg2,tmpreg);
// end;
// end;
// end;
// else
// conv_done:=false;
// end;
// end;
//if not conv_done and (reg1<>reg2) then
// begin
// for i:=1 to tcgsize2size[fromsize] do
// begin
// emit_mov(list,reg2,reg1);
// reg1:=GetNextReg(reg1);
// reg2:=GetNextReg(reg2);
// end;
// end;
end; end;