diff mc-code-ia32.c @ 195:c193120ee2a6

*** empty log message ***
author kono
date Sun, 04 Apr 2004 21:17:10 +0900
parents 1b1c58483e67
children 5f70abd9453d
line wrap: on
line diff
--- a/mc-code-ia32.c	Sat Jan 10 17:13:49 2004 +0900
+++ b/mc-code-ia32.c	Sun Apr 04 21:17:10 2004 +0900
@@ -149,11 +149,13 @@
 static int edx_setup();
 static void edx_cleanup();
 static void local_table(void);
+#if FLOAT_CODE
 static char * fload(int d);
 static int code_d1(double d);
 static int code_d2(double d);
+static void code_save_fstacks();
+#endif
 static void code_save_stacks();
-static void code_save_fstacks();
 
 void
 code_init(void)
@@ -215,6 +217,8 @@
 int use_int(int i) { return i;}
 int use_float(int i) { return i;}
 int use_double(int i) { return i;}
+int use_longlong(int i) { return i; }
+
 
 void
 gexpr_code_init(void){
@@ -275,6 +279,12 @@
     return -1;
 }
 
+int 
+get_lregister_var(NMTBL *n)
+{
+    return -1;
+}
+
 int
 register_full(void)
 {
@@ -1082,11 +1092,13 @@
     e3 = cadr(e2 = cadr(e1));
     g_expr(e2);
     switch (car(e1)) {
+#if FLOAT_CODE
     case FRINDIRECT: case DRINDIRECT:
 	printf("\t%s (%s)\n",fload(car(e1)==DRINDIRECT),register_name(creg,0));
 	t=DOUBLE;
 	return t;
 	break;
+#endif
     case CRINDIRECT: 
 	byte = 1; op="movsbl";t=CHAR;
 	break;
@@ -1581,8 +1593,10 @@
 emit_data(int e, int t, NMTBL *n)
 {
     int l;
+#if FLOAT_CODE
     double d;
     float f;
+#endif
     char *name;
     name = n->nm; 
     if(mode!=GDECL && mode!=STADECL)  { 
@@ -1612,12 +1626,14 @@
 	    printf("\t.long %d\n",cadr(e));
 	    gpc += size_of_int;
 	}
+#if FLOAT_CODE
     } else if(t==DOUBLE) {       
 	d = dcadr(e);
 	printf("\t.long\t0x%x,0x%x\n",code_d1(d),code_d2(d));
     } else if(t==FLOAT) {       
 	f = dcadr(e);
 	printf("\t.long\t0x%x\n",*(int *)&f);
+#endif
     } else if(t!=CHAR) {       
 	gpc += size_of_int;
 	if(car(e)==ADDRESS&&car(cadr(e))==GVAR) {
@@ -1710,6 +1726,8 @@
 	printf("\t.type\t%s,@object\n",name);
 }
 
+#if FLOAT_CODE
+
 /* floating point */
 
 
@@ -2002,6 +2020,8 @@
     printf("# fpush:%d\n",freg_sp);
 }
 
+#endif
+
 void
 code_save_stacks()
 {
@@ -2022,9 +2042,12 @@
 	    creg=screg;
 	}
     }
+#if FLOAT_CODE
     code_save_fstacks();
+#endif
 }
 
+#if FLOAT_CODE
 void
 code_save_fstacks()
 {
@@ -2040,5 +2063,215 @@
     }
     use = uses;
 }
+#endif
+
+
+
+#if LONGLONG_CODE
+
+
+/* 64bit int part */
+
+void lrexpr(int e1, int e2,int l1, int op)
+{
+}
+
+int lpop_register()
+{
+	return 0;
+}
+
+int emit_lpop()
+{
+	return 0;
+}
+
+void code_lregister(int e2,int reg)
+{
+
+}
+
+void code_cmp_lregister(int reg)
+{
+
+}
+
+void code_cmp_lrgvar(int e1,int e2)
+{
+
+}
+
+void code_cmp_lrlvar(int e1,int e2)
+{
+
+}
+
+void code_lassign(int e1,int e2)
+{
+
+}
+
+void code_lassign_gvar(int e1,int e2)
+{
+
+}
+
+void code_lassign_lvar(int e1,int e2)
+{
+
+}
+
+void code_lassign_lregister(int e2,int reg)
+{
+
+}
+
+void code_lconst(int e1,int e2)
+{
+
+}
+
+void code_lneg(int e1,int e2)
+{
+
+}
+
+void code_lrgvar(int e1,int e2)
+{
+
+}
+
+void code_lrlvar(int e1,int e2)
+{
+
+}
+
+void ltosop(int e1,int e2)
+{
+
+}
+
+void emit_lpop_free(int e1)
+{
+
+}
+
+void emit_lpush()
+{
+
+}
+
+void code_i2ll(int creg)
+{
+
+}
+
+void code_i2ull(int creg)
+{
+
+}
+
+void code_u2ll(int creg)
+{
+
+}
+
+void code_u2ull(int creg)
+{
+
+}
+
+void code_ll2i(int creg)
+{
+
+}
+
+void code_ll2u(int creg)
+{
+
+}
+
+void code_ull2i(int creg)
+{
+
+}
+
+void code_ull2u(int creg)
+{
+
+}
+
+#if FLOAT_CODE
+void code_d2ll(int creg)
+{
+
+}
+
+void code_d2ull(int creg)
+{
+
+}
+
+void code_f2ll(int creg)
+{
+
+}
+
+void code_f2ull(int creg)
+{
+
+}
+
+void code_ll2d(int creg)
+{
+
+}
+
+void code_ll2f(int creg)
+{
+
+}
+
+void code_ull2d(int creg)
+{
+
+}
+
+void code_ull2f(int creg)
+{
+
+}
+
+void code_ull2ll(int creg)
+{
+
+}
+
+void code_ull2ull(int creg)
+{
+
+}
+
+#endif
+
+
+void code_lpreinc(int e1,int e2,int reg)
+{
+
+}
+
+void code_lpostinc(int e1,int e2,int reg)
+{
+
+}
+
+void code_lassop(int op)
+{
+
+}
+
+
+#endif
 
 /* end */
+