From 3b2fe2b622b9c593553689c823cadd4665eb58e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?K=C3=A1roly=20Balogh?= <karoly@freepascal.org> Date: Tue, 7 Mar 2006 23:01:55 +0000 Subject: [PATCH] * some more tiny m68k hacks... git-svn-id: trunk@2804 - --- .gitattributes | 2 +- compiler/m68k/aasmcpu.pas | 2 +- compiler/m68k/{agcpugas.pas => ag68kgas.pas} | 2 +- compiler/m68k/cpubase.pas | 16 +++++++++++++--- compiler/m68k/cpupara.pas | 4 ++-- compiler/m68k/cputarg.pas | 2 +- compiler/m68k/ra68kmot.pas | 2 +- 7 files changed, 20 insertions(+), 10 deletions(-) rename compiler/m68k/{agcpugas.pas => ag68kgas.pas} (99%) diff --git a/.gitattributes b/.gitattributes index 59617fd11c..c5a214fe7a 100644 --- a/.gitattributes +++ b/.gitattributes @@ -165,7 +165,7 @@ compiler/impdef.pas svneol=native#text/plain compiler/import.pas svneol=native#text/plain compiler/link.pas svneol=native#text/plain compiler/m68k/aasmcpu.pas svneol=native#text/plain -compiler/m68k/agcpugas.pas svneol=native#text/plain +compiler/m68k/ag68kgas.pas svneol=native#text/plain compiler/m68k/aoptcpu.pas svneol=native#text/plain compiler/m68k/aoptcpub.pas svneol=native#text/plain compiler/m68k/aoptcpud.pas svneol=native#text/plain diff --git a/compiler/m68k/aasmcpu.pas b/compiler/m68k/aasmcpu.pas index 0dba0b889f..42e3b1b060 100644 --- a/compiler/m68k/aasmcpu.pas +++ b/compiler/m68k/aasmcpu.pas @@ -107,7 +107,7 @@ type globtype; -{$WARNING FIX ME!! useful for debug, remove it, same table as in agcpugas } +{$WARNING FIX ME!! useful for debug, remove it, same table as in ag68kgas } const gas_op2str:op2strtable= { warning: CPU32 opcodes are not fully compatible with the MC68020. } diff --git a/compiler/m68k/agcpugas.pas b/compiler/m68k/ag68kgas.pas similarity index 99% rename from compiler/m68k/agcpugas.pas rename to compiler/m68k/ag68kgas.pas index cda7126ddc..c4aca54fc3 100644 --- a/compiler/m68k/agcpugas.pas +++ b/compiler/m68k/ag68kgas.pas @@ -21,7 +21,7 @@ } { This unit implements an asmoutput class for i386 AT&T syntax } -unit agcpugas; +unit ag68kgas; {$i fpcdefs.inc} diff --git a/compiler/m68k/cpubase.pas b/compiler/m68k/cpubase.pas index 90bf3eebbf..e0184bcf01 100644 --- a/compiler/m68k/cpubase.pas +++ b/compiler/m68k/cpubase.pas @@ -417,11 +417,21 @@ implementation cgsize2subreg:=R_SUBWHOLE; OS_64,OS_S64: begin - writeln('64bit regsize?'); +// writeln('64bit regsize?'); cgsize2subreg:=R_SUBWHOLE; end; + OS_F32 : + cgsize2subreg:=R_SUBFS; + OS_F64 : + cgsize2subreg:=R_SUBFD; +{ + begin + // is this correct? (KB) + cgsize2subreg:=R_SUBNONE; + end; +} else begin - writeln('hmm!?'); + writeln('M68K: invalid register size'); // this supposed to be debug // p:=nil; dword(p^):=0; // internalerror(200301231); @@ -438,7 +448,7 @@ implementation R_INTREGISTER : result:=OS_32; R_FPUREGISTER : - result:=OS_F32; + result:=OS_F64; else internalerror(200303181); end; diff --git a/compiler/m68k/cpupara.pas b/compiler/m68k/cpupara.pas index 33d1b83dfd..57d7519188 100644 --- a/compiler/m68k/cpupara.pas +++ b/compiler/m68k/cpupara.pas @@ -374,7 +374,7 @@ unit cpupara; else if (loc = LOC_FPUREGISTER) and (nextfloatreg <= RS_FP2) then begin - writeln('loc fpuregister'); +// writeln('loc fpuregister'); paraloc^.loc:=loc; paraloc^.size := paracgsize; paraloc^.register:=newreg(R_FPUREGISTER,nextfloatreg,R_SUBWHOLE); @@ -384,7 +384,7 @@ unit cpupara; else { LOC_REFERENCE } } begin - writeln('loc reference'); +// writeln('loc reference'); paraloc^.loc:=LOC_REFERENCE; paraloc^.size:=int_cgsize(paralen); if (side = callerside) then diff --git a/compiler/m68k/cputarg.pas b/compiler/m68k/cputarg.pas index 891caac8c6..ad73f0f145 100644 --- a/compiler/m68k/cputarg.pas +++ b/compiler/m68k/cputarg.pas @@ -55,7 +55,7 @@ implementation Assemblers **************************************} - ,agcpugas + ,ag68kgas ; end. diff --git a/compiler/m68k/ra68kmot.pas b/compiler/m68k/ra68kmot.pas index d77b050f02..897930be04 100644 --- a/compiler/m68k/ra68kmot.pas +++ b/compiler/m68k/ra68kmot.pas @@ -105,7 +105,7 @@ Implementation { pass 1 } nbas, { parser } - scanner,agcpugas, + scanner,ag68kgas, itcpugas ;