changeset 666:7c42cf329666

*** empty log message ***
author kono
date Mon, 30 Apr 2007 02:19:48 +0900
parents 2cc418b247ce
children dbfbeb05210c
files .gdbinit Changes Makefile Makefile.ia32 mc-code-spu.c
diffstat 5 files changed, 41 insertions(+), 65 deletions(-) [+]
line wrap: on
line diff
--- a/.gdbinit	Sat Apr 28 22:55:19 2007 +0900
+++ b/.gdbinit	Mon Apr 30 02:19:48 2007 +0900
@@ -1,61 +1,17 @@
+tb main
 define regs 
-printf "pc =%08x lr =%08x r0 =%08x r1 =%08x r3= %08x r4= %08x\n",$pc,$lr,$r0,$r1,$r3,$r4
-printf "r10=%08x r11=%08x r12=%08x r13=%08x r14=%08x r15=%08x\n",$r10,$r11,$r12,$r13,$r14,$r15
-end
-define fregs 
-printf "f1=%g f2=%g f3=%g f4=%g f5=%g f6=%g\n",$f1,$f2,$f3,$f4,$f5,$f6
-printf "f10=%g f11=%g f12=%g f13=%g f14=%g f15=%g\n",$f10,$f11,$f12,$f13,$f14,$f15
-end
-define allreg
-printf "pc =%08x lr =%08x r0 =%08x r1 =%08x r3= %08x r4= %08x\n",$pc,$lr,$r0,$r1,$r3,$r4
-printf "r5=%08x r6=%08x r7=%08x r8=%08x r9=%08x\n",$r5,$r6,$r7,$r8,$r9
-printf "r10=%08x r11=%08x r12=%08x r13=%08x r14=%08x r15=%08x\n",$r10,$r11,$r12,$r13,$r14,$r15
-printf "r16=%08x r17=%08x r18=%08x r19=%08x r20=%08x r21=%08x\n",$r10,$r11,$r12,$r13,$r14,$r15
-printf "f1=%g f2=%g f3=%g f4=%g f5=%g f6=%g\n",$f1,$f2,$f3,$f4,$f5,$f6
-printf "f10=%g f11=%g f12=%g f13=%g f14=%g f15=%g\n",$f10,$f11,$f12,$f13,$f14,$f15
-printf "f20=%g f21=%g f22=%g f23=%g f24=%g f25=%g\n",$f20,$f21,$f22,$f23,$f24,$f25
-end
-define sh
-regs
-x/20i $pc-36
+call (void)printf("eax=%08x ebx=%08x ecx=%08x edx=%08x\nesi=%08x edi=%08x ebp=%08x esp=%08x eip=%08x\n",$eax,$ebx,$ecx,$edx,$esi,$edi,$ebp,$esp,$eip)
 end
 define si
 stepi
 regs
-x/1i $pc
+x/1i $eip
 end
 define ni
 nexti
 regs
-x/1i $pc
+x/1i $eip
 end
 b errmsg
-tb main
-# run  -s test/inline.c
-# run  -s mc-parse.c
-# run  -s mc-codegen.c
-# run  -s nkf203/nkf.c
-# run  -s -ob01.s mc-switch.c
-# run  -s l.c
-# run  -s test/const.c
-# run  -s test/basic.c
-# run -s test/code-gen-all.c
-# run -s test/tmp7.c
-# run -s test/inline.c
-# run -s test/code-gen-inline.c
-# run -s -DINLINE=inline test/basic.c
-# run -s test/too-long-argument.c
-# run -s -DINLINE=inline test/strinit.c
-# run -DINLINE=inline test/scope.c
-run -s test/code-gen-all.c
-# run -DINLINE=inline test/bitfield1.c
-# run -s test/linux_kernel.c.--- 
-# run -s test/stralign.c
-# run -s test/putenemy.c
-# run -s test/float_gcc.c
-# run -s test/func_conv_err.c
-# run -DINLINE=inline test/tmp7.c
-# run -DINLINE=inline test/code-gen-all.c
-# run -s throw.c
-# run -s test/simp.c
-# run -s test/ps2.c
+r -s test/code-gen-all.c
+# r -s mc-code-powerpc.c
--- a/Changes	Sat Apr 28 22:55:19 2007 +0900
+++ b/Changes	Mon Apr 30 02:19:48 2007 +0900
@@ -9217,4 +9217,18 @@
 が出るらしい。g_expr は use flag を1にするので注意。
 
 
-
+Sun Apr 29 23:59:16 JST 2007
+
+mc-ia32 では、function callをpush を使わないように直さないとだめ
+らしい。浮動小数点もSSE2に直すべきでしょう。結構、めんどくさい。
+
+long double もいるのかなぁ。
+
+mc-powerpc for PS3 は、なにがこけるのかよくわからん。
+
+mc-spu も、まだまだ、やることはあるらしい。この三つをいつ片付けるの?
+一緒にか?
+
+まぁ、のりの問題だがな。
+
+64bit 対応をどうするんだろう?
--- a/Makefile	Sat Apr 28 22:55:19 2007 +0900
+++ b/Makefile	Mon Apr 30 02:19:48 2007 +0900
@@ -23,9 +23,9 @@
 #
 TARGET=test/simp
 
