summaryrefslogtreecommitdiff
path: root/gcc/config/i386/386bsd.h
diff options
context:
space:
mode:
authorjrv <jrv@138bc75d-0d04-0410-961f-82ee72b054a4>1993-01-08 09:52:03 +0000
committerjrv <jrv@138bc75d-0d04-0410-961f-82ee72b054a4>1993-01-08 09:52:03 +0000
commit07a31354419025128b3594958d540fdf20df2f0f (patch)
tree0ac48e52370afef05d1811656c186cf69a76b818 /gcc/config/i386/386bsd.h
parent1d3b0a03164a2b2441d2f1a8fb0c91ec8e31351c (diff)
downloadgcc-07a31354419025128b3594958d540fdf20df2f0f.tar.gz
(perform_*): Move to i386/perform.h.
Include i386/perform.h. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@3155 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/config/i386/386bsd.h')
-rw-r--r--gcc/config/i386/386bsd.h79
1 files changed, 3 insertions, 76 deletions
diff --git a/gcc/config/i386/386bsd.h b/gcc/config/i386/386bsd.h
index a67415f4cb3..7fd674d3765 100644
--- a/gcc/config/i386/386bsd.h
+++ b/gcc/config/i386/386bsd.h
@@ -5,6 +5,9 @@
#include "i386/gstabs.h"
+/* Get perform_* macros to build libgcc.a. */
+#include "i386/perform.h"
+
#undef CPP_PREDEFINES
#define CPP_PREDEFINES "-Dunix -Di386 -D____386BSD____ -D__386BSD__ -DBSD_NET2"
@@ -57,82 +60,6 @@
#undef ASM_APP_OFF
#define ASM_APP_OFF "#NO_APP\n"
-/* Defines to be able to build libgcc.a with GCC.
- These are the same as in i386mach.h. */
-
-/* It might seem that these are not important, since gcc 2 will never
- call libgcc for these functions. But programs might be linked with
- code compiled by gcc 1, and then these will be used. */
-
-/* The arg names used to be a and b, but `a' appears inside strings
- and that confuses non-ANSI cpp. */
-
-#define perform_udivsi3(arg0,arg1) \
-{ \
- register int dx asm("dx"); \
- register int ax asm("ax"); \
- \
- dx = 0; \
- ax = arg0; \
- asm ("divl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1), "d" (dx)); \
- return ax; \
-}
-
-#define perform_divsi3(arg0,arg1) \
-{ \
- register int dx asm("dx"); \
- register int ax asm("ax"); \
- \
- ax = arg0; \
- asm ("cltd\n\tidivl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1)); \
- return ax; \
-}
-
-#define perform_umodsi3(arg0,arg1) \
-{ \
- register int dx asm("dx"); \
- register int ax asm("ax"); \
- \
- dx = 0; \
- ax = arg0; \
- asm ("divl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1), "d" (dx)); \
- return dx; \
-}
-
-#define perform_modsi3(arg0,arg1) \
-{ \
- register int dx asm("dx"); \
- register int ax asm("ax"); \
- \
- ax = arg0; \
- asm ("cltd\n\tidivl %3" : "=a" (ax), "=d" (dx) : "a" (ax), "g" (arg1)); \
- return dx; \
-}
-
-
-#define perform_fixdfsi(arg0) \
-{ \
- auto unsigned short ostatus; \
- auto unsigned short nstatus; \
- auto int ret; \
- auto double tmp; \
- \
- &ostatus; /* guarantee these land in memory */ \
- &nstatus; \
- &ret; \
- &tmp; \
- \
- asm volatile ("fnstcw %0" : "=m" (ostatus)); \
- nstatus = ostatus | 0x0c00; \
- asm volatile ("fldcw %0" : /* no outputs */ : "m" (nstatus)); \
- tmp = arg0; \
- asm volatile ("fldl %0" : /* no outputs */ : "m" (tmp)); \
- asm volatile ("fistpl %0" : "=m" (ret)); \
- asm volatile ("fldcw %0" : /* no outputs */ : "m" (ostatus)); \
- \
- return ret; \
-}
-
/* The following macros are stolen from i386v4.h */
/* These have to be defined to get PIC code correct */