changeset 742:bdae6a221174

i64 continue...
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Tue, 09 Nov 2010 22:19:02 +0900
parents ebf5ae3f3863
children 78f57ff5c86e
files mc-code-i64.c
diffstat 1 files changed, 123 insertions(+), 125 deletions(-) [+]
line wrap: on
line diff
--- a/mc-code-i64.c	Tue Nov 09 17:56:33 2010 +0900
+++ b/mc-code-i64.c	Tue Nov 09 22:19:02 2010 +0900
@@ -40,126 +40,126 @@
 
 static
 char *init_src0 = "\
-#define __DBL_MIN_EXP__ (-1021) \
-#define __FLT_MIN__ 1.17549435e-38F \
-#define __DEC64_DEN__ 0.000000000000001E-383DD \
-#define __CHAR_BIT__ 8 \
-#define __WCHAR_MAX__ 2147483647 \
-#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 \
-#define __FLT_EVAL_METHOD__ 0 \
-#define __DBL_MIN_10_EXP__ (-307) \
-#define __FINITE_MATH_ONLY__ 0 \
-#define __DEC64_MAX_EXP__ 384 \
-#define __SHRT_MAX__ 32767 \
-#define __LDBL_MAX__ 1.18973149535723176502e+4932L \
-#define __APPLE_CC__ 5664 \
-#define __UINTMAX_TYPE__ long unsigned int \
-#define __DEC32_EPSILON__ 1E-6DF \
-#define __SCHAR_MAX__ 127 \
-#define __USER_LABEL_PREFIX__ _ \
-#define __STDC_HOSTED__ 1 \
-#define __DEC64_MIN_EXP__ (-383) \
-#define __DBL_DIG__ 15 \
-#define __FLT_EPSILON__ 1.19209290e-7F \
-#define __LDBL_MIN__ 3.36210314311209350626e-4932L \
-#define __DEC32_MAX__ 9.999999E96DF \
-#define __strong  \
-#define __APPLE__ 1 \
-#define __DECIMAL_DIG__ 21 \
-#define __LDBL_HAS_QUIET_NAN__ 1 \
-#define __DYNAMIC__ 1 \
-#define __GNUC__ 4 \
-#define __MMX__ 1 \
-#define __FLT_HAS_DENORM__ 1 \
-#define __DBL_MAX__ 1.7976931348623157e+308 \
-#define __DBL_HAS_INFINITY__ 1 \
-#define __DEC32_MIN_EXP__ (-95) \
-#define OBJC_NEW_PROPERTIES 1 \
-#define __STRICT_ANSI__ 1 \
-#define __LDBL_HAS_DENORM__ 1 \
-#define __DEC32_MIN__ 1E-95DF \
-#define __weak __attribute__((objc_gc(weak))) \
-#define __DBL_MAX_EXP__ 1024 \
-#define __DEC128_EPSILON__ 1E-33DL \
-#define __SSE2_MATH__ 1 \
-#define __amd64 1 \
-#define __tune_core2__ 1 \
-#define __LONG_LONG_MAX__ 9223372036854775807LL \
-#define __GXX_ABI_VERSION 1002 \
-#define __FLT_MIN_EXP__ (-125) \
-#define __x86_64 1 \
-#define __DBL_MIN__ 2.2250738585072014e-308 \
-#define __LP64__ 1 \
-#define __DBL_HAS_QUIET_NAN__ 1 \
-#define __DEC128_MIN__ 1E-6143DL \
-#define __REGISTER_PREFIX__  \
-#define __DBL_HAS_DENORM__ 1 \
-#define __NO_INLINE__ 1 \
-#define __DEC_EVAL_METHOD__ 2 \
-#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL \
-#define __FLT_MANT_DIG__ 24 \
-#define __VERSION__ \"Micro C\" \
-#define __DEC64_EPSILON__ 1E-15DD \
-#define __DEC128_MIN_EXP__ (-6143) \
-#define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 1064 \
-#define __SIZE_TYPE__ long unsigned int \
-#define __DEC32_DEN__ 0.000001E-95DF \
-#define __FLT_RADIX__ 2 \
-#define __LDBL_EPSILON__ 1.08420217248550443401e-19L \
-#define __SSE_MATH__ 1 \
-#define __k8 1 \
-#define __LDBL_DIG__ 18 \
-#define __x86_64__ 1 \
-#define __FLT_HAS_QUIET_NAN__ 1 \
-#define __FLT_MAX_10_EXP__ 38 \
-#define __LONG_MAX__ 9223372036854775807L \
-#define __FLT_HAS_INFINITY__ 1 \
-#define __DEC64_MAX__ 9.999999999999999E384DD \
-#define __DEC64_MANT_DIG__ 16 \
-#define __STDC_VERSION__ 199901L \
-#define __DEC32_MAX_EXP__ 96 \
-#define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL \
-#define __LITTLE_ENDIAN__ 1 \
-#define __LDBL_MANT_DIG__ 64 \
-#define __CONSTANT_CFSTRINGS__ 1 \
-#define __DEC32_MANT_DIG__ 7 \
-#define __k8__ 1 \
-#define __WCHAR_TYPE__ int \
-#define __pic__ 2 \
-#define __FLT_DIG__ 6 \
-#define __INT_MAX__ 2147483647 \
-#define __FLT_MAX_EXP__ 128 \
-#define __DBL_MANT_DIG__ 53 \
-#define __DEC64_MIN__ 1E-383DD \
-#define __WINT_TYPE__ int \
-#define __SSE__ 1 \
-#define __LDBL_MIN_EXP__ (-16381) \
-#define __MACH__ 1 \
-#define __amd64__ 1 \
-#define __LDBL_MAX_EXP__ 16384 \
-#define __SSP__ 1 \
-#define __LDBL_MAX_10_EXP__ 4932 \
-#define __DBL_EPSILON__ 2.2204460492503131e-16 \
-#define _LP64 1 \
-#define __GNUC_PATCHLEVEL__ 1 \
-#define __LDBL_HAS_INFINITY__ 1 \
-#define __GNUC_STDC_INLINE__ 1 \
-#define __INTMAX_MAX__ 9223372036854775807L \
-#define __FLT_DENORM_MIN__ 1.40129846e-45F \
-#define __PIC__ 2 \
-#define __FLT_MAX__ 3.40282347e+38F \
-#define __SSE2__ 1 \
-#define __FLT_MIN_10_EXP__ (-37) \
-#define __INTMAX_TYPE__ long int \
-#define __DEC128_MAX_EXP__ 6144 \
-#define __GNUC_MINOR__ 2 \
-#define __DBL_MAX_10_EXP__ 308 \
-#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L \
-#define __STDC__ 1 \
-#define __PTRDIFF_TYPE__ long int \
-#define __DEC128_MANT_DIG__ 34 \
-#define __LDBL_MIN_10_EXP__ (-4931) \
-#define __SSE3__ 1 \
+#define __DBL_MIN_EXP__ (-1021) \n\
+#define __FLT_MIN__ 1.17549435e-38F \n\
+#define __DEC64_DEN__ 0.000000000000001E-383DD \n\
+#define __CHAR_BIT__ 8 \n\
+#define __WCHAR_MAX__ 2147483647 \n\
+#define __DBL_DENORM_MIN__ 4.9406564584124654e-324 \n\
+#define __FLT_EVAL_METHOD__ 0 \n\
+#define __DBL_MIN_10_EXP__ (-307) \n\
+#define __FINITE_MATH_ONLY__ 0 \n\
+#define __DEC64_MAX_EXP__ 384 \n\
+#define __SHRT_MAX__ 32767 \n\
+#define __LDBL_MAX__ 1.18973149535723176502e+4932L \n\
+#define __APPLE_CC__ 5664 \n\
+#define __UINTMAX_TYPE__ long unsigned int \n\
+#define __DEC32_EPSILON__ 1E-6DF \n\
+#define __SCHAR_MAX__ 127 \n\
+#define __USER_LABEL_PREFIX__ _ \n\
+#define __STDC_HOSTED__ 1 \n\
+#define __DEC64_MIN_EXP__ (-383) \n\
+#define __DBL_DIG__ 15 \n\
+#define __FLT_EPSILON__ 1.19209290e-7F \n\
+#define __LDBL_MIN__ 3.36210314311209350626e-4932L \n\
+#define __DEC32_MAX__ 9.999999E96DF \n\
+#define __strong  \n\
+#define __APPLE__ 1 \n\
+#define __DECIMAL_DIG__ 21 \n\
+#define __LDBL_HAS_QUIET_NAN__ 1 \n\
+#define __DYNAMIC__ 1 \n\
+#define __GNUC__ 4 \n\
+#define __MMX__ 1 \n\
+#define __FLT_HAS_DENORM__ 1 \n\
+#define __DBL_MAX__ 1.7976931348623157e+308 \n\
+#define __DBL_HAS_INFINITY__ 1 \n\
+#define __DEC32_MIN_EXP__ (-95) \n\
+#define OBJC_NEW_PROPERTIES 1 \n\
+#define __STRICT_ANSI__ 1 \n\
+#define __LDBL_HAS_DENORM__ 1 \n\
+#define __DEC32_MIN__ 1E-95DF \n\
+#define __weak __attribute__((objc_gc(weak))) \n\
+#define __DBL_MAX_EXP__ 1024 \n\
+#define __DEC128_EPSILON__ 1E-33DL \n\
+#define __SSE2_MATH__ 1 \n\
+#define __amd64 1 \n\
+#define __tune_core2__ 1 \n\
+#define __LONG_LONG_MAX__ 9223372036854775807LL \n\
+#define __GXX_ABI_VERSION 1002 \n\
+#define __FLT_MIN_EXP__ (-125) \n\
+#define __x86_64 1 \n\
+#define __DBL_MIN__ 2.2250738585072014e-308 \n\
+#define __LP64__ 1 \n\
+#define __DBL_HAS_QUIET_NAN__ 1 \n\
+#define __DEC128_MIN__ 1E-6143DL \n\
+#define __REGISTER_PREFIX__  \n\
+#define __DBL_HAS_DENORM__ 1 \n\
+#define __NO_INLINE__ 1 \n\
+#define __DEC_EVAL_METHOD__ 2 \n\
+#define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL \n\
+#define __FLT_MANT_DIG__ 24 \n\
+#define __VERSION__ \"Micro C\" \n\
+#define __DEC64_EPSILON__ 1E-15DD \n\
+#define __DEC128_MIN_EXP__ (-6143) \n\
+#define __ENVIRONMENT_MAC_OS_X_VERSION_MIN_REQUIRED__ 1064 \n\
+#define __SIZE_TYPE__ long unsigned int \n\
+#define __DEC32_DEN__ 0.000001E-95DF \n\
+#define __FLT_RADIX__ 2 \n\
+#define __LDBL_EPSILON__ 1.08420217248550443401e-19L \n\
+#define __SSE_MATH__ 1 \n\
+#define __k8 1 \n\
+#define __LDBL_DIG__ 18 \n\
+#define __x86_64__ 1 \n\
+#define __FLT_HAS_QUIET_NAN__ 1 \n\
+#define __FLT_MAX_10_EXP__ 38 \n\
+#define __LONG_MAX__ 9223372036854775807L \n\
+#define __FLT_HAS_INFINITY__ 1 \n\
+#define __DEC64_MAX__ 9.999999999999999E384DD \n\
+#define __DEC64_MANT_DIG__ 16 \n\
+#define __STDC_VERSION__ 199901L \n\
+#define __DEC32_MAX_EXP__ 96 \n\
+#define __DEC128_DEN__ 0.000000000000000000000000000000001E-6143DL \n\
+#define __LITTLE_ENDIAN__ 1 \n\
+#define __LDBL_MANT_DIG__ 64 \n\
+#define __CONSTANT_CFSTRINGS__ 1 \n\
+#define __DEC32_MANT_DIG__ 7 \n\
+#define __k8__ 1 \n\
+#define __WCHAR_TYPE__ int \n\
+#define __pic__ 2 \n\
+#define __FLT_DIG__ 6 \n\
+#define __INT_MAX__ 2147483647 \n\
+#define __FLT_MAX_EXP__ 128 \n\
+#define __DBL_MANT_DIG__ 53 \n\
+#define __DEC64_MIN__ 1E-383DD \n\
+#define __WINT_TYPE__ int \n\
+#define __SSE__ 1 \n\
+#define __LDBL_MIN_EXP__ (-16381) \n\
+#define __MACH__ 1 \n\
+#define __amd64__ 1 \n\
+#define __LDBL_MAX_EXP__ 16384 \n\
+#define __SSP__ 1 \n\
+#define __LDBL_MAX_10_EXP__ 4932 \n\
+#define __DBL_EPSILON__ 2.2204460492503131e-16 \n\
+#define _LP64 1 \n\
+#define __GNUC_PATCHLEVEL__ 1 \n\
+#define __LDBL_HAS_INFINITY__ 1 \n\
+#define __GNUC_STDC_INLINE__ 1 \n\
+#define __INTMAX_MAX__ 9223372036854775807L \n\
+#define __FLT_DENORM_MIN__ 1.40129846e-45F \n\
+#define __PIC__ 2 \n\
+#define __FLT_MAX__ 3.40282347e+38F \n\
+#define __SSE2__ 1 \n\
+#define __FLT_MIN_10_EXP__ (-37) \n\
+#define __INTMAX_TYPE__ long int \n\
+#define __DEC128_MAX_EXP__ 6144 \n\
+#define __GNUC_MINOR__ 2 \n\
+#define __DBL_MAX_10_EXP__ 308 \n\
+#define __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L \n\
+#define __STDC__ 1 \n\
+#define __PTRDIFF_TYPE__ long int \n\
+#define __DEC128_MANT_DIG__ 34 \n\
+#define __LDBL_MIN_10_EXP__ (-4931) \n\
+#define __SSE3__ 1 \n\
 "
 #ifdef __APPLE__
 "#define __APPLE__ 1\n"
@@ -1076,10 +1076,10 @@
 	    printf(" %s",register_name(reg_stack[i],0));
     }
 #endif
-    for(i=RET_FREGISTER;i<REAL_MAX_REGISTER;i++) {
+    if (freg) printf("freg=%s ", fregister_name(freg));
+    for(i=RET_FREGISTER;i<REAL_MAX_DREGISTER+REAL_MAX_REGISTER;i++) {
 	printf("%d",regs[i]);
     }
-    printf("## f:%d",freg_sp);
     printf("\n");
 }
 
@@ -1239,8 +1239,6 @@
 void 
 emit_init(void)
 {
-    int i;
-    for(i=1;i<REAL_MAX_REGISTER+1;i++) regs[i]=0; 
     free_all_register();
     reg_sp = 0;
     freg_sp = 0;
@@ -3320,7 +3318,7 @@
 void code_dassign_dregister(int e,int d,int f)
 {
     use_float(d,f);
-    printf("\tmovapd %s,%s",fregister_name(f),fregister_name(e)); 
+    printf("\tmovapd %s,%s\n",fregister_name(f),fregister_name(e)); 
 }
 
 void code_dassign(int e2,int freg,int d)