-all: mc-include.c mc
+all: mc
 
-mc:  mc-$(ARCH)
+mc:   mc-$(ARCH)
 	cp mc-$(ARCH) mc
 
 TAGS:
@@ -36,18 +36,21 @@
 		mc-inline.h mc-inline.c \
 		conv/conv.h conv/convdef.h conv/null.c
 
-mc-powerpc : mc-code-powerpc.o $(COMPLIB) $(CONVERTER)
+mc-powerpc :mc-include.c mc-code-powerpc.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-powerpc.o $(COMPLIB) $(CONVERTER) -o $@
 
-mc-ia32 : mc-code-ia32.o $(COMPLIB) $(CONVERTER)
+mc-ia32 :mc-include.c mc-code-ia32.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-ia32.o $(COMPLIB) $(CONVERTER) -o $@
 
-mc-mips : mc-code-mips.o $(COMPLIB) $(CONVERTER)
+mc-mips :mc-include.c mc-code-mips.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-mips.o $(COMPLIB) $(CONVERTER) -o $@
 
-mc-arm : mc-code-arm.o $(COMPLIB) $(CONVERTER)
+mc-arm :mc-include.c mc-code-arm.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-arm.o $(COMPLIB) $(CONVERTER) -o $@
 
+mc-spu :mc-include.c mc-code-spu.o $(COMPLIB) $(CONVERTER)
+	$(CC) $(LDFLAGS) -g mc-code-spu.o $(COMPLIB) $(CONVERTER) -o $@
+
 conv/conv.h: conv_func.tbl tools/conv_func.pl
 	perl tools/conv_func.pl
 conv/convdef.h: conv_func.tbl tools/conv_func.pl
--- a/Makefile.ia32	Sat Apr 28 22:55:19 2007 +0900
+++ b/Makefile.ia32	Mon Apr 30 02:19:48 2007 +0900
@@ -23,9 +23,9 @@
 #
 TARGET=test/simp
 
-all: mc-include.c mc
+all: mc
 
-mc:  mc-$(ARCH)
+mc:   mc-$(ARCH)
 	cp mc-$(ARCH) mc
 
 TAGS:
@@ -36,18 +36,21 @@
 		mc-inline.h mc-inline.c \
 		conv/conv.h conv/convdef.h conv/null.c
 
-mc-powerpc : mc-code-powerpc.o $(COMPLIB) $(CONVERTER)
+mc-powerpc :mc-include.c mc-code-powerpc.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-powerpc.o $(COMPLIB) $(CONVERTER) -o $@
 
-mc-ia32 : mc-code-ia32.o $(COMPLIB) $(CONVERTER)
+mc-ia32 :mc-include.c mc-code-ia32.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-ia32.o $(COMPLIB) $(CONVERTER) -o $@
 
-mc-mips : mc-code-mips.o $(COMPLIB) $(CONVERTER)
+mc-mips :mc-include.c mc-code-mips.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-mips.o $(COMPLIB) $(CONVERTER) -o $@
 
-mc-arm : mc-code-arm.o $(COMPLIB) $(CONVERTER)
+mc-arm :mc-include.c mc-code-arm.o $(COMPLIB) $(CONVERTER)
 	$(CC) $(LDFLAGS) -g mc-code-arm.o $(COMPLIB) $(CONVERTER) -o $@
 
+mc-spu :mc-include.c mc-code-spu.o $(COMPLIB) $(CONVERTER)
+	$(CC) $(LDFLAGS) -g mc-code-spu.o $(COMPLIB) $(CONVERTER) -o $@
+
 conv/conv.h: conv_func.tbl tools/conv_func.pl
 	perl tools/conv_func.pl
 conv/convdef.h: conv_func.tbl tools/conv_func.pl
--- a/mc-code-spu.c	Sat Apr 28 22:55:19 2007 +0900
+++ b/mc-code-spu.c	Mon Apr 30 02:19:48 2007 +0900
@@ -143,7 +143,7 @@
 #define MAX_TMP_FREG 127
 
 int MAX_REGISTER=127;             /* ARM吾鴻帥10障т戎*/
-#define  REAL_MAX_REGISTER 127    /* ARM吾鴻帥32*/
+#define  REAL_MAX_REGISTER 128    /* ARM吾鴻帥32*/
 
 #define FREG_OFFSET 3
 #define LREG_OFFSET 3
@@ -5039,7 +5039,7 @@
     for(i=0;i<reg_sp;i++) {
         if ((reg=reg_stack[i])>=0) {
             code_assign_lvar(
-                (reg_stack[i]=new_lvar(SIZE_OF_INT)*4),reg,0); 
+                (reg_stack[i]=new_lvar(SIZE_OF_INT)),reg,0); 
             reg_stack[i]= reg_stack[i]-REG_LVAR_OFFSET;
 	    free_register(reg);
         }