aboutsummaryrefslogtreecommitdiff
path: root/gnu/gcc2/libgcc
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/gcc2/libgcc')
-rw-r--r--gnu/gcc2/libgcc/Makefile62
-rw-r--r--gnu/gcc2/libgcc/__gcc_bcmp.c98
-rw-r--r--gnu/gcc2/libgcc/__main.c121
-rw-r--r--gnu/gcc2/libgcc/_adddf3.c31
-rw-r--r--gnu/gcc2/libgcc/_addsf3.c32
-rw-r--r--gnu/gcc2/libgcc/_ashldi3.c109
-rw-r--r--gnu/gcc2/libgcc/_ashlsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_ashrdi3.c110
-rw-r--r--gnu/gcc2/libgcc/_ashrsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_bb.c87
-rw-r--r--gnu/gcc2/libgcc/_clear_cache.c89
-rw-r--r--gnu/gcc2/libgcc/_cmpdi2.c100
-rw-r--r--gnu/gcc2/libgcc/_ctors.c91
-rw-r--r--gnu/gcc2/libgcc/_divdf3.c31
-rw-r--r--gnu/gcc2/libgcc/_divdi3.c117
-rw-r--r--gnu/gcc2/libgcc/_divsf3.c32
-rw-r--r--gnu/gcc2/libgcc/_divsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_eprintf.c202
-rw-r--r--gnu/gcc2/libgcc/_eqdf2.c32
-rw-r--r--gnu/gcc2/libgcc/_eqsf2.c33
-rw-r--r--gnu/gcc2/libgcc/_exit.c90
-rw-r--r--gnu/gcc2/libgcc/_extendsfdf2.c32
-rw-r--r--gnu/gcc2/libgcc/_ffsdi2.c102
-rw-r--r--gnu/gcc2/libgcc/_fixdfdi.c92
-rw-r--r--gnu/gcc2/libgcc/_fixdfsi.c31
-rw-r--r--gnu/gcc2/libgcc/_fixsfdi.c91
-rw-r--r--gnu/gcc2/libgcc/_fixsfsi.c32
-rw-r--r--gnu/gcc2/libgcc/_fixunsdfdi.c106
-rw-r--r--gnu/gcc2/libgcc/_fixunsdfsi.c92
-rw-r--r--gnu/gcc2/libgcc/_fixunssfdi.c107
-rw-r--r--gnu/gcc2/libgcc/_fixunssfsi.c91
-rw-r--r--gnu/gcc2/libgcc/_fixunsxfdi.c84
-rw-r--r--gnu/gcc2/libgcc/_fixunsxfsi.c84
-rw-r--r--gnu/gcc2/libgcc/_fixxfdi.c84
-rw-r--r--gnu/gcc2/libgcc/_floatdidf.c98
-rw-r--r--gnu/gcc2/libgcc/_floatdisf.c99
-rw-r--r--gnu/gcc2/libgcc/_floatdixf.c84
-rw-r--r--gnu/gcc2/libgcc/_floatsidf.c31
-rw-r--r--gnu/gcc2/libgcc/_floatsisf.c32
-rw-r--r--gnu/gcc2/libgcc/_gedf2.c32
-rw-r--r--gnu/gcc2/libgcc/_gesf2.c33
-rw-r--r--gnu/gcc2/libgcc/_gtdf2.c32
-rw-r--r--gnu/gcc2/libgcc/_gtsf2.c33
-rw-r--r--gnu/gcc2/libgcc/_ledf2.c32
-rw-r--r--gnu/gcc2/libgcc/_lesf2.c33
-rw-r--r--gnu/gcc2/libgcc/_lshldi3.c109
-rw-r--r--gnu/gcc2/libgcc/_lshlsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_lshrdi3.c109
-rw-r--r--gnu/gcc2/libgcc/_lshrsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_ltdf2.c32
-rw-r--r--gnu/gcc2/libgcc/_ltsf2.c33
-rw-r--r--gnu/gcc2/libgcc/_moddi3.c116
-rw-r--r--gnu/gcc2/libgcc/_modsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_muldf3.c31
-rw-r--r--gnu/gcc2/libgcc/_muldi3.c97
-rw-r--r--gnu/gcc2/libgcc/_mulsf3.c32
-rw-r--r--gnu/gcc2/libgcc/_mulsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_nedf2.c32
-rw-r--r--gnu/gcc2/libgcc/_negdf2.c31
-rw-r--r--gnu/gcc2/libgcc/_negdi2.c95
-rw-r--r--gnu/gcc2/libgcc/_negsf2.c32
-rw-r--r--gnu/gcc2/libgcc/_nesf2.c33
-rw-r--r--gnu/gcc2/libgcc/_new_handler.c220
-rw-r--r--gnu/gcc2/libgcc/_op_delete.c90
-rw-r--r--gnu/gcc2/libgcc/_op_new.c98
-rw-r--r--gnu/gcc2/libgcc/_shtab.c94
-rw-r--r--gnu/gcc2/libgcc/_subdf3.c31
-rw-r--r--gnu/gcc2/libgcc/_subsf3.c32
-rw-r--r--gnu/gcc2/libgcc/_trampoline.c81
-rw-r--r--gnu/gcc2/libgcc/_truncdfsf2.c32
-rw-r--r--gnu/gcc2/libgcc/_ucmpdi2.c100
-rw-r--r--gnu/gcc2/libgcc/_udiv_w_sdiv.c174
-rw-r--r--gnu/gcc2/libgcc/_udivdi3.c91
-rw-r--r--gnu/gcc2/libgcc/_udivmoddi4.c211
-rw-r--r--gnu/gcc2/libgcc/_udivsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_umoddi3.c93
-rw-r--r--gnu/gcc2/libgcc/_umodsi3.c31
-rw-r--r--gnu/gcc2/libgcc/_varargs.c88
-rw-r--r--gnu/gcc2/libgcc/clean.sed4
-rw-r--r--gnu/gcc2/libgcc/libgcc1.c607
-rw-r--r--gnu/gcc2/libgcc/libgcc2.c1758
81 files changed, 0 insertions, 7899 deletions
diff --git a/gnu/gcc2/libgcc/Makefile b/gnu/gcc2/libgcc/Makefile
deleted file mode 100644
index e6c44dd8a9cb..000000000000
--- a/gnu/gcc2/libgcc/Makefile
+++ /dev/null
@@ -1,62 +0,0 @@
-LIB= gcc
-CC= gcc
-
-SRCS= _mulsi3.c _udivsi3.c _divsi3.c _umodsi3.c _modsi3.c \
- _lshrsi3.c _lshlsi3.c _ashrsi3.c _ashlsi3.c \
- _divdf3.c _muldf3.c _negdf2.c _adddf3.c _subdf3.c \
- _fixdfsi.c _fixsfsi.c _floatsidf.c _floatsisf.c \
- _truncdfsf2.c _extendsfdf2.c \
- _addsf3.c _negsf2.c _subsf3.c _mulsf3.c _divsf3.c \
- _eqdf2.c _nedf2.c _gtdf2.c _gedf2.c _ltdf2.c _ledf2.c \
- _eqsf2.c _nesf2.c _gtsf2.c _gesf2.c _ltsf2.c _lesf2.c \
- _muldi3.c _divdi3.c _moddi3.c _udivdi3.c _umoddi3.c _negdi2.c \
- _lshrdi3.c _lshldi3.c _ashldi3.c _ashrdi3.c _ffsdi2.c \
- _udiv_w_sdiv.c _udivmoddi4.c _cmpdi2.c _ucmpdi2.c \
- _floatdidf.c _floatdisf.c \
- _fixunsdfsi.c _fixunssfsi.c _fixunsdfdi.c _fixdfdi.c \
- _fixunssfdi.c _fixsfdi.c \
- _fixxfdi.c _fixunsxfdi.c _floatdixf.c _fixunsxfsi.c \
- __gcc_bcmp.c _varargs.c _eprintf.c _op_new.c _new_handler.c \
- _op_delete.c _bb.c _shtab.c _clear_cache.c _trampoline.c \
- __main.c _exit.c _ctors.c
-
-.include <bsd.lib.mk>
-
-
-LIB1FUNCS= _mulsi3 _udivsi3 _divsi3 _umodsi3 _modsi3 \
- _lshrsi3 _lshlsi3 _ashrsi3 _ashlsi3 \
- _divdf3 _muldf3 _negdf2 _adddf3 _subdf3 \
- _fixdfsi _fixsfsi _floatsidf _floatsisf \
- _truncdfsf2 _extendsfdf2 \
- _addsf3 _negsf2 _subsf3 _mulsf3 _divsf3 \
- _eqdf2 _nedf2 _gtdf2 _gedf2 _ltdf2 _ledf2 \
- _eqsf2 _nesf2 _gtsf2 _gesf2 _ltsf2 _lesf2 \
-
-LIB2FUNCS= _muldi3 _divdi3 _moddi3 _udivdi3 _umoddi3 _negdi2 \
- _lshrdi3 _lshldi3 _ashldi3 _ashrdi3 _ffsdi2 \
- _udiv_w_sdiv _udivmoddi4 _cmpdi2 _ucmpdi2 \
- _floatdidf _floatdisf \
- _fixunsdfsi _fixunssfsi _fixunsdfdi _fixdfdi \
- _fixunssfdi _fixsfdi \
- _fixxfdi _fixunsxfdi _floatdixf _fixunsxfsi \
- __gcc_bcmp _varargs _eprintf _op_new _new_handler \
- _op_delete _bb _shtab _clear_cache _trampoline \
- __main _exit _ctors
-
-sources: libgcc1 libgcc2
-libgcc1:
- for name in $(LIB1FUNCS); \
- do \
- echo $${name}; \
- gcc -E -I../lib -DL$${name} libgcc1.c | \
- sed -f clean.sed >$${name}.c; \
- done
-
-
-libgcc2:
- for name in $(LIB2FUNCS); \
- do \
- echo $${name}; \
- gcc -E -I../lib -DL$${name} libgcc2.c | \
- sed -f clean.sed >$${name}.c; \
- done
diff --git a/gnu/gcc2/libgcc/__gcc_bcmp.c b/gnu/gcc2/libgcc/__gcc_bcmp.c
deleted file mode 100644
index 6a405a1bb29e..000000000000
--- a/gnu/gcc2/libgcc/__gcc_bcmp.c
+++ /dev/null
@@ -1,98 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-int
-__gcc_bcmp (s1, s2, size)
- unsigned char *s1, *s2;
- size_t size;
-{
- while (size > 0)
- {
- unsigned char c1 = *s1++, c2 = *s2++;
- if (c1 != c2)
- return c1 - c2;
- size--;
- }
- return 0;
-}
diff --git a/gnu/gcc2/libgcc/__main.c b/gnu/gcc2/libgcc/__main.c
deleted file mode 100644
index 552bd7a608f3..000000000000
--- a/gnu/gcc2/libgcc/__main.c
+++ /dev/null
@@ -1,121 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-extern void atexit (void (*) (void));
-typedef void (*func_ptr) (void);
-extern func_ptr __CTOR_LIST__[];
-extern func_ptr __DTOR_LIST__[];
-extern void __do_global_dtors ();
-void
-__do_global_dtors ()
-{
- unsigned nptrs = (unsigned int ) __DTOR_LIST__[0];
- unsigned i;
-
-
- if (nptrs == -1)
- for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++);
-
- for (i = nptrs; i >= 1; i--)
- __DTOR_LIST__[i] ();
-}
-extern int _exit_dummy_decl;
-int *_exit_dummy_ref = &_exit_dummy_decl;
-void
-__do_global_ctors ()
-{
- do { func_ptr *p; for (p = __CTOR_LIST__ + 1; *p; ) (*p++) (); } while (0) ;
- atexit (( __do_global_dtors )) ;
-}
-void
-__main ()
-{
-
- static int initialized = 0;
- if (! initialized)
- {
- initialized = 1;
- __do_global_ctors ();
- }
-}
diff --git a/gnu/gcc2/libgcc/_adddf3.c b/gnu/gcc2/libgcc/_adddf3.c
deleted file mode 100644
index d2d6ea009385..000000000000
--- a/gnu/gcc2/libgcc/_adddf3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__adddf3 (a, b)
- double a, b;
-{
- return a + b ;
-}
diff --git a/gnu/gcc2/libgcc/_addsf3.c b/gnu/gcc2/libgcc/_addsf3.c
deleted file mode 100644
index 53d4ec964df6..000000000000
--- a/gnu/gcc2/libgcc/_addsf3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__addsf3 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_value intify;
- return (( a ).f) + (( b ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_ashldi3.c b/gnu/gcc2/libgcc/_ashldi3.c
deleted file mode 100644
index 625fbdd77a54..000000000000
--- a/gnu/gcc2/libgcc/_ashldi3.c
+++ /dev/null
@@ -1,109 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__ashldi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
- if (b == 0)
- return u;
- uu.ll = u;
- bm = (sizeof (SItype) * 8 ) - b;
- if (bm <= 0)
- {
- w.s.low = 0;
- w.s.high = (USItype)uu.s.low << -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.low >> bm;
- w.s.low = (USItype)uu.s.low << b;
- w.s.high = ((USItype)uu.s.high << b) | carries;
- }
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_ashlsi3.c b/gnu/gcc2/libgcc/_ashlsi3.c
deleted file mode 100644
index 50f0e992db7c..000000000000
--- a/gnu/gcc2/libgcc/_ashlsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__ashlsi3 (a, b)
- long int a, b;
-{
- return a << b ;
-}
diff --git a/gnu/gcc2/libgcc/_ashrdi3.c b/gnu/gcc2/libgcc/_ashrdi3.c
deleted file mode 100644
index 8bc9b4d4103a..000000000000
--- a/gnu/gcc2/libgcc/_ashrdi3.c
+++ /dev/null
@@ -1,110 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__ashrdi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
- if (b == 0)
- return u;
- uu.ll = u;
- bm = (sizeof (SItype) * 8 ) - b;
- if (bm <= 0)
- {
-
- w.s.high = uu.s.high >> (sizeof (SItype) * 8 - 1);
- w.s.low = uu.s.high >> -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.high << bm;
- w.s.high = uu.s.high >> b;
- w.s.low = ((USItype)uu.s.low >> b) | carries;
- }
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_ashrsi3.c b/gnu/gcc2/libgcc/_ashrsi3.c
deleted file mode 100644
index 1533cb74c9ad..000000000000
--- a/gnu/gcc2/libgcc/_ashrsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__ashrsi3 (a, b)
- long int a, b;
-{
- return a >> b ;
-}
diff --git a/gnu/gcc2/libgcc/_bb.c b/gnu/gcc2/libgcc/_bb.c
deleted file mode 100644
index d06a04112e44..000000000000
--- a/gnu/gcc2/libgcc/_bb.c
+++ /dev/null
@@ -1,87 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-void
-__bb_avoid_warning ()
-{}
diff --git a/gnu/gcc2/libgcc/_clear_cache.c b/gnu/gcc2/libgcc/_clear_cache.c
deleted file mode 100644
index 2c928341b734..000000000000
--- a/gnu/gcc2/libgcc/_clear_cache.c
+++ /dev/null
@@ -1,89 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-void
-__clear_cache (beg, end)
- char *beg, *end;
-{
-}
diff --git a/gnu/gcc2/libgcc/_cmpdi2.c b/gnu/gcc2/libgcc/_cmpdi2.c
deleted file mode 100644
index 346939b97c7d..000000000000
--- a/gnu/gcc2/libgcc/_cmpdi2.c
+++ /dev/null
@@ -1,100 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-word_type
-__cmpdi2 (a, b)
- DItype a, b;
-{
- DIunion au, bu;
- au.ll = a, bu.ll = b;
- if (au.s.high < bu.s.high)
- return 0;
- else if (au.s.high > bu.s.high)
- return 2;
- if ((USItype) au.s.low < (USItype) bu.s.low)
- return 0;
- else if ((USItype) au.s.low > (USItype) bu.s.low)
- return 2;
- return 1;
-}
diff --git a/gnu/gcc2/libgcc/_ctors.c b/gnu/gcc2/libgcc/_ctors.c
deleted file mode 100644
index 768f4b5a96b1..000000000000
--- a/gnu/gcc2/libgcc/_ctors.c
+++ /dev/null
@@ -1,91 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-extern void atexit (void (*) (void));
-typedef void (*func_ptr) (void);
-extern func_ptr __CTOR_LIST__[];
-extern func_ptr __DTOR_LIST__[];
-extern void __do_global_dtors ();
-func_ptr __CTOR_LIST__[2];
-func_ptr __DTOR_LIST__[2];
diff --git a/gnu/gcc2/libgcc/_divdf3.c b/gnu/gcc2/libgcc/_divdf3.c
deleted file mode 100644
index 109271cb7d3c..000000000000
--- a/gnu/gcc2/libgcc/_divdf3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__divdf3 (a, b)
- double a, b;
-{
- return a / b ;
-}
diff --git a/gnu/gcc2/libgcc/_divdi3.c b/gnu/gcc2/libgcc/_divdi3.c
deleted file mode 100644
index e5583cf7e59b..000000000000
--- a/gnu/gcc2/libgcc/_divdi3.c
+++ /dev/null
@@ -1,117 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-static inline
-DItype
-__negdi2 (u)
- DItype u;
-{
- DIunion w;
- DIunion uu;
- uu.ll = u;
- w.s.low = -uu.s.low;
- w.s.high = -uu.s.high - ((USItype) w.s.low > 0);
- return w.ll;
-}
-UDItype __udivmoddi4 ();
-DItype
-__divdi3 (u, v)
- DItype u, v;
-{
- SItype c = 0;
- DIunion uu, vv;
- DItype w;
- uu.ll = u;
- vv.ll = v;
- if (uu.s.high < 0)
- c = ~c,
- uu.ll = __negdi2 (uu.ll);
- if (vv.s.high < 0)
- c = ~c,
- vv.ll = __negdi2 (vv.ll);
- w = __udivmoddi4 (uu.ll, vv.ll, (UDItype *) 0);
- if (c)
- w = __negdi2 (w);
- return w;
-}
diff --git a/gnu/gcc2/libgcc/_divsf3.c b/gnu/gcc2/libgcc/_divsf3.c
deleted file mode 100644
index d728bdd45a35..000000000000
--- a/gnu/gcc2/libgcc/_divsf3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__divsf3 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_value intify;
- return (( a ).f) / (( b ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_divsi3.c b/gnu/gcc2/libgcc/_divsi3.c
deleted file mode 100644
index 598045a3604f..000000000000
--- a/gnu/gcc2/libgcc/_divsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__divsi3 (a, b)
- long int a, b;
-{
- { register int dx asm("dx"); register int ax asm("ax"); ax = a ; asm ("cltd\n\tidivl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" ( b )); return ax; } ;
-}
diff --git a/gnu/gcc2/libgcc/_eprintf.c b/gnu/gcc2/libgcc/_eprintf.c
deleted file mode 100644
index b3ef209b6e42..000000000000
--- a/gnu/gcc2/libgcc/_eprintf.c
+++ /dev/null
@@ -1,202 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-typedef long fpos_t;
-struct __sbuf {
- unsigned char *_base;
- int _size;
-};
-typedef struct __sFILE {
- unsigned char *_p;
- int _r;
- int _w;
- short _flags;
- short _file;
- struct __sbuf _bf;
- int _lbfsize;
-
- void *_cookie;
- int (*_close) (void *) ;
- int (*_read) (void *, char *, int) ;
- fpos_t (*_seek) (void *, fpos_t, int) ;
- int (*_write) (void *, const char *, int) ;
-
- struct __sbuf _ub;
- unsigned char *_up;
- int _ur;
-
- unsigned char _ubuf[3];
- unsigned char _nbuf[1];
-
- struct __sbuf _lb;
-
- int _blksize;
- int _offset;
-} FILE;
-extern FILE __sF[];
-
-void clearerr (FILE *) ;
-int fclose (FILE *) ;
-int feof (FILE *) ;
-int ferror (FILE *) ;
-int fflush (FILE *) ;
-int fgetc (FILE *) ;
-int fgetpos (FILE *, fpos_t *) ;
-char *fgets (char *, size_t, FILE *) ;
-FILE *fopen (const char *, const char *) ;
-int fprintf (FILE *, const char *, ...) ;
-int fputc (int, FILE *) ;
-int fputs (const char *, FILE *) ;
-int fread (void *, size_t, size_t, FILE *) ;
-FILE *freopen (const char *, const char *, FILE *) ;
-int fscanf (FILE *, const char *, ...) ;
-int fseek (FILE *, long, int) ;
-int fsetpos (FILE *, const fpos_t *) ;
-long ftell (const FILE *) ;
-int fwrite (const void *, size_t, size_t, FILE *) ;
-int getc (FILE *) ;
-int getchar (void) ;
-char *gets (char *) ;
-extern int sys_nerr;
-extern char *sys_errlist[];
-void perror (const char *) ;
-int printf (const char *, ...) ;
-int putc (int, FILE *) ;
-int putchar (int) ;
-int puts (const char *) ;
-int remove (const char *) ;
-int rename (const char *, const char *) ;
-void rewind (FILE *) ;
-int scanf (const char *, ...) ;
-void setbuf (FILE *, char *) ;
-int setvbuf (FILE *, char *, int, size_t) ;
-int sprintf (char *, const char *, ...) ;
-int sscanf (char *, const char *, ...) ;
-FILE *tmpfile (void) ;
-char *tmpnam (char *) ;
-int ungetc (int, FILE *) ;
-int vfprintf (FILE *, const char *, char * ) ;
-int vprintf (const char *, char * ) ;
-int vsprintf (char *, const char *, char * ) ;
-char *ctermid (char *) ;
-FILE *fdopen (int, const char *) ;
-int fileno (FILE *) ;
-char *fgetline (FILE *, size_t *) ;
-int fpurge (FILE *) ;
-int getw (FILE *) ;
-int pclose (FILE *) ;
-FILE *popen (const char *, const char *) ;
-int putw (int, FILE *) ;
-void setbuffer (FILE *, char *, int) ;
-int setlinebuf (FILE *) ;
-char *tempnam (const char *, const char *) ;
-int snprintf (char *, size_t, const char *, ...) ;
-int vsnprintf (char *, size_t, const char *, char * ) ;
-int vscanf (const char *, char * ) ;
-int vsscanf (const char *, const char *, char * ) ;
-FILE *funopen (const void *,
- int (*)(void *, char *, int),
- int (*)(void *, const char *, int),
- fpos_t (*)(void *, fpos_t, int),
- int (*)(void *)) ;
-int __srget (FILE *) ;
-int __svfscanf (FILE *, const char *, char * ) ;
-int __swbuf (int, FILE *) ;
-static __inline__ int __sputc(int _c, FILE *_p) {
- if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
- return (*_p->_p++ = _c);
- else
- return (__swbuf(_c, _p));
-}
-void
-__eprintf (string, expression, line, filename)
- const char *string;
- const char *expression;
- int line;
- const char *filename;
-{
- fprintf ((&__sF[2]) , string, expression, line, filename);
- fflush ((&__sF[2]) );
- abort ();
-}
diff --git a/gnu/gcc2/libgcc/_eqdf2.c b/gnu/gcc2/libgcc/_eqdf2.c
deleted file mode 100644
index a6e777ca8e1c..000000000000
--- a/gnu/gcc2/libgcc/_eqdf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__eqdf2 (a, b)
- double a, b;
-{
-
- return !( a == b ) ;
-}
diff --git a/gnu/gcc2/libgcc/_eqsf2.c b/gnu/gcc2/libgcc/_eqsf2.c
deleted file mode 100644
index c619a439ce9c..000000000000
--- a/gnu/gcc2/libgcc/_eqsf2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__eqsf2 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_int intify;
-
- return !( (( a ).f) == (( b ).f) ) ;
-}
diff --git a/gnu/gcc2/libgcc/_exit.c b/gnu/gcc2/libgcc/_exit.c
deleted file mode 100644
index 3a09646ac236..000000000000
--- a/gnu/gcc2/libgcc/_exit.c
+++ /dev/null
@@ -1,90 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-extern void atexit (void (*) (void));
-typedef void (*func_ptr) (void);
-extern func_ptr __CTOR_LIST__[];
-extern func_ptr __DTOR_LIST__[];
-extern void __do_global_dtors ();
-int _exit_dummy_decl = 0;
diff --git a/gnu/gcc2/libgcc/_extendsfdf2.c b/gnu/gcc2/libgcc/_extendsfdf2.c
deleted file mode 100644
index de02f5ba1d9a..000000000000
--- a/gnu/gcc2/libgcc/_extendsfdf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__extendsfdf2 (a)
- union flt_or_int a;
-{
- union flt_or_value intify;
- return (( a ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_ffsdi2.c b/gnu/gcc2/libgcc/_ffsdi2.c
deleted file mode 100644
index 42b26a3c38d9..000000000000
--- a/gnu/gcc2/libgcc/_ffsdi2.c
+++ /dev/null
@@ -1,102 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__ffsdi2 (u)
- DItype u;
-{
- DIunion uu, w;
- uu.ll = u;
- w.s.high = 0;
- w.s.low = ffs (uu.s.low);
- if (w.s.low != 0)
- return w.ll;
- w.s.low = ffs (uu.s.high);
- if (w.s.low != 0)
- {
- w.s.low += 8 * sizeof (SItype);
- return w.ll;
- }
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_fixdfdi.c b/gnu/gcc2/libgcc/_fixdfdi.c
deleted file mode 100644
index 7368ef0781ba..000000000000
--- a/gnu/gcc2/libgcc/_fixdfdi.c
+++ /dev/null
@@ -1,92 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__fixdfdi (a)
- DFtype a;
-{
- if (a < 0)
- return - __fixunsdfdi (-a);
- return __fixunsdfdi (a);
-}
diff --git a/gnu/gcc2/libgcc/_fixdfsi.c b/gnu/gcc2/libgcc/_fixdfsi.c
deleted file mode 100644
index 16cbd4f5678e..000000000000
--- a/gnu/gcc2/libgcc/_fixdfsi.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__fixdfsi (a)
- double a;
-{
- { auto unsigned short ostatus; auto unsigned short nstatus; auto int ret; auto double tmp; &ostatus; &nstatus; &ret; &tmp; asm volatile ("fnstcw %0" : "=m" (ostatus)); nstatus = ostatus | 0x0c00; asm volatile ("fldcw %0" : : "m" (nstatus)); tmp = a ; asm volatile ("fldl %0" : : "m" (tmp)); asm volatile ("fistpl %0" : "=m" (ret)); asm volatile ("fldcw %0" : : "m" (ostatus)); return ret; } ;
-}
diff --git a/gnu/gcc2/libgcc/_fixsfdi.c b/gnu/gcc2/libgcc/_fixsfdi.c
deleted file mode 100644
index a851e1e6ee96..000000000000
--- a/gnu/gcc2/libgcc/_fixsfdi.c
+++ /dev/null
@@ -1,91 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__fixsfdi (SFtype a)
-{
- if (a < 0)
- return - __fixunssfdi (-a);
- return __fixunssfdi (a);
-}
diff --git a/gnu/gcc2/libgcc/_fixsfsi.c b/gnu/gcc2/libgcc/_fixsfsi.c
deleted file mode 100644
index 21408c77d702..000000000000
--- a/gnu/gcc2/libgcc/_fixsfsi.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__fixsfsi (a)
- union flt_or_int a;
-{
- union flt_or_value intify;
- return (long int ) (( a ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_fixunsdfdi.c b/gnu/gcc2/libgcc/_fixunsdfdi.c
deleted file mode 100644
index ca40d0e6111f..000000000000
--- a/gnu/gcc2/libgcc/_fixunsdfdi.c
+++ /dev/null
@@ -1,106 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__fixunsdfdi (a)
- DFtype a;
-{
- DFtype b;
- UDItype v;
- if (a < 0)
- return 0;
-
- b = (a / (((UDItype) 1) << (sizeof (SItype) * 8 ) ) );
-
- v = (USItype) b;
- v <<= (sizeof (SItype) * 8 ) ;
-
- a -= (DFtype)v;
-
- if (a < 0)
- v -= (USItype) (- a);
- else
- v += (USItype) a;
- return v;
-}
diff --git a/gnu/gcc2/libgcc/_fixunsdfsi.c b/gnu/gcc2/libgcc/_fixunsdfsi.c
deleted file mode 100644
index 99e7da18e89e..000000000000
--- a/gnu/gcc2/libgcc/_fixunsdfsi.c
+++ /dev/null
@@ -1,92 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-USItype
-__fixunsdfsi (a)
- DFtype a;
-{
- if (a >= - (DFtype) (- 2147483647L -1) )
- return (SItype) (a + (- 2147483647L -1) ) - (- 2147483647L -1) ;
- return (SItype) a;
-}
diff --git a/gnu/gcc2/libgcc/_fixunssfdi.c b/gnu/gcc2/libgcc/_fixunssfdi.c
deleted file mode 100644
index d72ae0fb11f1..000000000000
--- a/gnu/gcc2/libgcc/_fixunssfdi.c
+++ /dev/null
@@ -1,107 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__fixunssfdi (SFtype original_a)
-{
-
- DFtype a = original_a;
- DFtype b;
- UDItype v;
- if (a < 0)
- return 0;
-
- b = (a / (((UDItype) 1) << (sizeof (SItype) * 8 ) ) );
-
- v = (USItype) b;
- v <<= (sizeof (SItype) * 8 ) ;
-
- a -= (DFtype)v;
-
- if (a < 0)
- v -= (USItype) (- a);
- else
- v += (USItype) a;
- return v;
-}
diff --git a/gnu/gcc2/libgcc/_fixunssfsi.c b/gnu/gcc2/libgcc/_fixunssfsi.c
deleted file mode 100644
index ee05d46beb43..000000000000
--- a/gnu/gcc2/libgcc/_fixunssfsi.c
+++ /dev/null
@@ -1,91 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-USItype
-__fixunssfsi (SFtype a)
-{
- if (a >= - (SFtype) (- 2147483647L -1) )
- return (SItype) (a + (- 2147483647L -1) ) - (- 2147483647L -1) ;
- return (SItype) a;
-}
diff --git a/gnu/gcc2/libgcc/_fixunsxfdi.c b/gnu/gcc2/libgcc/_fixunsxfdi.c
deleted file mode 100644
index 732d5d49ac52..000000000000
--- a/gnu/gcc2/libgcc/_fixunsxfdi.c
+++ /dev/null
@@ -1,84 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
diff --git a/gnu/gcc2/libgcc/_fixunsxfsi.c b/gnu/gcc2/libgcc/_fixunsxfsi.c
deleted file mode 100644
index 732d5d49ac52..000000000000
--- a/gnu/gcc2/libgcc/_fixunsxfsi.c
+++ /dev/null
@@ -1,84 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
diff --git a/gnu/gcc2/libgcc/_fixxfdi.c b/gnu/gcc2/libgcc/_fixxfdi.c
deleted file mode 100644
index 732d5d49ac52..000000000000
--- a/gnu/gcc2/libgcc/_fixxfdi.c
+++ /dev/null
@@ -1,84 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
diff --git a/gnu/gcc2/libgcc/_floatdidf.c b/gnu/gcc2/libgcc/_floatdidf.c
deleted file mode 100644
index afed77428993..000000000000
--- a/gnu/gcc2/libgcc/_floatdidf.c
+++ /dev/null
@@ -1,98 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DFtype
-__floatdidf (u)
- DItype u;
-{
- DFtype d;
- SItype negate = 0;
- if (u < 0)
- u = -u, negate = 1;
- d = (USItype) (u >> (sizeof (SItype) * 8 ) );
- d *= (((UDItype) 1) << ((sizeof (SItype) * 8 ) / 2)) ;
- d *= (((UDItype) 1) << ((sizeof (SItype) * 8 ) / 2)) ;
- d += (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8 ) ) - 1));
- return (negate ? -d : d);
-}
diff --git a/gnu/gcc2/libgcc/_floatdisf.c b/gnu/gcc2/libgcc/_floatdisf.c
deleted file mode 100644
index 3bb79fee308a..000000000000
--- a/gnu/gcc2/libgcc/_floatdisf.c
+++ /dev/null
@@ -1,99 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-SFtype
-__floatdisf (u)
- DItype u;
-{
-
- DFtype f;
- SItype negate = 0;
- if (u < 0)
- u = -u, negate = 1;
- f = (USItype) (u >> (sizeof (SItype) * 8 ) );
- f *= (((UDItype) 1) << ((sizeof (SItype) * 8 ) / 2)) ;
- f *= (((UDItype) 1) << ((sizeof (SItype) * 8 ) / 2)) ;
- f += (USItype) (u & ((((UDItype) 1) << (sizeof (SItype) * 8 ) ) - 1));
- return (SFtype) (negate ? -f : f);
-}
diff --git a/gnu/gcc2/libgcc/_floatdixf.c b/gnu/gcc2/libgcc/_floatdixf.c
deleted file mode 100644
index 732d5d49ac52..000000000000
--- a/gnu/gcc2/libgcc/_floatdixf.c
+++ /dev/null
@@ -1,84 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
diff --git a/gnu/gcc2/libgcc/_floatsidf.c b/gnu/gcc2/libgcc/_floatsidf.c
deleted file mode 100644
index c8486deb4088..000000000000
--- a/gnu/gcc2/libgcc/_floatsidf.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__floatsidf (a)
- long int a;
-{
- return (double) a ;
-}
diff --git a/gnu/gcc2/libgcc/_floatsisf.c b/gnu/gcc2/libgcc/_floatsisf.c
deleted file mode 100644
index 062c53651c3d..000000000000
--- a/gnu/gcc2/libgcc/_floatsisf.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__floatsisf (a)
- long int a;
-{
- union flt_or_value intify;
- return (float) a ;
-}
diff --git a/gnu/gcc2/libgcc/_gedf2.c b/gnu/gcc2/libgcc/_gedf2.c
deleted file mode 100644
index 51f811400d9d..000000000000
--- a/gnu/gcc2/libgcc/_gedf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__gedf2 (a, b)
- double a, b;
-{
-
- return ( a >= b ) - 1 ;
-}
diff --git a/gnu/gcc2/libgcc/_gesf2.c b/gnu/gcc2/libgcc/_gesf2.c
deleted file mode 100644
index c5090112999d..000000000000
--- a/gnu/gcc2/libgcc/_gesf2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__gesf2 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_int intify;
-
- return ( (( a ).f) >= (( b ).f) ) - 1 ;
-}
diff --git a/gnu/gcc2/libgcc/_gtdf2.c b/gnu/gcc2/libgcc/_gtdf2.c
deleted file mode 100644
index 725c8061fc4e..000000000000
--- a/gnu/gcc2/libgcc/_gtdf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__gtdf2 (a, b)
- double a, b;
-{
-
- return a > b ;
-}
diff --git a/gnu/gcc2/libgcc/_gtsf2.c b/gnu/gcc2/libgcc/_gtsf2.c
deleted file mode 100644
index 790428457ea7..000000000000
--- a/gnu/gcc2/libgcc/_gtsf2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__gtsf2 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_int intify;
-
- return (( a ).f) > (( b ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_ledf2.c b/gnu/gcc2/libgcc/_ledf2.c
deleted file mode 100644
index 3a66c86fa79c..000000000000
--- a/gnu/gcc2/libgcc/_ledf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__ledf2 (a, b)
- double a, b;
-{
-
- return 1 - ( a <= b ) ;
-}
diff --git a/gnu/gcc2/libgcc/_lesf2.c b/gnu/gcc2/libgcc/_lesf2.c
deleted file mode 100644
index e96979e46e07..000000000000
--- a/gnu/gcc2/libgcc/_lesf2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__lesf2 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_int intify;
-
- return 1 - ( (( a ).f) <= (( b ).f) ); ;
-}
diff --git a/gnu/gcc2/libgcc/_lshldi3.c b/gnu/gcc2/libgcc/_lshldi3.c
deleted file mode 100644
index 83502ef82b4e..000000000000
--- a/gnu/gcc2/libgcc/_lshldi3.c
+++ /dev/null
@@ -1,109 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__lshldi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
- if (b == 0)
- return u;
- uu.ll = u;
- bm = (sizeof (SItype) * 8 ) - b;
- if (bm <= 0)
- {
- w.s.low = 0;
- w.s.high = (USItype)uu.s.low << -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.low >> bm;
- w.s.low = (USItype)uu.s.low << b;
- w.s.high = ((USItype)uu.s.high << b) | carries;
- }
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_lshlsi3.c b/gnu/gcc2/libgcc/_lshlsi3.c
deleted file mode 100644
index dd25e23ff6ce..000000000000
--- a/gnu/gcc2/libgcc/_lshlsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__lshlsi3 (a, b)
- unsigned long int a, b;
-{
- return a << b ;
-}
diff --git a/gnu/gcc2/libgcc/_lshrdi3.c b/gnu/gcc2/libgcc/_lshrdi3.c
deleted file mode 100644
index 202a155e5657..000000000000
--- a/gnu/gcc2/libgcc/_lshrdi3.c
+++ /dev/null
@@ -1,109 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__lshrdi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
- if (b == 0)
- return u;
- uu.ll = u;
- bm = (sizeof (SItype) * 8 ) - b;
- if (bm <= 0)
- {
- w.s.high = 0;
- w.s.low = (USItype)uu.s.high >> -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.high << bm;
- w.s.high = (USItype)uu.s.high >> b;
- w.s.low = ((USItype)uu.s.low >> b) | carries;
- }
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_lshrsi3.c b/gnu/gcc2/libgcc/_lshrsi3.c
deleted file mode 100644
index 9e60dfbc269c..000000000000
--- a/gnu/gcc2/libgcc/_lshrsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__lshrsi3 (a, b)
- unsigned long int a, b;
-{
- return a >> b ;
-}
diff --git a/gnu/gcc2/libgcc/_ltdf2.c b/gnu/gcc2/libgcc/_ltdf2.c
deleted file mode 100644
index c3eb5e3daf9c..000000000000
--- a/gnu/gcc2/libgcc/_ltdf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__ltdf2 (a, b)
- double a, b;
-{
-
- return -( a < b ) ;
-}
diff --git a/gnu/gcc2/libgcc/_ltsf2.c b/gnu/gcc2/libgcc/_ltsf2.c
deleted file mode 100644
index 24e4913596ce..000000000000
--- a/gnu/gcc2/libgcc/_ltsf2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__ltsf2 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_int intify;
-
- return -( (( a ).f) < (( b ).f) ) ;
-}
diff --git a/gnu/gcc2/libgcc/_moddi3.c b/gnu/gcc2/libgcc/_moddi3.c
deleted file mode 100644
index 21adcb69a550..000000000000
--- a/gnu/gcc2/libgcc/_moddi3.c
+++ /dev/null
@@ -1,116 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-static inline
-DItype
-__negdi2 (u)
- DItype u;
-{
- DIunion w;
- DIunion uu;
- uu.ll = u;
- w.s.low = -uu.s.low;
- w.s.high = -uu.s.high - ((USItype) w.s.low > 0);
- return w.ll;
-}
-UDItype __udivmoddi4 ();
-DItype
-__moddi3 (u, v)
- DItype u, v;
-{
- SItype c = 0;
- DIunion uu, vv;
- DItype w;
- uu.ll = u;
- vv.ll = v;
- if (uu.s.high < 0)
- c = ~c,
- uu.ll = __negdi2 (uu.ll);
- if (vv.s.high < 0)
- vv.ll = __negdi2 (vv.ll);
- (void) __udivmoddi4 (uu.ll, vv.ll, &w);
- if (c)
- w = __negdi2 (w);
- return w;
-}
diff --git a/gnu/gcc2/libgcc/_modsi3.c b/gnu/gcc2/libgcc/_modsi3.c
deleted file mode 100644
index 53ff2f4c9ff5..000000000000
--- a/gnu/gcc2/libgcc/_modsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__modsi3 (a, b)
- long int a, b;
-{
- { register int dx asm("dx"); register int ax asm("ax"); ax = a ; asm ("cltd\n\tidivl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" ( b )); return dx; } ;
-}
diff --git a/gnu/gcc2/libgcc/_muldf3.c b/gnu/gcc2/libgcc/_muldf3.c
deleted file mode 100644
index 0f17f80d7b0e..000000000000
--- a/gnu/gcc2/libgcc/_muldf3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__muldf3 (a, b)
- double a, b;
-{
- return a * b ;
-}
diff --git a/gnu/gcc2/libgcc/_muldi3.c b/gnu/gcc2/libgcc/_muldi3.c
deleted file mode 100644
index e7c5785940bc..000000000000
--- a/gnu/gcc2/libgcc/_muldi3.c
+++ /dev/null
@@ -1,97 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__muldi3 (u, v)
- DItype u, v;
-{
- DIunion w;
- DIunion uu, vv;
- uu.ll = u,
- vv.ll = v;
- w.ll = ({DIunion __w; __asm__ ("mull %3" : "=a" ((USItype)( __w.s.low )), "=d" ((USItype)( __w.s.high )) : "%0" ((USItype)( uu.s.low )), "rm" ((USItype)( vv.s.low ))) ; __w.ll; }) ;
- w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
- + (USItype) uu.s.high * (USItype) vv.s.low);
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_mulsf3.c b/gnu/gcc2/libgcc/_mulsf3.c
deleted file mode 100644
index fa273d8ea1ca..000000000000
--- a/gnu/gcc2/libgcc/_mulsf3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__mulsf3 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_value intify;
- return (( a ).f) * (( b ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_mulsi3.c b/gnu/gcc2/libgcc/_mulsi3.c
deleted file mode 100644
index e69819d8e374..000000000000
--- a/gnu/gcc2/libgcc/_mulsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__mulsi3 (a, b)
- long int a, b;
-{
- return a * b ;
-}
diff --git a/gnu/gcc2/libgcc/_nedf2.c b/gnu/gcc2/libgcc/_nedf2.c
deleted file mode 100644
index b6180d116e72..000000000000
--- a/gnu/gcc2/libgcc/_nedf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__nedf2 (a, b)
- double a, b;
-{
-
- return a != b ;
-}
diff --git a/gnu/gcc2/libgcc/_negdf2.c b/gnu/gcc2/libgcc/_negdf2.c
deleted file mode 100644
index a7720a38b7ed..000000000000
--- a/gnu/gcc2/libgcc/_negdf2.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__negdf2 (a)
- double a;
-{
- return - a ;
-}
diff --git a/gnu/gcc2/libgcc/_negdi2.c b/gnu/gcc2/libgcc/_negdi2.c
deleted file mode 100644
index 8e8f2d921143..000000000000
--- a/gnu/gcc2/libgcc/_negdi2.c
+++ /dev/null
@@ -1,95 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-DItype
-__negdi2 (u)
- DItype u;
-{
- DIunion w;
- DIunion uu;
- uu.ll = u;
- w.s.low = -uu.s.low;
- w.s.high = -uu.s.high - ((USItype) w.s.low > 0);
- return w.ll;
-}
diff --git a/gnu/gcc2/libgcc/_negsf2.c b/gnu/gcc2/libgcc/_negsf2.c
deleted file mode 100644
index 1a41647ad4d4..000000000000
--- a/gnu/gcc2/libgcc/_negsf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__negsf2 (a)
- union flt_or_int a;
-{
- union flt_or_value intify;
- return - (( a ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_nesf2.c b/gnu/gcc2/libgcc/_nesf2.c
deleted file mode 100644
index 3ba837a083c4..000000000000
--- a/gnu/gcc2/libgcc/_nesf2.c
+++ /dev/null
@@ -1,33 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__nesf2 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_int intify;
-
- return (( a ).f) != (( b ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_new_handler.c b/gnu/gcc2/libgcc/_new_handler.c
deleted file mode 100644
index b14f84ee8488..000000000000
--- a/gnu/gcc2/libgcc/_new_handler.c
+++ /dev/null
@@ -1,220 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-typedef long fpos_t;
-struct __sbuf {
- unsigned char *_base;
- int _size;
-};
-typedef struct __sFILE {
- unsigned char *_p;
- int _r;
- int _w;
- short _flags;
- short _file;
- struct __sbuf _bf;
- int _lbfsize;
-
- void *_cookie;
- int (*_close) (void *) ;
- int (*_read) (void *, char *, int) ;
- fpos_t (*_seek) (void *, fpos_t, int) ;
- int (*_write) (void *, const char *, int) ;
-
- struct __sbuf _ub;
- unsigned char *_up;
- int _ur;
-
- unsigned char _ubuf[3];
- unsigned char _nbuf[1];
-
- struct __sbuf _lb;
-
- int _blksize;
- int _offset;
-} FILE;
-extern FILE __sF[];
-
-void clearerr (FILE *) ;
-int fclose (FILE *) ;
-int feof (FILE *) ;
-int ferror (FILE *) ;
-int fflush (FILE *) ;
-int fgetc (FILE *) ;
-int fgetpos (FILE *, fpos_t *) ;
-char *fgets (char *, size_t, FILE *) ;
-FILE *fopen (const char *, const char *) ;
-int fprintf (FILE *, const char *, ...) ;
-int fputc (int, FILE *) ;
-int fputs (const char *, FILE *) ;
-int fread (void *, size_t, size_t, FILE *) ;
-FILE *freopen (const char *, const char *, FILE *) ;
-int fscanf (FILE *, const char *, ...) ;
-int fseek (FILE *, long, int) ;
-int fsetpos (FILE *, const fpos_t *) ;
-long ftell (const FILE *) ;
-int fwrite (const void *, size_t, size_t, FILE *) ;
-int getc (FILE *) ;
-int getchar (void) ;
-char *gets (char *) ;
-extern int sys_nerr;
-extern char *sys_errlist[];
-void perror (const char *) ;
-int printf (const char *, ...) ;
-int putc (int, FILE *) ;
-int putchar (int) ;
-int puts (const char *) ;
-int remove (const char *) ;
-int rename (const char *, const char *) ;
-void rewind (FILE *) ;
-int scanf (const char *, ...) ;
-void setbuf (FILE *, char *) ;
-int setvbuf (FILE *, char *, int, size_t) ;
-int sprintf (char *, const char *, ...) ;
-int sscanf (char *, const char *, ...) ;
-FILE *tmpfile (void) ;
-char *tmpnam (char *) ;
-int ungetc (int, FILE *) ;
-int vfprintf (FILE *, const char *, char * ) ;
-int vprintf (const char *, char * ) ;
-int vsprintf (char *, const char *, char * ) ;
-char *ctermid (char *) ;
-FILE *fdopen (int, const char *) ;
-int fileno (FILE *) ;
-char *fgetline (FILE *, size_t *) ;
-int fpurge (FILE *) ;
-int getw (FILE *) ;
-int pclose (FILE *) ;
-FILE *popen (const char *, const char *) ;
-int putw (int, FILE *) ;
-void setbuffer (FILE *, char *, int) ;
-int setlinebuf (FILE *) ;
-char *tempnam (const char *, const char *) ;
-int snprintf (char *, size_t, const char *, ...) ;
-int vsnprintf (char *, size_t, const char *, char * ) ;
-int vscanf (const char *, char * ) ;
-int vsscanf (const char *, const char *, char * ) ;
-FILE *funopen (const void *,
- int (*)(void *, char *, int),
- int (*)(void *, const char *, int),
- fpos_t (*)(void *, fpos_t, int),
- int (*)(void *)) ;
-int __srget (FILE *) ;
-int __svfscanf (FILE *, const char *, char * ) ;
-int __swbuf (int, FILE *) ;
-static __inline__ int __sputc(int _c, FILE *_p) {
- if (--_p->_w >= 0 || (_p->_w >= _p->_lbfsize && (char)_c != '\n'))
- return (*_p->_p++ = _c);
- else
- return (__swbuf(_c, _p));
-}
-typedef void (*vfp)(void);
-extern void *__builtin_new (size_t);
-static void default_new_handler (void);
-vfp __new_handler = default_new_handler;
-vfp
-__set_new_handler (handler)
- vfp handler;
-{
- vfp prev_handler;
- prev_handler = __new_handler;
- if (handler == 0) handler = default_new_handler;
- __new_handler = handler;
- return prev_handler;
-}
-vfp
-set_new_handler (handler)
- vfp handler;
-{
- return __set_new_handler (handler);
-}
-static void
-default_new_handler ()
-{
-
-
- write (2, "Virtual memory exceeded in `new'\n" , sizeof ("Virtual memory exceeded in `new'\n" ));
-
- _exit (-1);
-}
diff --git a/gnu/gcc2/libgcc/_op_delete.c b/gnu/gcc2/libgcc/_op_delete.c
deleted file mode 100644
index 12acf50d2a30..000000000000
--- a/gnu/gcc2/libgcc/_op_delete.c
+++ /dev/null
@@ -1,90 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-void
-__builtin_delete (void *ptr)
-{
- if (ptr)
- free (ptr);
-}
diff --git a/gnu/gcc2/libgcc/_op_new.c b/gnu/gcc2/libgcc/_op_new.c
deleted file mode 100644
index 7dbf1541d1af..000000000000
--- a/gnu/gcc2/libgcc/_op_new.c
+++ /dev/null
@@ -1,98 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-typedef void (*vfp)(void);
-extern vfp __new_handler;
-void *
-__builtin_new (size_t sz)
-{
- void *p;
-
- if (sz == 0)
- sz = 1;
- p = (void *) malloc (sz);
- if (p == 0)
- (*__new_handler) ();
- return p;
-}
diff --git a/gnu/gcc2/libgcc/_shtab.c b/gnu/gcc2/libgcc/_shtab.c
deleted file mode 100644
index 183e984c0b4e..000000000000
--- a/gnu/gcc2/libgcc/_shtab.c
+++ /dev/null
@@ -1,94 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-unsigned int __shtab[] = {
- 0x00000001, 0x00000002, 0x00000004, 0x00000008,
- 0x00000010, 0x00000020, 0x00000040, 0x00000080,
- 0x00000100, 0x00000200, 0x00000400, 0x00000800,
- 0x00001000, 0x00002000, 0x00004000, 0x00008000,
- 0x00010000, 0x00020000, 0x00040000, 0x00080000,
- 0x00100000, 0x00200000, 0x00400000, 0x00800000,
- 0x01000000, 0x02000000, 0x04000000, 0x08000000,
- 0x10000000, 0x20000000, 0x40000000, 0x80000000
- };
diff --git a/gnu/gcc2/libgcc/_subdf3.c b/gnu/gcc2/libgcc/_subdf3.c
deleted file mode 100644
index b2d1d9c506a0..000000000000
--- a/gnu/gcc2/libgcc/_subdf3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-double
-__subdf3 (a, b)
- double a, b;
-{
- return a - b ;
-}
diff --git a/gnu/gcc2/libgcc/_subsf3.c b/gnu/gcc2/libgcc/_subsf3.c
deleted file mode 100644
index 23c30596e095..000000000000
--- a/gnu/gcc2/libgcc/_subsf3.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__subsf3 (a, b)
- union flt_or_int a, b;
-{
- union flt_or_value intify;
- return (( a ).f) - (( b ).f) ;
-}
diff --git a/gnu/gcc2/libgcc/_trampoline.c b/gnu/gcc2/libgcc/_trampoline.c
deleted file mode 100644
index 22a918bd9c2b..000000000000
--- a/gnu/gcc2/libgcc/_trampoline.c
+++ /dev/null
@@ -1,81 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
diff --git a/gnu/gcc2/libgcc/_truncdfsf2.c b/gnu/gcc2/libgcc/_truncdfsf2.c
deleted file mode 100644
index e9d5d56f3a3b..000000000000
--- a/gnu/gcc2/libgcc/_truncdfsf2.c
+++ /dev/null
@@ -1,32 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-float
-__truncdfsf2 (a)
- double a;
-{
- union flt_or_value intify;
- return a ;
-}
diff --git a/gnu/gcc2/libgcc/_ucmpdi2.c b/gnu/gcc2/libgcc/_ucmpdi2.c
deleted file mode 100644
index b3aeac4eff70..000000000000
--- a/gnu/gcc2/libgcc/_ucmpdi2.c
+++ /dev/null
@@ -1,100 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-word_type
-__ucmpdi2 (a, b)
- DItype a, b;
-{
- DIunion au, bu;
- au.ll = a, bu.ll = b;
- if ((USItype) au.s.high < (USItype) bu.s.high)
- return 0;
- else if ((USItype) au.s.high > (USItype) bu.s.high)
- return 2;
- if ((USItype) au.s.low < (USItype) bu.s.low)
- return 0;
- else if ((USItype) au.s.low > (USItype) bu.s.low)
- return 2;
- return 1;
-}
diff --git a/gnu/gcc2/libgcc/_udiv_w_sdiv.c b/gnu/gcc2/libgcc/_udiv_w_sdiv.c
deleted file mode 100644
index bae8a625a6b9..000000000000
--- a/gnu/gcc2/libgcc/_udiv_w_sdiv.c
+++ /dev/null
@@ -1,174 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-USItype
-__udiv_w_sdiv (rp, a1, a0, d)
- USItype *rp, a1, a0, d;
-{
- USItype q, r;
- USItype c0, c1, b1;
- if ((SItype) d >= 0)
- {
- if (a1 < d - a1 - (a0 >> ((sizeof (SItype) * 8 ) - 1)))
- {
-
- sdiv_qrnnd (q, r, a1, a0, d);
- }
- else
- {
-
- __asm__ ("subl %5,%1
- sbbl %3,%0" : "=r" ((USItype)( c1 )), "=&r" ((USItype)( c0 )) : "0" ((USItype)( a1 )), "g" ((USItype)( d >> 1 )), "1" ((USItype)( a0 )), "g" ((USItype)( d << ((sizeof (SItype) * 8 ) - 1) ))) ;
-
- sdiv_qrnnd (q, r, c1, c0, d);
-
- q += (USItype) 1 << ((sizeof (SItype) * 8 ) - 1);
- }
- }
- else
- {
- b1 = d >> 1;
- c1 = a1 >> 1;
- c0 = (a1 << ((sizeof (SItype) * 8 ) - 1)) + (a0 >> 1);
- if (a1 < b1)
- {
- sdiv_qrnnd (q, r, c1, c0, b1);
- r = 2*r + (a0 & 1);
- if ((d & 1) != 0)
- {
- if (r >= q)
- r = r - q;
- else if (q - r <= d)
- {
- r = r - q + d;
- q--;
- }
- else
- {
- r = r - q + 2*d;
- q -= 2;
- }
- }
- }
- else if (c1 < b1)
- {
- c1 = (b1 - 1) - c1;
- c0 = ~c0;
- sdiv_qrnnd (q, r, c1, c0, b1);
- q = ~q;
- r = (b1 - 1) - r;
- r = 2*r + (a0 & 1);
- if ((d & 1) != 0)
- {
- if (r >= q)
- r = r - q;
- else if (q - r <= d)
- {
- r = r - q + d;
- q--;
- }
- else
- {
- r = r - q + 2*d;
- q -= 2;
- }
- }
- }
- else
- {
- if (a0 >= -d)
- {
- q = -1;
- r = a0 + d;
- }
- else
- {
- q = -2;
- r = a0 + 2*d;
- }
- }
- }
- *rp = r;
- return q;
-}
diff --git a/gnu/gcc2/libgcc/_udivdi3.c b/gnu/gcc2/libgcc/_udivdi3.c
deleted file mode 100644
index f6b6fa327fcb..000000000000
--- a/gnu/gcc2/libgcc/_udivdi3.c
+++ /dev/null
@@ -1,91 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-UDItype __udivmoddi4 ();
-UDItype
-__udivdi3 (n, d)
- UDItype n, d;
-{
- return __udivmoddi4 (n, d, (UDItype *) 0);
-}
diff --git a/gnu/gcc2/libgcc/_udivmoddi4.c b/gnu/gcc2/libgcc/_udivmoddi4.c
deleted file mode 100644
index f7b833fa0535..000000000000
--- a/gnu/gcc2/libgcc/_udivmoddi4.c
+++ /dev/null
@@ -1,211 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-static const UQItype __clz_tab[] =
-{
- 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
-};
-UDItype
-__udivmoddi4 (n, d, rp)
- UDItype n, d;
- UDItype *rp;
-{
- DIunion ww;
- DIunion nn, dd;
- DIunion rr;
- USItype d0, d1, n0, n1, n2;
- USItype q0, q1;
- USItype b, bm;
- nn.ll = n;
- dd.ll = d;
- d0 = dd.s.low;
- d1 = dd.s.high;
- n0 = nn.s.low;
- n1 = nn.s.high;
- if (d1 == 0)
- {
- if (d0 > n1)
- {
-
- __asm__ ("divl %4" : "=a" ((USItype)( q0 )), "=d" ((USItype)( n0 )) : "0" ((USItype)( n0 )), "1" ((USItype)( n1 )), "rm" ((USItype)( d0 ))) ;
- q1 = 0;
-
- }
- else
- {
-
- if (d0 == 0)
- d0 = 1 / d0;
- __asm__ ("divl %4" : "=a" ((USItype)( q1 )), "=d" ((USItype)( n1 )) : "0" ((USItype)( n1 )), "1" ((USItype)( 0 )), "rm" ((USItype)( d0 ))) ;
- __asm__ ("divl %4" : "=a" ((USItype)( q0 )), "=d" ((USItype)( n0 )) : "0" ((USItype)( n0 )), "1" ((USItype)( n1 )), "rm" ((USItype)( d0 ))) ;
-
- }
- if (rp != 0)
- {
- rr.s.low = n0;
- rr.s.high = 0;
- *rp = rr.ll;
- }
- }
- else
- {
- if (d1 > n1)
- {
-
- q0 = 0;
- q1 = 0;
-
- if (rp != 0)
- {
- rr.s.low = n0;
- rr.s.high = n1;
- *rp = rr.ll;
- }
- }
- else
- {
-
- do { USItype __cbtmp; __asm__ ("bsrl %1,%0" : "=r" (__cbtmp) : "rm" ((USItype)( d1 ))); ( bm ) = __cbtmp ^ 31; } while (0) ;
- if (bm == 0)
- {
-
-
- if (n1 > d1 || n0 >= d0)
- {
- q0 = 1;
- __asm__ ("subl %5,%1
- sbbl %3,%0" : "=r" ((USItype)( n1 )), "=&r" ((USItype)( n0 )) : "0" ((USItype)( n1 )), "g" ((USItype)( d1 )), "1" ((USItype)( n0 )), "g" ((USItype)( d0 ))) ;
- }
- else
- q0 = 0;
- q1 = 0;
- if (rp != 0)
- {
- rr.s.low = n0;
- rr.s.high = n1;
- *rp = rr.ll;
- }
- }
- else
- {
- USItype m1, m0;
-
- b = (sizeof (SItype) * 8 ) - bm;
- d1 = (d1 << bm) | (d0 >> b);
- d0 = d0 << bm;
- n2 = n1 >> b;
- n1 = (n1 << bm) | (n0 >> b);
- n0 = n0 << bm;
- __asm__ ("divl %4" : "=a" ((USItype)( q0 )), "=d" ((USItype)( n1 )) : "0" ((USItype)( n1 )), "1" ((USItype)( n2 )), "rm" ((USItype)( d1 ))) ;
- __asm__ ("mull %3" : "=a" ((USItype)( m0 )), "=d" ((USItype)( m1 )) : "%0" ((USItype)( q0 )), "rm" ((USItype)( d0 ))) ;
- if (m1 > n1 || (m1 == n1 && m0 > n0))
- {
- q0--;
- __asm__ ("subl %5,%1
- sbbl %3,%0" : "=r" ((USItype)( m1 )), "=&r" ((USItype)( m0 )) : "0" ((USItype)( m1 )), "g" ((USItype)( d1 )), "1" ((USItype)( m0 )), "g" ((USItype)( d0 ))) ;
- }
- q1 = 0;
-
- if (rp != 0)
- {
- __asm__ ("subl %5,%1
- sbbl %3,%0" : "=r" ((USItype)( n1 )), "=&r" ((USItype)( n0 )) : "0" ((USItype)( n1 )), "g" ((USItype)( m1 )), "1" ((USItype)( n0 )), "g" ((USItype)( m0 ))) ;
- rr.s.low = (n1 << b) | (n0 >> bm);
- rr.s.high = n1 >> bm;
- *rp = rr.ll;
- }
- }
- }
- }
- ww.s.low = q0;
- ww.s.high = q1;
- return ww.ll;
-}
diff --git a/gnu/gcc2/libgcc/_udivsi3.c b/gnu/gcc2/libgcc/_udivsi3.c
deleted file mode 100644
index 1feea70e0ec3..000000000000
--- a/gnu/gcc2/libgcc/_udivsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__udivsi3 (a, b)
- unsigned long int a, b;
-{
- { register int dx asm("dx"); register int ax asm("ax"); dx = 0; ax = a ; asm ("divl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" ( b ), "d" (dx)); return ax; } ;
-}
diff --git a/gnu/gcc2/libgcc/_umoddi3.c b/gnu/gcc2/libgcc/_umoddi3.c
deleted file mode 100644
index 8f5e21bf1eae..000000000000
--- a/gnu/gcc2/libgcc/_umoddi3.c
+++ /dev/null
@@ -1,93 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-UDItype __udivmoddi4 ();
-UDItype
-__umoddi3 (u, v)
- UDItype u, v;
-{
- DItype w;
- (void) __udivmoddi4 (u, v, &w);
- return w;
-}
diff --git a/gnu/gcc2/libgcc/_umodsi3.c b/gnu/gcc2/libgcc/_umodsi3.c
deleted file mode 100644
index f8ff44f28bf1..000000000000
--- a/gnu/gcc2/libgcc/_umodsi3.c
+++ /dev/null
@@ -1,31 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-union flt_or_value { float i; float f; };
-union flt_or_int { int i; float f; };
-long int
-__umodsi3 (a, b)
- unsigned long int a, b;
-{
- { register int dx asm("dx"); register int ax asm("ax"); dx = 0; ax = a ; asm ("divl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" ( b ), "d" (dx)); return dx; } ;
-}
diff --git a/gnu/gcc2/libgcc/_varargs.c b/gnu/gcc2/libgcc/_varargs.c
deleted file mode 100644
index 982ff2d5f80b..000000000000
--- a/gnu/gcc2/libgcc/_varargs.c
+++ /dev/null
@@ -1,88 +0,0 @@
-extern int target_flags;
-
-enum reg_class
-{
- NO_REGS,
- AREG, DREG, CREG, BREG,
- Q_REGS,
- SIREG, DIREG,
- INDEX_REGS,
- GENERAL_REGS,
- FP_TOP_REG, FP_SECOND_REG,
- FLOAT_REGS,
- ALL_REGS, LIM_REG_CLASSES
-};
-extern enum reg_class regclass_map[17 ];
-
-
-extern struct rtx_def *i386_compare_op0, *i386_compare_op1;
-extern struct rtx_def *(*i386_compare_gen)(), *(*i386_compare_gen_eq)();
-extern char *hi_reg_name[];
-extern char *qi_reg_name[];
-extern char *qi_high_reg_name[];
-
-enum machine_mode {
- VOIDmode ,
- QImode ,
- HImode ,
- PSImode ,
- SImode ,
- PDImode ,
- DImode ,
- TImode ,
- OImode ,
- QFmode ,
- HFmode ,
- SFmode ,
- DFmode ,
- XFmode ,
- TFmode ,
- SCmode ,
- DCmode ,
- XCmode ,
- TCmode ,
- CQImode ,
- CHImode ,
- CSImode ,
- CDImode ,
- CTImode ,
- COImode ,
- BLKmode ,
- CCmode ,
- CCFPEQmode ,
-MAX_MACHINE_MODE };
-extern char *mode_name[];
-enum mode_class { MODE_RANDOM, MODE_INT, MODE_FLOAT, MODE_PARTIAL_INT, MODE_CC,
- MODE_COMPLEX_INT, MODE_COMPLEX_FLOAT, MAX_MODE_CLASS};
-extern enum mode_class mode_class[];
-extern int mode_size[];
-extern int mode_unit_size[];
-extern enum machine_mode mode_wider_mode[];
-extern enum machine_mode mode_for_size (unsigned int, enum mode_class, int) ;
-extern enum machine_mode get_best_mode (int, int, int, enum machine_mode, int) ;
-extern enum machine_mode class_narrowest_mode[];
-extern enum machine_mode byte_mode;
-extern enum machine_mode word_mode;
-typedef int ptrdiff_t;
-typedef unsigned int size_t;
-typedef short unsigned int wchar_t;
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-typedef int word_type __attribute__ ((mode (SI)));
- struct DIstruct {SItype low, high;};
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-__builtin_saveregs ()
-{
- abort ();
-}
diff --git a/gnu/gcc2/libgcc/clean.sed b/gnu/gcc2/libgcc/clean.sed
deleted file mode 100644
index c660c69a32ee..000000000000
--- a/gnu/gcc2/libgcc/clean.sed
+++ /dev/null
@@ -1,4 +0,0 @@
-/^#/d
-/^ /d
-/^$/d
-/^ $/d
diff --git a/gnu/gcc2/libgcc/libgcc1.c b/gnu/gcc2/libgcc/libgcc1.c
deleted file mode 100644
index 09a9043431fd..000000000000
--- a/gnu/gcc2/libgcc/libgcc1.c
+++ /dev/null
@@ -1,607 +0,0 @@
-/* Subroutines needed by GCC output code on some machines. */
-/* Compile this file with the Unix C compiler! */
-/* Copyright (C) 1987, 1988, 1992 Free Software Foundation, Inc.
-
-This file is free software; you can redistribute it and/or modify it
-under the terms of the GNU General Public License as published by the
-Free Software Foundation; either version 2, or (at your option) any
-later version.
-
-In addition to the permissions in the GNU General Public License, the
-Free Software Foundation gives you unlimited permission to link the
-compiled version of this file with other programs, and to distribute
-those programs without any restriction coming from the use of this
-file. (The General Public License restrictions do apply in other
-respects; for example, they cover modification of the file, and
-distribution when not linked into another program.)
-
-This file is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* As a special exception, if you link this library with files
- compiled with GCC to produce an executable, this does not cause
- the resulting executable to be covered by the GNU General Public License.
- This exception does not however invalidate any other reasons why
- the executable file might be covered by the GNU General Public License. */
-
-#include "config.h"
-
-/* Don't use `fancy_abort' here even if config.h says to use it. */
-#ifdef abort
-#undef abort
-#endif
-
-/* On some machines, cc is really GCC. For these machines, we can't
- expect these functions to be properly compiled unless GCC open codes
- the operation (which is precisely when the function won't be used).
- So allow tm.h to specify ways of accomplishing the operations
- by defining the macros perform_*.
-
- On a machine where cc is some other compiler, there is usually no
- reason to define perform_*. The other compiler normally has other ways
- of implementing all of these operations.
-
- In some cases a certain machine may come with GCC installed as cc
- or may have some other compiler. Then it may make sense for tm.h
- to define perform_* only if __GNUC__ is defined. */
-
-#ifndef perform_mulsi3
-#define perform_mulsi3(a, b) return a * b
-#endif
-
-#ifndef perform_divsi3
-#define perform_divsi3(a, b) return a / b
-#endif
-
-#ifndef perform_udivsi3
-#define perform_udivsi3(a, b) return a / b
-#endif
-
-#ifndef perform_modsi3
-#define perform_modsi3(a, b) return a % b
-#endif
-
-#ifndef perform_umodsi3
-#define perform_umodsi3(a, b) return a % b
-#endif
-
-#ifndef perform_lshrsi3
-#define perform_lshrsi3(a, b) return a >> b
-#endif
-
-#ifndef perform_lshlsi3
-#define perform_lshlsi3(a, b) return a << b
-#endif
-
-#ifndef perform_ashrsi3
-#define perform_ashrsi3(a, b) return a >> b
-#endif
-
-#ifndef perform_ashlsi3
-#define perform_ashlsi3(a, b) return a << b
-#endif
-
-#ifndef perform_adddf3
-#define perform_adddf3(a, b) return a + b
-#endif
-
-#ifndef perform_subdf3
-#define perform_subdf3(a, b) return a - b
-#endif
-
-#ifndef perform_muldf3
-#define perform_muldf3(a, b) return a * b
-#endif
-
-#ifndef perform_divdf3
-#define perform_divdf3(a, b) return a / b
-#endif
-
-#ifndef perform_addsf3
-#define perform_addsf3(a, b) return INTIFY (a + b)
-#endif
-
-#ifndef perform_subsf3
-#define perform_subsf3(a, b) return INTIFY (a - b)
-#endif
-
-#ifndef perform_mulsf3
-#define perform_mulsf3(a, b) return INTIFY (a * b)
-#endif
-
-#ifndef perform_divsf3
-#define perform_divsf3(a, b) return INTIFY (a / b)
-#endif
-
-#ifndef perform_negdf2
-#define perform_negdf2(a) return -a
-#endif
-
-#ifndef perform_negsf2
-#define perform_negsf2(a) return INTIFY (-a)
-#endif
-
-#ifndef perform_fixdfsi
-#define perform_fixdfsi(a) return (nongcc_SI_type) a;
-#endif
-
-#ifndef perform_fixsfsi
-#define perform_fixsfsi(a) return (nongcc_SI_type) a
-#endif
-
-#ifndef perform_floatsidf
-#define perform_floatsidf(a) return (double) a
-#endif
-
-#ifndef perform_floatsisf
-#define perform_floatsisf(a) return INTIFY ((float) a)
-#endif
-
-#ifndef perform_extendsfdf2
-#define perform_extendsfdf2(a) return a
-#endif
-
-#ifndef perform_truncdfsf2
-#define perform_truncdfsf2(a) return INTIFY (a)
-#endif
-
-/* Note that eqdf2 returns a value for "true" that is == 0,
- nedf2 returns a value for "true" that is != 0,
- gtdf2 returns a value for "true" that is > 0,
- and so on. */
-
-#ifndef perform_eqdf2
-#define perform_eqdf2(a, b) return !(a == b)
-#endif
-
-#ifndef perform_nedf2
-#define perform_nedf2(a, b) return a != b
-#endif
-
-#ifndef perform_gtdf2
-#define perform_gtdf2(a, b) return a > b
-#endif
-
-#ifndef perform_gedf2
-#define perform_gedf2(a, b) return (a >= b) - 1
-#endif
-
-#ifndef perform_ltdf2
-#define perform_ltdf2(a, b) return -(a < b)
-#endif
-
-#ifndef perform_ledf2
-#define perform_ledf2(a, b) return 1 - (a <= b)
-#endif
-
-#ifndef perform_eqsf2
-#define perform_eqsf2(a, b) return !(a == b)
-#endif
-
-#ifndef perform_nesf2
-#define perform_nesf2(a, b) return a != b
-#endif
-
-#ifndef perform_gtsf2
-#define perform_gtsf2(a, b) return a > b
-#endif
-
-#ifndef perform_gesf2
-#define perform_gesf2(a, b) return (a >= b) - 1
-#endif
-
-#ifndef perform_ltsf2
-#define perform_ltsf2(a, b) return -(a < b)
-#endif
-
-#ifndef perform_lesf2
-#define perform_lesf2(a, b) return 1 - (a <= b);
-#endif
-
-/* Define the C data type to use for an SImode value. */
-
-#ifndef nongcc_SI_type
-#define nongcc_SI_type long int
-#endif
-
-/* Define the C data type to use for a value of word size */
-#ifndef nongcc_word_type
-#define nongcc_word_type nongcc_SI_type
-#endif
-
-/* Define the type to be used for returning an SF mode value
- and the method for turning a float into that type.
- These definitions work for machines where an SF value is
- returned in the same register as an int. */
-
-#ifndef FLOAT_VALUE_TYPE
-#define FLOAT_VALUE_TYPE int
-#endif
-
-#ifndef INTIFY
-#define INTIFY(FLOATVAL) (intify.f = (FLOATVAL), intify.i)
-#endif
-
-#ifndef FLOATIFY
-#define FLOATIFY(INTVAL) ((INTVAL).f)
-#endif
-
-#ifndef FLOAT_ARG_TYPE
-#define FLOAT_ARG_TYPE union flt_or_int
-#endif
-
-union flt_or_value { FLOAT_VALUE_TYPE i; float f; };
-
-union flt_or_int { int i; float f; };
-
-
-#ifdef L_mulsi3
-nongcc_SI_type
-__mulsi3 (a, b)
- nongcc_SI_type a, b;
-{
- perform_mulsi3 (a, b);
-}
-#endif
-
-#ifdef L_udivsi3
-nongcc_SI_type
-__udivsi3 (a, b)
- unsigned nongcc_SI_type a, b;
-{
- perform_udivsi3 (a, b);
-}
-#endif
-
-#ifdef L_divsi3
-nongcc_SI_type
-__divsi3 (a, b)
- nongcc_SI_type a, b;
-{
- perform_divsi3 (a, b);
-}
-#endif
-
-#ifdef L_umodsi3
-nongcc_SI_type
-__umodsi3 (a, b)
- unsigned nongcc_SI_type a, b;
-{
- perform_umodsi3 (a, b);
-}
-#endif
-
-#ifdef L_modsi3
-nongcc_SI_type
-__modsi3 (a, b)
- nongcc_SI_type a, b;
-{
- perform_modsi3 (a, b);
-}
-#endif
-
-#ifdef L_lshrsi3
-nongcc_SI_type
-__lshrsi3 (a, b)
- unsigned nongcc_SI_type a, b;
-{
- perform_lshrsi3 (a, b);
-}
-#endif
-
-#ifdef L_lshlsi3
-nongcc_SI_type
-__lshlsi3 (a, b)
- unsigned nongcc_SI_type a, b;
-{
- perform_lshlsi3 (a, b);
-}
-#endif
-
-#ifdef L_ashrsi3
-nongcc_SI_type
-__ashrsi3 (a, b)
- nongcc_SI_type a, b;
-{
- perform_ashrsi3 (a, b);
-}
-#endif
-
-#ifdef L_ashlsi3
-nongcc_SI_type
-__ashlsi3 (a, b)
- nongcc_SI_type a, b;
-{
- perform_ashlsi3 (a, b);
-}
-#endif
-
-#ifdef L_divdf3
-double
-__divdf3 (a, b)
- double a, b;
-{
- perform_divdf3 (a, b);
-}
-#endif
-
-#ifdef L_muldf3
-double
-__muldf3 (a, b)
- double a, b;
-{
- perform_muldf3 (a, b);
-}
-#endif
-
-#ifdef L_negdf2
-double
-__negdf2 (a)
- double a;
-{
- perform_negdf2 (a);
-}
-#endif
-
-#ifdef L_adddf3
-double
-__adddf3 (a, b)
- double a, b;
-{
- perform_adddf3 (a, b);
-}
-#endif
-
-#ifdef L_subdf3
-double
-__subdf3 (a, b)
- double a, b;
-{
- perform_subdf3 (a, b);
-}
-#endif
-
-/* Note that eqdf2 returns a value for "true" that is == 0,
- nedf2 returns a value for "true" that is != 0,
- gtdf2 returns a value for "true" that is > 0,
- and so on. */
-
-#ifdef L_eqdf2
-nongcc_word_type
-__eqdf2 (a, b)
- double a, b;
-{
- /* Value == 0 iff a == b. */
- perform_eqdf2 (a, b);
-}
-#endif
-
-#ifdef L_nedf2
-nongcc_word_type
-__nedf2 (a, b)
- double a, b;
-{
- /* Value != 0 iff a != b. */
- perform_nedf2 (a, b);
-}
-#endif
-
-#ifdef L_gtdf2
-nongcc_word_type
-__gtdf2 (a, b)
- double a, b;
-{
- /* Value > 0 iff a > b. */
- perform_gtdf2 (a, b);
-}
-#endif
-
-#ifdef L_gedf2
-nongcc_word_type
-__gedf2 (a, b)
- double a, b;
-{
- /* Value >= 0 iff a >= b. */
- perform_gedf2 (a, b);
-}
-#endif
-
-#ifdef L_ltdf2
-nongcc_word_type
-__ltdf2 (a, b)
- double a, b;
-{
- /* Value < 0 iff a < b. */
- perform_ltdf2 (a, b);
-}
-#endif
-
-#ifdef L_ledf2
-nongcc_word_type
-__ledf2 (a, b)
- double a, b;
-{
- /* Value <= 0 iff a <= b. */
- perform_ledf2 (a, b);
-}
-#endif
-
-#ifdef L_fixdfsi
-nongcc_SI_type
-__fixdfsi (a)
- double a;
-{
- perform_fixdfsi (a);
-}
-#endif
-
-#ifdef L_fixsfsi
-nongcc_SI_type
-__fixsfsi (a)
- FLOAT_ARG_TYPE a;
-{
- union flt_or_value intify;
- perform_fixsfsi (FLOATIFY (a));
-}
-#endif
-
-#ifdef L_floatsidf
-double
-__floatsidf (a)
- nongcc_SI_type a;
-{
- perform_floatsidf (a);
-}
-#endif
-
-#ifdef L_floatsisf
-FLOAT_VALUE_TYPE
-__floatsisf (a)
- nongcc_SI_type a;
-{
- union flt_or_value intify;
- perform_floatsisf (a);
-}
-#endif
-
-#ifdef L_addsf3
-FLOAT_VALUE_TYPE
-__addsf3 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_value intify;
- perform_addsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_negsf2
-FLOAT_VALUE_TYPE
-__negsf2 (a)
- FLOAT_ARG_TYPE a;
-{
- union flt_or_value intify;
- perform_negsf2 (FLOATIFY (a));
-}
-#endif
-
-#ifdef L_subsf3
-FLOAT_VALUE_TYPE
-__subsf3 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_value intify;
- perform_subsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_eqsf2
-nongcc_word_type
-__eqsf2 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_int intify;
- /* Value == 0 iff a == b. */
- perform_eqsf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_nesf2
-nongcc_word_type
-__nesf2 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_int intify;
- /* Value != 0 iff a != b. */
- perform_nesf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_gtsf2
-nongcc_word_type
-__gtsf2 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_int intify;
- /* Value > 0 iff a > b. */
- perform_gtsf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_gesf2
-nongcc_word_type
-__gesf2 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_int intify;
- /* Value >= 0 iff a >= b. */
- perform_gesf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_ltsf2
-nongcc_word_type
-__ltsf2 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_int intify;
- /* Value < 0 iff a < b. */
- perform_ltsf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_lesf2
-nongcc_word_type
-__lesf2 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_int intify;
- /* Value <= 0 iff a <= b. */
- perform_lesf2 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_mulsf3
-FLOAT_VALUE_TYPE
-__mulsf3 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_value intify;
- perform_mulsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_divsf3
-FLOAT_VALUE_TYPE
-__divsf3 (a, b)
- FLOAT_ARG_TYPE a, b;
-{
- union flt_or_value intify;
- perform_divsf3 (FLOATIFY (a), FLOATIFY (b));
-}
-#endif
-
-#ifdef L_truncdfsf2
-FLOAT_VALUE_TYPE
-__truncdfsf2 (a)
- double a;
-{
- union flt_or_value intify;
- perform_truncdfsf2 (a);
-}
-#endif
-
-#ifdef L_extendsfdf2
-double
-__extendsfdf2 (a)
- FLOAT_ARG_TYPE a;
-{
- union flt_or_value intify;
- perform_extendsfdf2 (FLOATIFY (a));
-}
-#endif
diff --git a/gnu/gcc2/libgcc/libgcc2.c b/gnu/gcc2/libgcc/libgcc2.c
deleted file mode 100644
index 9dcccbe3d011..000000000000
--- a/gnu/gcc2/libgcc/libgcc2.c
+++ /dev/null
@@ -1,1758 +0,0 @@
-/* More subroutines needed by GCC output code on some machines. */
-/* Compile this one with gcc. */
-/* Copyright (C) 1989, 1992 Free Software Foundation, Inc.
-
-This file is part of GNU CC.
-
-GNU CC is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-GNU CC is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with GNU CC; see the file COPYING. If not, write to
-the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. */
-
-/* As a special exception, if you link this library with files
- compiled with GCC to produce an executable, this does not cause
- the resulting executable to be covered by the GNU General Public License.
- This exception does not however invalidate any other reasons why
- the executable file might be covered by the GNU General Public License. */
-
-/* It is incorrect to include config.h here, because this file is being
- compiled for the target, and hence definitions concerning only the host
- do not apply. */
-
-#include "tconfig.h"
-#include "machmode.h"
-#ifndef L_trampoline
-#include "gstddef.h"
-#endif
-
-/* Don't use `fancy_abort' here even if config.h says to use it. */
-#ifdef abort
-#undef abort
-#endif
-
-/* In the first part of this file, we are interfacing to calls generated
- by the compiler itself. These calls pass values into these routines
- which have very specific modes (rather than very specific types), and
- these compiler-generated calls also expect any return values to have
- very specific modes (rather than very specific types). Thus, we need
- to avoid using regular C language type names in this part of the file
- because the sizes for those types can be configured to be anything.
- Instead we use the following special type names. */
-
-typedef unsigned int UQItype __attribute__ ((mode (QI)));
-typedef int SItype __attribute__ ((mode (SI)));
-typedef unsigned int USItype __attribute__ ((mode (SI)));
-typedef int DItype __attribute__ ((mode (DI)));
-typedef unsigned int UDItype __attribute__ ((mode (DI)));
-typedef float SFtype __attribute__ ((mode (SF)));
-typedef float DFtype __attribute__ ((mode (DF)));
-#if LONG_DOUBLE_TYPE_SIZE == 96
-typedef float XFtype __attribute__ ((mode (XF)));
-#endif
-#if LONG_DOUBLE_TYPE_SIZE == 128
-typedef float TFtype __attribute__ ((mode (TF)));
-#endif
-
-#if BITS_PER_WORD==16
-typedef int word_type __attribute__ ((mode (HI)));
-#endif
-#if BITS_PER_WORD==32
-typedef int word_type __attribute__ ((mode (SI)));
-#endif
-#if BITS_PER_WORD==64
-typedef int word_type __attribute__ ((mode (DI)));
-#endif
-
-/* Make sure that we don't accidentally use any normal C language built-in
- type names in the first part of this file. Instead we want to use *only*
- the type names defined above. The following macro definitions insure
- that if we *do* accidentally use some normal C language built-in type name,
- we will get a syntax error. */
-
-#define char bogus_type
-#define short bogus_type
-#define int bogus_type
-#define long bogus_type
-#define unsigned bogus_type
-#define float bogus_type
-#define double bogus_type
-
-#define SI_TYPE_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-
-/* DIstructs are pairs of SItype values in the order determined by
- WORDS_BIG_ENDIAN. */
-
-#if WORDS_BIG_ENDIAN
- struct DIstruct {SItype high, low;};
-#else
- struct DIstruct {SItype low, high;};
-#endif
-
-/* We need this union to unpack/pack DImode values, since we don't have
- any arithmetic yet. Incoming DImode parameters are stored into the
- `ll' field, and the unpacked result is read from the struct `s'. */
-
-typedef union
-{
- struct DIstruct s;
- DItype ll;
-} DIunion;
-
-#if defined (L_udivmoddi4) || defined (L_muldi3) || defined (L_udiv_w_sdiv)
-
-#include "longlong.h"
-
-#endif /* udiv or mul */
-
-extern DItype __fixunssfdi (SFtype a);
-extern DItype __fixunsdfdi (DFtype a);
-
-#if defined (L_negdi2) || defined (L_divdi3) || defined (L_moddi3)
-#if defined (L_divdi3) || defined (L_moddi3)
-static inline
-#endif
-DItype
-__negdi2 (u)
- DItype u;
-{
- DIunion w;
- DIunion uu;
-
- uu.ll = u;
-
- w.s.low = -uu.s.low;
- w.s.high = -uu.s.high - ((USItype) w.s.low > 0);
-
- return w.ll;
-}
-#endif
-
-#ifdef L_lshldi3
-DItype
-__lshldi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
-
- if (b == 0)
- return u;
-
- uu.ll = u;
-
- bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
- if (bm <= 0)
- {
- w.s.low = 0;
- w.s.high = (USItype)uu.s.low << -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.low >> bm;
- w.s.low = (USItype)uu.s.low << b;
- w.s.high = ((USItype)uu.s.high << b) | carries;
- }
-
- return w.ll;
-}
-#endif
-
-#ifdef L_lshrdi3
-DItype
-__lshrdi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
-
- if (b == 0)
- return u;
-
- uu.ll = u;
-
- bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
- if (bm <= 0)
- {
- w.s.high = 0;
- w.s.low = (USItype)uu.s.high >> -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.high << bm;
- w.s.high = (USItype)uu.s.high >> b;
- w.s.low = ((USItype)uu.s.low >> b) | carries;
- }
-
- return w.ll;
-}
-#endif
-
-#ifdef L_ashldi3
-DItype
-__ashldi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
-
- if (b == 0)
- return u;
-
- uu.ll = u;
-
- bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
- if (bm <= 0)
- {
- w.s.low = 0;
- w.s.high = (USItype)uu.s.low << -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.low >> bm;
- w.s.low = (USItype)uu.s.low << b;
- w.s.high = ((USItype)uu.s.high << b) | carries;
- }
-
- return w.ll;
-}
-#endif
-
-#ifdef L_ashrdi3
-DItype
-__ashrdi3 (u, b)
- DItype u;
- SItype b;
-{
- DIunion w;
- SItype bm;
- DIunion uu;
-
- if (b == 0)
- return u;
-
- uu.ll = u;
-
- bm = (sizeof (SItype) * BITS_PER_UNIT) - b;
- if (bm <= 0)
- {
- /* w.s.high = 1..1 or 0..0 */
- w.s.high = uu.s.high >> (sizeof (SItype) * BITS_PER_UNIT - 1);
- w.s.low = uu.s.high >> -bm;
- }
- else
- {
- USItype carries = (USItype)uu.s.high << bm;
- w.s.high = uu.s.high >> b;
- w.s.low = ((USItype)uu.s.low >> b) | carries;
- }
-
- return w.ll;
-}
-#endif
-
-#ifdef L_ffsdi2
-DItype
-__ffsdi2 (u)
- DItype u;
-{
- DIunion uu, w;
- uu.ll = u;
- w.s.high = 0;
- w.s.low = ffs (uu.s.low);
- if (w.s.low != 0)
- return w.ll;
- w.s.low = ffs (uu.s.high);
- if (w.s.low != 0)
- {
- w.s.low += BITS_PER_UNIT * sizeof (SItype);
- return w.ll;
- }
- return w.ll;
-}
-#endif
-
-#ifdef L_muldi3
-DItype
-__muldi3 (u, v)
- DItype u, v;
-{
- DIunion w;
- DIunion uu, vv;
-
- uu.ll = u,
- vv.ll = v;
-
- w.ll = __umulsidi3 (uu.s.low, vv.s.low);
- w.s.high += ((USItype) uu.s.low * (USItype) vv.s.high
- + (USItype) uu.s.high * (USItype) vv.s.low);
-
- return w.ll;
-}
-#endif
-
-#ifdef L_udiv_w_sdiv
-USItype
-__udiv_w_sdiv (rp, a1, a0, d)
- USItype *rp, a1, a0, d;
-{
- USItype q, r;
- USItype c0, c1, b1;
-
- if ((SItype) d >= 0)
- {
- if (a1 < d - a1 - (a0 >> (SI_TYPE_SIZE - 1)))
- {
- /* dividend, divisor, and quotient are nonnegative */
- sdiv_qrnnd (q, r, a1, a0, d);
- }
- else
- {
- /* Compute c1*2^32 + c0 = a1*2^32 + a0 - 2^31*d */
- sub_ddmmss (c1, c0, a1, a0, d >> 1, d << (SI_TYPE_SIZE - 1));
- /* Divide (c1*2^32 + c0) by d */
- sdiv_qrnnd (q, r, c1, c0, d);
- /* Add 2^31 to quotient */
- q += (USItype) 1 << (SI_TYPE_SIZE - 1);
- }
- }
- else
- {
- b1 = d >> 1; /* d/2, between 2^30 and 2^31 - 1 */
- c1 = a1 >> 1; /* A/2 */
- c0 = (a1 << (SI_TYPE_SIZE - 1)) + (a0 >> 1);
-
- if (a1 < b1) /* A < 2^32*b1, so A/2 < 2^31*b1 */
- {
- sdiv_qrnnd (q, r, c1, c0, b1); /* (A/2) / (d/2) */
-
- r = 2*r + (a0 & 1); /* Remainder from A/(2*b1) */
- if ((d & 1) != 0)
- {
- if (r >= q)
- r = r - q;
- else if (q - r <= d)
- {
- r = r - q + d;
- q--;
- }
- else
- {
- r = r - q + 2*d;
- q -= 2;
- }
- }
- }
- else if (c1 < b1) /* So 2^31 <= (A/2)/b1 < 2^32 */
- {
- c1 = (b1 - 1) - c1;
- c0 = ~c0; /* logical NOT */
-
- sdiv_qrnnd (q, r, c1, c0, b1); /* (A/2) / (d/2) */
-
- q = ~q; /* (A/2)/b1 */
- r = (b1 - 1) - r;
-
- r = 2*r + (a0 & 1); /* A/(2*b1) */
-
- if ((d & 1) != 0)
- {
- if (r >= q)
- r = r - q;
- else if (q - r <= d)
- {
- r = r - q + d;
- q--;
- }
- else
- {
- r = r - q + 2*d;
- q -= 2;
- }
- }
- }
- else /* Implies c1 = b1 */
- { /* Hence a1 = d - 1 = 2*b1 - 1 */
- if (a0 >= -d)
- {
- q = -1;
- r = a0 + d;
- }
- else
- {
- q = -2;
- r = a0 + 2*d;
- }
- }
- }
-
- *rp = r;
- return q;
-}
-#endif
-
-#ifdef L_udivmoddi4
-static const UQItype __clz_tab[] =
-{
- 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,
- 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
- 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,
-};
-
-UDItype
-__udivmoddi4 (n, d, rp)
- UDItype n, d;
- UDItype *rp;
-{
- DIunion ww;
- DIunion nn, dd;
- DIunion rr;
- USItype d0, d1, n0, n1, n2;
- USItype q0, q1;
- USItype b, bm;
-
- nn.ll = n;
- dd.ll = d;
-
- d0 = dd.s.low;
- d1 = dd.s.high;
- n0 = nn.s.low;
- n1 = nn.s.high;
-
-#if !UDIV_NEEDS_NORMALIZATION
- if (d1 == 0)
- {
- if (d0 > n1)
- {
- /* 0q = nn / 0D */
-
- udiv_qrnnd (q0, n0, n1, n0, d0);
- q1 = 0;
-
- /* Remainder in n0. */
- }
- else
- {
- /* qq = NN / 0d */
-
- if (d0 == 0)
- d0 = 1 / d0; /* Divide intentionally by zero. */
-
- udiv_qrnnd (q1, n1, 0, n1, d0);
- udiv_qrnnd (q0, n0, n1, n0, d0);
-
- /* Remainder in n0. */
- }
-
- if (rp != 0)
- {
- rr.s.low = n0;
- rr.s.high = 0;
- *rp = rr.ll;
- }
- }
-
-#else /* UDIV_NEEDS_NORMALIZATION */
-
- if (d1 == 0)
- {
- if (d0 > n1)
- {
- /* 0q = nn / 0D */
-
- count_leading_zeros (bm, d0);
-
- if (bm != 0)
- {
- /* Normalize, i.e. make the most significant bit of the
- denominator set. */
-
- d0 = d0 << bm;
- n1 = (n1 << bm) | (n0 >> (SI_TYPE_SIZE - bm));
- n0 = n0 << bm;
- }
-
- udiv_qrnnd (q0, n0, n1, n0, d0);
- q1 = 0;
-
- /* Remainder in n0 >> bm. */
- }
- else
- {
- /* qq = NN / 0d */
-
- if (d0 == 0)
- d0 = 1 / d0; /* Divide intentionally by zero. */
-
- count_leading_zeros (bm, d0);
-
- if (bm == 0)
- {
- /* From (n1 >= d0) /\ (the most significant bit of d0 is set),
- conclude (the most significant bit of n1 is set) /\ (the
- leading quotient digit q1 = 1).
-
- This special case is necessary, not an optimization.
- (Shifts counts of SI_TYPE_SIZE are undefined.) */
-
- n1 -= d0;
- q1 = 1;
- }
- else
- {
- /* Normalize. */
-
- b = SI_TYPE_SIZE - bm;
-
- d0 = d0 << bm;
- n2 = n1 >> b;
- n1 = (n1 << bm) | (n0 >> b);
- n0 = n0 << bm;
-
- udiv_qrnnd (q1, n1, n2, n1, d0);
- }
-
- /* n1 != d0... */
-
- udiv_qrnnd (q0, n0, n1, n0, d0);
-
- /* Remainder in n0 >> bm. */
- }
-
- if (rp != 0)
- {
- rr.s.low = n0 >> bm;
- rr.s.high = 0;
- *rp = rr.ll;
- }
- }
-#endif /* UDIV_NEEDS_NORMALIZATION */
-
- else
- {
- if (d1 > n1)
- {
- /* 00 = nn / DD */
-
- q0 = 0;
- q1 = 0;
-
- /* Remainder in n1n0. */
- if (rp != 0)
- {
- rr.s.low = n0;
- rr.s.high = n1;
- *rp = rr.ll;
- }
- }
- else
- {
- /* 0q = NN / dd */
-
- count_leading_zeros (bm, d1);
- if (bm == 0)
- {
- /* From (n1 >= d1) /\ (the most significant bit of d1 is set),
- conclude (the most significant bit of n1 is set) /\ (the
- quotient digit q0 = 0 or 1).
-
- This special case is necessary, not an optimization. */
-
- /* The condition on the next line takes advantage of that
- n1 >= d1 (true due to program flow). */
- if (n1 > d1 || n0 >= d0)
- {
- q0 = 1;
- sub_ddmmss (n1, n0, n1, n0, d1, d0);
- }
- else
- q0 = 0;
-
- q1 = 0;
-
- if (rp != 0)
- {
- rr.s.low = n0;
- rr.s.high = n1;
- *rp = rr.ll;
- }
- }
- else
- {
- USItype m1, m0;
- /* Normalize. */
-
- b = SI_TYPE_SIZE - bm;
-
- d1 = (d1 << bm) | (d0 >> b);
- d0 = d0 << bm;
- n2 = n1 >> b;
- n1 = (n1 << bm) | (n0 >> b);
- n0 = n0 << bm;
-
- udiv_qrnnd (q0, n1, n2, n1, d1);
- umul_ppmm (m1, m0, q0, d0);
-
- if (m1 > n1 || (m1 == n1 && m0 > n0))
- {
- q0--;
- sub_ddmmss (m1, m0, m1, m0, d1, d0);
- }
-
- q1 = 0;
-
- /* Remainder in (n1n0 - m1m0) >> bm. */
- if (rp != 0)
- {
- sub_ddmmss (n1, n0, n1, n0, m1, m0);
- rr.s.low = (n1 << b) | (n0 >> bm);
- rr.s.high = n1 >> bm;
- *rp = rr.ll;
- }
- }
- }
- }
-
- ww.s.low = q0;
- ww.s.high = q1;
- return ww.ll;
-}
-#endif
-
-#ifdef L_divdi3
-UDItype __udivmoddi4 ();
-DItype
-__divdi3 (u, v)
- DItype u, v;
-{
- SItype c = 0;
- DIunion uu, vv;
- DItype w;
-
- uu.ll = u;
- vv.ll = v;
-
- if (uu.s.high < 0)
- c = ~c,
- uu.ll = __negdi2 (uu.ll);
- if (vv.s.high < 0)
- c = ~c,
- vv.ll = __negdi2 (vv.ll);
-
- w = __udivmoddi4 (uu.ll, vv.ll, (UDItype *) 0);
- if (c)
- w = __negdi2 (w);
-
- return w;
-}
-#endif
-
-#ifdef L_moddi3
-UDItype __udivmoddi4 ();
-DItype
-__moddi3 (u, v)
- DItype u, v;
-{
- SItype c = 0;
- DIunion uu, vv;
- DItype w;
-
- uu.ll = u;
- vv.ll = v;
-
- if (uu.s.high < 0)
- c = ~c,
- uu.ll = __negdi2 (uu.ll);
- if (vv.s.high < 0)
- vv.ll = __negdi2 (vv.ll);
-
- (void) __udivmoddi4 (uu.ll, vv.ll, &w);
- if (c)
- w = __negdi2 (w);
-
- return w;
-}
-#endif
-
-#ifdef L_umoddi3
-UDItype __udivmoddi4 ();
-UDItype
-__umoddi3 (u, v)
- UDItype u, v;
-{
- DItype w;
-
- (void) __udivmoddi4 (u, v, &w);
-
- return w;
-}
-#endif
-
-#ifdef L_udivdi3
-UDItype __udivmoddi4 ();
-UDItype
-__udivdi3 (n, d)
- UDItype n, d;
-{
- return __udivmoddi4 (n, d, (UDItype *) 0);
-}
-#endif
-
-#ifdef L_cmpdi2
-word_type
-__cmpdi2 (a, b)
- DItype a, b;
-{
- DIunion au, bu;
-
- au.ll = a, bu.ll = b;
-
- if (au.s.high < bu.s.high)
- return 0;
- else if (au.s.high > bu.s.high)
- return 2;
- if ((USItype) au.s.low < (USItype) bu.s.low)
- return 0;
- else if ((USItype) au.s.low > (USItype) bu.s.low)
- return 2;
- return 1;
-}
-#endif
-
-#ifdef L_ucmpdi2
-word_type
-__ucmpdi2 (a, b)
- DItype a, b;
-{
- DIunion au, bu;
-
- au.ll = a, bu.ll = b;
-
- if ((USItype) au.s.high < (USItype) bu.s.high)
- return 0;
- else if ((USItype) au.s.high > (USItype) bu.s.high)
- return 2;
- if ((USItype) au.s.low < (USItype) bu.s.low)
- return 0;
- else if ((USItype) au.s.low > (USItype) bu.s.low)
- return 2;
- return 1;
-}
-#endif
-
-#if defined(L_fixunstfdi) && (LONG_DOUBLE_TYPE_SIZE == 128)
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-DItype
-__fixunstfdi (a)
- TFtype a;
-{
- TFtype b;
- UDItype v;
-
- if (a < 0)
- return 0;
-
- /* Compute high word of result, as a flonum. */
- b = (a / HIGH_WORD_COEFF);
- /* Convert that to fixed (but not to DItype!),
- and shift it into the high word. */
- v = (USItype) b;
- v <<= WORD_SIZE;
- /* Remove high part from the TFtype, leaving the low part as flonum. */
- a -= (TFtype)v;
- /* Convert that to fixed (but not to DItype!) and add it in.
- Sometimes A comes out negative. This is significant, since
- A has more bits than a long int does. */
- if (a < 0)
- v -= (USItype) (- a);
- else
- v += (USItype) a;
- return v;
-}
-#endif
-
-#if defined(L_fixtfdi) && (LONG_DOUBLE_TYPE_SIZE == 128)
-DItype
-__fixtfdi (a)
- TFtype a;
-{
- if (a < 0)
- return - __fixunstfdi (-a);
- return __fixunstfdi (a);
-}
-#endif
-
-#if defined(L_fixunsxfdi) && (LONG_DOUBLE_TYPE_SIZE == 96)
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-DItype
-__fixunsxfdi (a)
- XFtype a;
-{
- XFtype b;
- UDItype v;
-
- if (a < 0)
- return 0;
-
- /* Compute high word of result, as a flonum. */
- b = (a / HIGH_WORD_COEFF);
- /* Convert that to fixed (but not to DItype!),
- and shift it into the high word. */
- v = (USItype) b;
- v <<= WORD_SIZE;
- /* Remove high part from the XFtype, leaving the low part as flonum. */
- a -= (XFtype)v;
- /* Convert that to fixed (but not to DItype!) and add it in.
- Sometimes A comes out negative. This is significant, since
- A has more bits than a long int does. */
- if (a < 0)
- v -= (USItype) (- a);
- else
- v += (USItype) a;
- return v;
-}
-#endif
-
-#if defined(L_fixxfdi) && (LONG_DOUBLE_TYPE_SIZE == 96)
-DItype
-__fixxfdi (a)
- XFtype a;
-{
- if (a < 0)
- return - __fixunsxfdi (-a);
- return __fixunsxfdi (a);
-}
-#endif
-
-#ifdef L_fixunsdfdi
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-DItype
-__fixunsdfdi (a)
- DFtype a;
-{
- DFtype b;
- UDItype v;
-
- if (a < 0)
- return 0;
-
- /* Compute high word of result, as a flonum. */
- b = (a / HIGH_WORD_COEFF);
- /* Convert that to fixed (but not to DItype!),
- and shift it into the high word. */
- v = (USItype) b;
- v <<= WORD_SIZE;
- /* Remove high part from the DFtype, leaving the low part as flonum. */
- a -= (DFtype)v;
- /* Convert that to fixed (but not to DItype!) and add it in.
- Sometimes A comes out negative. This is significant, since
- A has more bits than a long int does. */
- if (a < 0)
- v -= (USItype) (- a);
- else
- v += (USItype) a;
- return v;
-}
-#endif
-
-#ifdef L_fixdfdi
-DItype
-__fixdfdi (a)
- DFtype a;
-{
- if (a < 0)
- return - __fixunsdfdi (-a);
- return __fixunsdfdi (a);
-}
-#endif
-
-#ifdef L_fixunssfdi
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-DItype
-__fixunssfdi (SFtype original_a)
-{
- /* Convert the SFtype to a DFtype, because that is surely not going
- to lose any bits. Some day someone else can write a faster version
- that avoids converting to DFtype, and verify it really works right. */
- DFtype a = original_a;
- DFtype b;
- UDItype v;
-
- if (a < 0)
- return 0;
-
- /* Compute high word of result, as a flonum. */
- b = (a / HIGH_WORD_COEFF);
- /* Convert that to fixed (but not to DItype!),
- and shift it into the high word. */
- v = (USItype) b;
- v <<= WORD_SIZE;
- /* Remove high part from the DFtype, leaving the low part as flonum. */
- a -= (DFtype)v;
- /* Convert that to fixed (but not to DItype!) and add it in.
- Sometimes A comes out negative. This is significant, since
- A has more bits than a long int does. */
- if (a < 0)
- v -= (USItype) (- a);
- else
- v += (USItype) a;
- return v;
-}
-#endif
-
-#ifdef L_fixsfdi
-DItype
-__fixsfdi (SFtype a)
-{
- if (a < 0)
- return - __fixunssfdi (-a);
- return __fixunssfdi (a);
-}
-#endif
-
-#if defined(L_floatdixf) && (LONG_DOUBLE_TYPE_SIZE == 96)
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-XFtype
-__floatdixf (u)
- DItype u;
-{
- XFtype d;
- SItype negate = 0;
-
- if (u < 0)
- u = -u, negate = 1;
-
- d = (USItype) (u >> WORD_SIZE);
- d *= HIGH_HALFWORD_COEFF;
- d *= HIGH_HALFWORD_COEFF;
- d += (USItype) (u & (HIGH_WORD_COEFF - 1));
-
- return (negate ? -d : d);
-}
-#endif
-
-#if defined(L_floatditf) && (LONG_DOUBLE_TYPE_SIZE == 128)
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-TFtype
-__floatditf (u)
- DItype u;
-{
- TFtype d;
- SItype negate = 0;
-
- if (u < 0)
- u = -u, negate = 1;
-
- d = (USItype) (u >> WORD_SIZE);
- d *= HIGH_HALFWORD_COEFF;
- d *= HIGH_HALFWORD_COEFF;
- d += (USItype) (u & (HIGH_WORD_COEFF - 1));
-
- return (negate ? -d : d);
-}
-#endif
-
-#ifdef L_floatdidf
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-DFtype
-__floatdidf (u)
- DItype u;
-{
- DFtype d;
- SItype negate = 0;
-
- if (u < 0)
- u = -u, negate = 1;
-
- d = (USItype) (u >> WORD_SIZE);
- d *= HIGH_HALFWORD_COEFF;
- d *= HIGH_HALFWORD_COEFF;
- d += (USItype) (u & (HIGH_WORD_COEFF - 1));
-
- return (negate ? -d : d);
-}
-#endif
-
-#ifdef L_floatdisf
-#define WORD_SIZE (sizeof (SItype) * BITS_PER_UNIT)
-#define HIGH_HALFWORD_COEFF (((UDItype) 1) << (WORD_SIZE / 2))
-#define HIGH_WORD_COEFF (((UDItype) 1) << WORD_SIZE)
-
-SFtype
-__floatdisf (u)
- DItype u;
-{
- /* Do the calculation in DFmode
- so that we don't lose any of the precision of the high word
- while multiplying it. */
- DFtype f;
- SItype negate = 0;
-
- if (u < 0)
- u = -u, negate = 1;
-
- f = (USItype) (u >> WORD_SIZE);
- f *= HIGH_HALFWORD_COEFF;
- f *= HIGH_HALFWORD_COEFF;
- f += (USItype) (u & (HIGH_WORD_COEFF - 1));
-
- return (SFtype) (negate ? -f : f);
-}
-#endif
-
-#if defined(L_fixunsxfsi) && LONG_DOUBLE_TYPE_SIZE == 96
-#include "glimits.h"
-
-USItype
-__fixunsxfsi (a)
- XFtype a;
-{
- if (a >= - (DFtype) LONG_MIN)
- return (SItype) (a + LONG_MIN) - LONG_MIN;
- return (SItype) a;
-}
-#endif
-
-#ifdef L_fixunsdfsi
-#include "glimits.h"
-
-USItype
-__fixunsdfsi (a)
- DFtype a;
-{
- if (a >= - (DFtype) LONG_MIN)
- return (SItype) (a + LONG_MIN) - LONG_MIN;
- return (SItype) a;
-}
-#endif
-
-#ifdef L_fixunssfsi
-#include "glimits.h"
-
-USItype
-__fixunssfsi (SFtype a)
-{
- if (a >= - (SFtype) LONG_MIN)
- return (SItype) (a + LONG_MIN) - LONG_MIN;
- return (SItype) a;
-}
-#endif
-
-/* From here on down, the routines use normal data types. */
-
-#define SItype bogus_type
-#define USItype bogus_type
-#define DItype bogus_type
-#define UDItype bogus_type
-#define SFtype bogus_type
-#define DFtype bogus_type
-
-#undef char
-#undef short
-#undef int
-#undef long
-#undef unsigned
-#undef float
-#undef double
-
-#ifdef L__gcc_bcmp
-
-/* Like bcmp except the sign is meaningful.
- Reult is negative if S1 is less than S2,
- positive if S1 is greater, 0 if S1 and S2 are equal. */
-
-int
-__gcc_bcmp (s1, s2, size)
- unsigned char *s1, *s2;
- size_t size;
-{
- while (size > 0)
- {
- unsigned char c1 = *s1++, c2 = *s2++;
- if (c1 != c2)
- return c1 - c2;
- size--;
- }
- return 0;
-}
-
-#endif
-
-#ifdef L_varargs
-#ifdef __i860__
-#if defined(__svr4__) || defined(__alliant__)
- asm (" .text");
- asm (" .align 4");
-
-/* The Alliant needs the added underscore. */
- asm (".globl __builtin_saveregs");
-asm ("__builtin_saveregs:");
- asm (".globl ___builtin_saveregs");
-asm ("___builtin_saveregs:");
-
- asm (" andnot 0x0f,%sp,%sp"); /* round down to 16-byte boundary */
- asm (" adds -96,%sp,%sp"); /* allocate stack space for reg save
- area and also for a new va_list
- structure */
- /* Save all argument registers in the arg reg save area. The
- arg reg save area must have the following layout (according
- to the svr4 ABI):
-
- struct {
- union {
- float freg[8];
- double dreg[4];
- } float_regs;
- long ireg[12];
- };
- */
-
- asm (" fst.q %f8, 0(%sp)"); /* save floating regs (f8-f15) */
- asm (" fst.q %f12,16(%sp)");
-
- asm (" st.l %r16,32(%sp)"); /* save integer regs (r16-r27) */
- asm (" st.l %r17,36(%sp)");
- asm (" st.l %r18,40(%sp)");
- asm (" st.l %r19,44(%sp)");
- asm (" st.l %r20,48(%sp)");
- asm (" st.l %r21,52(%sp)");
- asm (" st.l %r22,56(%sp)");
- asm (" st.l %r23,60(%sp)");
- asm (" st.l %r24,64(%sp)");
- asm (" st.l %r25,68(%sp)");
- asm (" st.l %r26,72(%sp)");
- asm (" st.l %r27,76(%sp)");
-
- asm (" adds 80,%sp,%r16"); /* compute the address of the new
- va_list structure. Put in into
- r16 so that it will be returned
- to the caller. */
-
- /* Initialize all fields of the new va_list structure. This
- structure looks like:
-
- typedef struct {
- unsigned long ireg_used;
- unsigned long freg_used;
- long *reg_base;
- long *mem_ptr;
- } va_list;
- */
-
- asm (" st.l %r0, 0(%r16)"); /* nfixed */
- asm (" st.l %r0, 4(%r16)"); /* nfloating */
- asm (" st.l %sp, 8(%r16)"); /* __va_ctl points to __va_struct. */
- asm (" bri %r1"); /* delayed return */
- asm (" st.l %r28,12(%r16)"); /* pointer to overflow args */
-
-#else /* not __svr4__ */
- asm (" .text");
- asm (" .align 4");
-
- asm (".globl ___builtin_saveregs");
- asm ("___builtin_saveregs:");
- asm (" mov sp,r30");
- asm (" andnot 0x0f,sp,sp");
- asm (" adds -96,sp,sp"); /* allocate sufficient space on the stack */
-
-/* Fill in the __va_struct. */
- asm (" st.l r16, 0(sp)"); /* save integer regs (r16-r27) */
- asm (" st.l r17, 4(sp)"); /* int fixed[12] */
- asm (" st.l r18, 8(sp)");
- asm (" st.l r19,12(sp)");
- asm (" st.l r20,16(sp)");
- asm (" st.l r21,20(sp)");
- asm (" st.l r22,24(sp)");
- asm (" st.l r23,28(sp)");
- asm (" st.l r24,32(sp)");
- asm (" st.l r25,36(sp)");
- asm (" st.l r26,40(sp)");
- asm (" st.l r27,44(sp)");
-
- asm (" fst.q f8, 48(sp)"); /* save floating regs (f8-f15) */
- asm (" fst.q f12,64(sp)"); /* int floating[8] */
-
-/* Fill in the __va_ctl. */
- asm (" st.l sp, 80(sp)"); /* __va_ctl points to __va_struct. */
- asm (" st.l r28,84(sp)"); /* pointer to more args */
- asm (" st.l r0, 88(sp)"); /* nfixed */
- asm (" st.l r0, 92(sp)"); /* nfloating */
-
- asm (" adds 80,sp,r16"); /* return address of the __va_ctl. */
- asm (" bri r1");
- asm (" mov r30,sp");
- /* recover stack and pass address to start
- of data. */
-#endif /* not __svr4__ */
-#else /* not __i860__ */
-#ifdef __sparc__
- asm (".global __builtin_saveregs");
- asm ("__builtin_saveregs:");
- asm (".global ___builtin_saveregs");
- asm ("___builtin_saveregs:");
-#ifdef NEED_PROC_COMMAND
- asm (".proc 020");
-#endif
- asm ("st %i0,[%fp+68]");
- asm ("st %i1,[%fp+72]");
- asm ("st %i2,[%fp+76]");
- asm ("st %i3,[%fp+80]");
- asm ("st %i4,[%fp+84]");
- asm ("retl");
- asm ("st %i5,[%fp+88]");
-#ifdef NEED_TYPE_COMMAND
- asm (".type __builtin_saveregs,#function");
- asm (".size __builtin_saveregs,.-__builtin_saveregs");
-#endif
-#else /* not __sparc__ */
-#if defined(__MIPSEL__) | defined(__R3000__) | defined(__R2000__) | defined(__mips__)
-
- asm (" .text");
- asm (" .ent __builtin_saveregs");
- asm (" .globl __builtin_saveregs");
- asm ("__builtin_saveregs:");
- asm (" sw $4,0($30)");
- asm (" sw $5,4($30)");
- asm (" sw $6,8($30)");
- asm (" sw $7,12($30)");
- asm (" j $31");
- asm (" .end __builtin_saveregs");
-#else /* not __mips__, etc. */
-__builtin_saveregs ()
-{
- abort ();
-}
-#endif /* not __mips__ */
-#endif /* not __sparc__ */
-#endif /* not __i860__ */
-#endif
-
-#ifdef L_eprintf
-#ifndef inhibit_libc
-
-#undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */
-#include <stdio.h>
-/* This is used by the `assert' macro. */
-void
-__eprintf (string, expression, line, filename)
- const char *string;
- const char *expression;
- int line;
- const char *filename;
-{
- fprintf (stderr, string, expression, line, filename);
- fflush (stderr);
- abort ();
-}
-
-#endif
-#endif
-
-#ifdef L_bb
-/* Avoid warning from ranlib about empty object file. */
-void
-__bb_avoid_warning ()
-{}
-
-#if defined (__sun__) && defined (__mc68000__)
-struct bb
-{
- int initialized;
- char *filename;
- int *counts;
- int ncounts;
- int zero_word;
- int *addresses;
-};
-
-extern int ___tcov_init;
-
-__bb_init_func (blocks)
- struct bb *blocks;
-{
- if (! ___tcov_init)
- ___tcov_init_func ();
-
- ___bb_link (blocks->filename, blocks->counts, blocks->ncounts);
-}
-
-#endif
-#endif
-
-/* frills for C++ */
-
-#ifdef L_op_new
-typedef void (*vfp)(void);
-
-extern vfp __new_handler;
-
-/* void * operator new (size_t sz) */
-void *
-__builtin_new (size_t sz)
-{
- void *p;
-
- /* malloc (0) is unpredictable; avoid it. */
- if (sz == 0)
- sz = 1;
- p = (void *) malloc (sz);
- if (p == 0)
- (*__new_handler) ();
- return p;
-}
-#endif /* L_op_new */
-
-#ifdef L_new_handler
-
-#ifndef inhibit_libc
-/* This gets us __GNU_LIBRARY__. */
-#undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */
-#include <stdio.h>
-
-#ifdef __GNU_LIBRARY__
- /* Avoid forcing the library's meaning of `write' on the user program
- by using the "internal" name (for use within the library) */
-#define write(fd, buf, n) __write((fd), (buf), (n))
-#endif
-#endif /* inhibit_libc */
-
-typedef void (*vfp)(void);
-
-extern void *__builtin_new (size_t);
-static void default_new_handler (void);
-
-vfp __new_handler = default_new_handler;
-
-vfp
-__set_new_handler (handler)
- vfp handler;
-{
- vfp prev_handler;
-
- prev_handler = __new_handler;
- if (handler == 0) handler = default_new_handler;
- __new_handler = handler;
- return prev_handler;
-}
-
-vfp
-set_new_handler (handler)
- vfp handler;
-{
- return __set_new_handler (handler);
-}
-
-#define MESSAGE "Virtual memory exceeded in `new'\n"
-
-static void
-default_new_handler ()
-{
- /* don't use fprintf (stderr, ...) because it may need to call malloc. */
- /* This should really print the name of the program, but that is hard to
- do. We need a standard, clean way to get at the name. */
- write (2, MESSAGE, sizeof (MESSAGE));
- /* don't call exit () because that may call global destructors which
- may cause a loop. */
- _exit (-1);
-}
-#endif
-
-#ifdef L_op_delete
-/* void operator delete (void *ptr) */
-void
-__builtin_delete (void *ptr)
-{
- if (ptr)
- free (ptr);
-}
-#endif
-
-#ifdef L_shtab
-unsigned int __shtab[] = {
- 0x00000001, 0x00000002, 0x00000004, 0x00000008,
- 0x00000010, 0x00000020, 0x00000040, 0x00000080,
- 0x00000100, 0x00000200, 0x00000400, 0x00000800,
- 0x00001000, 0x00002000, 0x00004000, 0x00008000,
- 0x00010000, 0x00020000, 0x00040000, 0x00080000,
- 0x00100000, 0x00200000, 0x00400000, 0x00800000,
- 0x01000000, 0x02000000, 0x04000000, 0x08000000,
- 0x10000000, 0x20000000, 0x40000000, 0x80000000
- };
-#endif
-
-#ifdef L_clear_cache
-/* Clear part of an instruction cache. */
-
-#define INSN_CACHE_PLANE_SIZE (INSN_CACHE_SIZE / INSN_CACHE_DEPTH)
-
-void
-__clear_cache (beg, end)
- char *beg, *end;
-{
-#ifdef INSN_CACHE_SIZE
- static char array[INSN_CACHE_SIZE + INSN_CACHE_PLANE_SIZE + INSN_CACHE_LINE_WIDTH];
- static int initialized = 0;
- int offset;
- void *start_addr
- void *end_addr;
- typedef (*function_ptr) ();
-
-#if (INSN_CACHE_SIZE / INSN_CACHE_LINE_WIDTH) < 16
- /* It's cheaper to clear the whole cache.
- Put in a series of jump instructions so that calling the beginning
- of the cache will clear the whole thing. */
-
- if (! initialized)
- {
- int ptr = (((int) array + INSN_CACHE_LINE_WIDTH - 1)
- & -INSN_CACHE_LINE_WIDTH);
- int end_ptr = ptr + INSN_CACHE_SIZE;
-
- while (ptr < end_ptr)
- {
- *(INSTRUCTION_TYPE *)ptr
- = JUMP_AHEAD_INSTRUCTION + INSN_CACHE_LINE_WIDTH;
- ptr += INSN_CACHE_LINE_WIDTH;
- }
- *(INSTRUCTION_TYPE *)(ptr - INSN_CACHE_LINE_WIDTH) = RETURN_INSTRUCTION;
-
- initialized = 1;
- }
-
- /* Call the beginning of the sequence. */
- (((function_ptr) (((int) array + INSN_CACHE_LINE_WIDTH - 1)
- & -INSN_CACHE_LINE_WIDTH))
- ());
-
-#else /* Cache is large. */
-
- if (! initialized)
- {
- int ptr = (((int) array + INSN_CACHE_LINE_WIDTH - 1)
- & -INSN_CACHE_LINE_WIDTH);
-
- while (ptr < (int) array + sizeof array)
- {
- *(INSTRUCTION_TYPE *)ptr = RETURN_INSTRUCTION;
- ptr += INSN_CACHE_LINE_WIDTH;
- }
-
- initialized = 1;
- }
-
- /* Find the location in array that occupies the same cache line as BEG. */
-
- offset = ((int) beg & -INSN_CACHE_LINE_WIDTH) & (INSN_CACHE_PLANE_SIZE - 1);
- start_addr = (((int) (array + INSN_CACHE_PLANE_SIZE - 1)
- & -INSN_CACHE_PLANE_SIZE)
- + offset);
-
- /* Compute the cache alignment of the place to stop clearing. */
-#if 0 /* This is not needed for gcc's purposes. */
- /* If the block to clear is bigger than a cache plane,
- we clear the entire cache, and OFFSET is already correct. */
- if (end < beg + INSN_CACHE_PLANE_SIZE)
-#endif
- offset = (((int) (end + INSN_CACHE_LINE_WIDTH - 1)
- & -INSN_CACHE_LINE_WIDTH)
- & (INSN_CACHE_PLANE_SIZE - 1));
-
-#if INSN_CACHE_DEPTH > 1
- end_addr = (start_addr & -INSN_CACHE_PLANE_SIZE) + offset;
- if (end_addr <= start_addr)
- end_addr += INSN_CACHE_PLANE_SIZE;
-
- for (plane = 0; plane < INSN_CACHE_DEPTH; plane++)
- {
- int addr = start_addr + plane * INSN_CACHE_PLANE_SIZE;
- int stop = end_addr + plane * INSN_CACHE_PLANE_SIZE;
-
- while (addr != stop)
- {
- /* Call the return instruction at ADDR. */
- ((function_ptr) addr) ();
-
- addr += INSN_CACHE_LINE_WIDTH;
- }
- }
-#else /* just one plane */
- do
- {
- /* Call the return instruction at START_ADDR. */
- ((function_ptr) start_addr) ();
-
- start_addr += INSN_CACHE_LINE_WIDTH;
- }
- while ((start_addr % INSN_CACHE_SIZE) != offset);
-#endif /* just one plane */
-#endif /* Cache is large */
-#endif /* Cache exists */
-}
-
-#endif /* L_clear_cache */
-
-#ifdef L_trampoline
-
-/* Jump to a trampoline, loading the static chain address. */
-
-#ifdef TRANSFER_FROM_TRAMPOLINE
-TRANSFER_FROM_TRAMPOLINE
-#endif
-
-#ifdef __convex__
-
-/* Make stack executable so we can call trampolines on stack.
- This is called from INITIALIZE_TRAMPOLINE in convex.h. */
-
-#include <sys/mman.h>
-#include <sys/vmparam.h>
-#include <machine/machparam.h>
-
-void
-__enable_execute_stack ()
-{
- int fp;
- static unsigned lowest = USRSTACK;
- unsigned current = (unsigned) &fp & -NBPG;
-
- if (lowest > current)
- {
- unsigned len = lowest - current;
- mremap (current, &len, PROT_READ | PROT_WRITE | PROT_EXEC, MAP_PRIVATE);
- lowest = current;
- }
-
- /* Clear instruction cache in case an old trampoline is in it. */
- asm ("pich");
-}
-#endif /* __convex__ */
-
-#ifdef __pyr__
-
-#undef NULL /* Avoid errors if stdio.h and our stddef.h mismatch. */
-#include <stdio.h>
-#include <sys/mman.h>
-#include <sys/types.h>
-#include <sys/param.h>
-#include <sys/vmmac.h>
-
-/* Modified from the convex -code above.
- mremap promises to clear the i-cache. */
-
-void
-__enable_execute_stack ()
-{
- int fp;
- if (mprotect (((unsigned int)&fp/PAGSIZ)*PAGSIZ, PAGSIZ,
- PROT_READ|PROT_WRITE|PROT_EXEC))
- {
- perror ("mprotect in __enable_execute_stack");
- fflush (stderr);
- abort ();
- }
-}
-#endif /* __pyr__ */
-#endif /* L_trampoline */
-
-#ifdef L__main
-
-#include "gbl-ctors.h"
-
-/* Run all the global destructors on exit from the program. */
-
-void
-__do_global_dtors ()
-{
-#ifdef DO_GLOBAL_DTORS_BODY
- DO_GLOBAL_DTORS_BODY;
-#else
- unsigned nptrs = (unsigned HOST_WIDE_INT) __DTOR_LIST__[0];
- unsigned i;
-
- /* Some systems place the number of pointers
- in the first word of the table.
- On other systems, that word is -1.
- In all cases, the table is null-terminated. */
-
- /* If the length is not recorded, count up to the null. */
- if (nptrs == -1)
- for (nptrs = 0; __DTOR_LIST__[nptrs + 1] != 0; nptrs++);
-
- /* GNU LD format. */
- for (i = nptrs; i >= 1; i--)
- __DTOR_LIST__[i] ();
-#endif
-}
-
-#ifndef INIT_SECTION_ASM_OP
-/* Run all the global constructors on entry to the program. */
-
-#ifndef ON_EXIT
-#define ON_EXIT(a, b)
-#else
-/* Make sure the exit routine is pulled in to define the globals as
- bss symbols, just in case the linker does not automatically pull
- bss definitions from the library. */
-
-extern int _exit_dummy_decl;
-int *_exit_dummy_ref = &_exit_dummy_decl;
-#endif /* ON_EXIT */
-
-void
-__do_global_ctors ()
-{
- DO_GLOBAL_CTORS_BODY;
- ON_EXIT (__do_global_dtors, 0);
-}
-#endif /* no INIT_SECTION_ASM_OP */
-
-#if !defined (INIT_SECTION_ASM_OP) || defined (INVOKE__main)
-/* Subroutine called automatically by `main'.
- Compiling a global function named `main'
- produces an automatic call to this function at the beginning.
-
- For many systems, this routine calls __do_global_ctors.
- For systems which support a .init section we use the .init section
- to run __do_global_ctors, so we need not do anything here. */
-
-void
-__main ()
-{
- /* Support recursive calls to `main': run initializers just once. */
- static int initialized = 0;
- if (! initialized)
- {
- initialized = 1;
- __do_global_ctors ();
- }
-}
-#endif /* no INIT_SECTION_ASM_OP or INVOKE__main */
-
-#endif /* L__main */
-
-#ifdef L_ctors
-
-#include "gbl-ctors.h"
-
-/* Provide default definitions for the lists of constructors and
- destructors, so that we don't get linker errors. These symbols are
- intentionally bss symbols, so that gld and/or collect will provide
- the right values. */
-
-/* We declare the lists here with two elements each,
- so that they are valid empty lists if no other definition is loaded. */
-#if !defined(INIT_SECTION_ASM_OP) && !defined(CTOR_LISTS_DEFINED_EXTERNALLY)
-#ifdef __NeXT__
-/* After 2.3, try this definition on all systems. */
-func_ptr __CTOR_LIST__[2] = {0, 0};
-func_ptr __DTOR_LIST__[2] = {0, 0};
-#else
-func_ptr __CTOR_LIST__[2];
-func_ptr __DTOR_LIST__[2];
-#endif
-#endif /* no INIT_SECTION_ASM_OP and not CTOR_LISTS_DEFINED_EXTERNALLY */
-#endif /* L_ctors */
-
-#ifdef L_exit
-
-#include "gbl-ctors.h"
-
-#ifndef ON_EXIT
-
-/* If we have no known way of registering our own __do_global_dtors
- routine so that it will be invoked at program exit time, then we
- have to define our own exit routine which will get this to happen. */
-
-extern void __do_global_dtors ();
-extern void _cleanup ();
-extern volatile void _exit ();
-
-void
-exit (status)
- int status;
-{
- __do_global_dtors ();
-#ifdef EXIT_BODY
- EXIT_BODY;
-#else
- _cleanup ();
-#endif
- _exit (status);
-}
-
-#else
-int _exit_dummy_decl = 0; /* prevent compiler & linker warnings */
-#endif
-
-#endif /* L_exit */
-
-/* In a.out systems, we need to have these dummy constructor and destructor
- lists in the library.
-
- When using `collect', the first link will resolve __CTOR_LIST__
- and __DTOR_LIST__ to these symbols. We will then run "nm" on the
- result, build the correct __CTOR_LIST__ and __DTOR_LIST__, and relink.
- Since we don't do the second link if no constructors existed, these
- dummies must be fully functional empty lists.
-
- When using `gnu ld', these symbols will be used if there are no
- constructors. If there are constructors, the N_SETV symbol defined
- by the linker from the N_SETT's in input files will define __CTOR_LIST__
- and __DTOR_LIST__ rather than its being allocated as common storage
- by the definitions below.
-
- When using a linker that supports constructor and destructor segments,
- these definitions will not be used, since crtbegin.o and crtend.o
- (from crtstuff.c) will have already defined __CTOR_LIST__ and
- __DTOR_LIST__. The crt*.o files are passed directly to the linker
- on its command line, by gcc. */
-
-/* The list needs two elements: one is ignored (the old count); the
- second is the terminating zero. Since both values are zero, this
- declaration is not initialized, and it becomes `common'. */
-
-#ifdef L_ctor_list
-#include "gbl-ctors.h"
-func_ptr __CTOR_LIST__[2];
-#endif
-
-#ifdef L_dtor_list
-#include "gbl-ctors.h"
-func_ptr __DTOR_LIST__[2];
-#endif