| This is doc/gccint.info, produced by makeinfo version 4.8 from |
| ../../gcc-4.4.0/gcc/doc/gccint.texi. |
| |
| Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
| 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free |
| Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.2 or |
| any later version published by the Free Software Foundation; with the |
| Invariant Sections being "Funding Free Software", the Front-Cover Texts |
| being (a) (see below), and with the Back-Cover Texts being (b) (see |
| below). A copy of the license is included in the section entitled "GNU |
| Free Documentation License". |
| |
| (a) The FSF's Front-Cover Text is: |
| |
| A GNU Manual |
| |
| (b) The FSF's Back-Cover Text is: |
| |
| You have freedom to copy and modify this GNU Manual, like GNU |
| software. Copies published by the Free Software Foundation raise |
| funds for GNU development. |
| |
| INFO-DIR-SECTION Software development |
| START-INFO-DIR-ENTRY |
| * gccint: (gccint). Internals of the GNU Compiler Collection. |
| END-INFO-DIR-ENTRY |
| This file documents the internals of the GNU compilers. |
| |
| Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 1998, |
| 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008 Free |
| Software Foundation, Inc. |
| |
| Permission is granted to copy, distribute and/or modify this document |
| under the terms of the GNU Free Documentation License, Version 1.2 or |
| any later version published by the Free Software Foundation; with the |
| Invariant Sections being "Funding Free Software", the Front-Cover Texts |
| being (a) (see below), and with the Back-Cover Texts being (b) (see |
| below). A copy of the license is included in the section entitled "GNU |
| Free Documentation License". |
| |
| (a) The FSF's Front-Cover Text is: |
| |
| A GNU Manual |
| |
| (b) The FSF's Back-Cover Text is: |
| |
| You have freedom to copy and modify this GNU Manual, like GNU |
| software. Copies published by the Free Software Foundation raise |
| funds for GNU development. |
| |
| |
| |
| File: gccint.info, Node: Top, Next: Contributing, Up: (DIR) |
| |
| Introduction |
| ************ |
| |
| This manual documents the internals of the GNU compilers, including how |
| to port them to new targets and some information about how to write |
| front ends for new languages. It corresponds to the compilers |
| (TDM-1 mingw32) version 4.4.0. The use of the GNU compilers is |
| documented in a separate manual. *Note Introduction: (gcc)Top. |
| |
| This manual is mainly a reference manual rather than a tutorial. It |
| discusses how to contribute to GCC (*note Contributing::), the |
| characteristics of the machines supported by GCC as hosts and targets |
| (*note Portability::), how GCC relates to the ABIs on such systems |
| (*note Interface::), and the characteristics of the languages for which |
| GCC front ends are written (*note Languages::). It then describes the |
| GCC source tree structure and build system, some of the interfaces to |
| GCC front ends, and how support for a target system is implemented in |
| GCC. |
| |
| Additional tutorial information is linked to from |
| `http://gcc.gnu.org/readings.html'. |
| |
| * Menu: |
| |
| * Contributing:: How to contribute to testing and developing GCC. |
| * Portability:: Goals of GCC's portability features. |
| * Interface:: Function-call interface of GCC output. |
| * Libgcc:: Low-level runtime library used by GCC. |
| * Languages:: Languages for which GCC front ends are written. |
| * Source Tree:: GCC source tree structure and build system. |
| * Options:: Option specification files. |
| * Passes:: Order of passes, what they do, and what each file is for. |
| * Trees:: The source representation used by the C and C++ front ends. |
| * RTL:: The intermediate representation that most passes work on. |
| * GENERIC:: Language-independent representation generated by Front Ends |
| * GIMPLE:: Tuple representation used by Tree SSA optimizers |
| * Tree SSA:: Analysis and optimization of GIMPLE |
| * Control Flow:: Maintaining and manipulating the control flow graph. |
| * Loop Analysis and Representation:: Analysis and representation of loops |
| * Machine Desc:: How to write machine description instruction patterns. |
| * Target Macros:: How to write the machine description C macros and functions. |
| * Host Config:: Writing the `xm-MACHINE.h' file. |
| * Fragments:: Writing the `t-TARGET' and `x-HOST' files. |
| * Collect2:: How `collect2' works; how it finds `ld'. |
| * Header Dirs:: Understanding the standard header file directories. |
| * Type Information:: GCC's memory management; generating type information. |
| |
| * Funding:: How to help assure funding for free software. |
| * GNU Project:: The GNU Project and GNU/Linux. |
| |
| * Copying:: GNU General Public License says |
| how you can copy and share GCC. |
| * GNU Free Documentation License:: How you can copy and share this manual. |
| * Contributors:: People who have contributed to GCC. |
| |
| * Option Index:: Index to command line options. |
| * Concept Index:: Index of concepts and symbol names. |
| |
| |
| File: gccint.info, Node: Contributing, Next: Portability, Prev: Top, Up: Top |
| |
| 1 Contributing to GCC Development |
| ********************************* |
| |
| If you would like to help pretest GCC releases to assure they work well, |
| current development sources are available by SVN (see |
| `http://gcc.gnu.org/svn.html'). Source and binary snapshots are also |
| available for FTP; see `http://gcc.gnu.org/snapshots.html'. |
| |
| If you would like to work on improvements to GCC, please read the |
| advice at these URLs: |
| |
| `http://gcc.gnu.org/contribute.html' |
| `http://gcc.gnu.org/contributewhy.html' |
| |
| for information on how to make useful contributions and avoid |
| duplication of effort. Suggested projects are listed at |
| `http://gcc.gnu.org/projects/'. |
| |
| |
| File: gccint.info, Node: Portability, Next: Interface, Prev: Contributing, Up: Top |
| |
| 2 GCC and Portability |
| ********************* |
| |
| GCC itself aims to be portable to any machine where `int' is at least a |
| 32-bit type. It aims to target machines with a flat (non-segmented) |
| byte addressed data address space (the code address space can be |
| separate). Target ABIs may have 8, 16, 32 or 64-bit `int' type. `char' |
| can be wider than 8 bits. |
| |
| GCC gets most of the information about the target machine from a |
| machine description which gives an algebraic formula for each of the |
| machine's instructions. This is a very clean way to describe the |
| target. But when the compiler needs information that is difficult to |
| express in this fashion, ad-hoc parameters have been defined for |
| machine descriptions. The purpose of portability is to reduce the |
| total work needed on the compiler; it was not of interest for its own |
| sake. |
| |
| GCC does not contain machine dependent code, but it does contain code |
| that depends on machine parameters such as endianness (whether the most |
| significant byte has the highest or lowest address of the bytes in a |
| word) and the availability of autoincrement addressing. In the |
| RTL-generation pass, it is often necessary to have multiple strategies |
| for generating code for a particular kind of syntax tree, strategies |
| that are usable for different combinations of parameters. Often, not |
| all possible cases have been addressed, but only the common ones or |
| only the ones that have been encountered. As a result, a new target |
| may require additional strategies. You will know if this happens |
| because the compiler will call `abort'. Fortunately, the new |
| strategies can be added in a machine-independent fashion, and will |
| affect only the target machines that need them. |
| |
| |
| File: gccint.info, Node: Interface, Next: Libgcc, Prev: Portability, Up: Top |
| |
| 3 Interfacing to GCC Output |
| *************************** |
| |
| GCC is normally configured to use the same function calling convention |
| normally in use on the target system. This is done with the |
| machine-description macros described (*note Target Macros::). |
| |
| However, returning of structure and union values is done differently on |
| some target machines. As a result, functions compiled with PCC |
| returning such types cannot be called from code compiled with GCC, and |
| vice versa. This does not cause trouble often because few Unix library |
| routines return structures or unions. |
| |
| GCC code returns structures and unions that are 1, 2, 4 or 8 bytes |
| long in the same registers used for `int' or `double' return values. |
| (GCC typically allocates variables of such types in registers also.) |
| Structures and unions of other sizes are returned by storing them into |
| an address passed by the caller (usually in a register). The target |
| hook `TARGET_STRUCT_VALUE_RTX' tells GCC where to pass this address. |
| |
| By contrast, PCC on most target machines returns structures and unions |
| of any size by copying the data into an area of static storage, and then |
| returning the address of that storage as if it were a pointer value. |
| The caller must copy the data from that memory area to the place where |
| the value is wanted. This is slower than the method used by GCC, and |
| fails to be reentrant. |
| |
| On some target machines, such as RISC machines and the 80386, the |
| standard system convention is to pass to the subroutine the address of |
| where to return the value. On these machines, GCC has been configured |
| to be compatible with the standard compiler, when this method is used. |
| It may not be compatible for structures of 1, 2, 4 or 8 bytes. |
| |
| GCC uses the system's standard convention for passing arguments. On |
| some machines, the first few arguments are passed in registers; in |
| others, all are passed on the stack. It would be possible to use |
| registers for argument passing on any machine, and this would probably |
| result in a significant speedup. But the result would be complete |
| incompatibility with code that follows the standard convention. So this |
| change is practical only if you are switching to GCC as the sole C |
| compiler for the system. We may implement register argument passing on |
| certain machines once we have a complete GNU system so that we can |
| compile the libraries with GCC. |
| |
| On some machines (particularly the SPARC), certain types of arguments |
| are passed "by invisible reference". This means that the value is |
| stored in memory, and the address of the memory location is passed to |
| the subroutine. |
| |
| If you use `longjmp', beware of automatic variables. ISO C says that |
| automatic variables that are not declared `volatile' have undefined |
| values after a `longjmp'. And this is all GCC promises to do, because |
| it is very difficult to restore register variables correctly, and one |
| of GCC's features is that it can put variables in registers without |
| your asking it to. |
| |
| |
| File: gccint.info, Node: Libgcc, Next: Languages, Prev: Interface, Up: Top |
| |
| 4 The GCC low-level runtime library |
| *********************************** |
| |
| GCC provides a low-level runtime library, `libgcc.a' or `libgcc_s.so.1' |
| on some platforms. GCC generates calls to routines in this library |
| automatically, whenever it needs to perform some operation that is too |
| complicated to emit inline code for. |
| |
| Most of the routines in `libgcc' handle arithmetic operations that the |
| target processor cannot perform directly. This includes integer |
| multiply and divide on some machines, and all floating-point and |
| fixed-point operations on other machines. `libgcc' also includes |
| routines for exception handling, and a handful of miscellaneous |
| operations. |
| |
| Some of these routines can be defined in mostly machine-independent C. |
| Others must be hand-written in assembly language for each processor |
| that needs them. |
| |
| GCC will also generate calls to C library routines, such as `memcpy' |
| and `memset', in some cases. The set of routines that GCC may possibly |
| use is documented in *Note Other Builtins: (gcc)Other Builtins. |
| |
| These routines take arguments and return values of a specific machine |
| mode, not a specific C type. *Note Machine Modes::, for an explanation |
| of this concept. For illustrative purposes, in this chapter the |
| floating point type `float' is assumed to correspond to `SFmode'; |
| `double' to `DFmode'; and `long double' to both `TFmode' and `XFmode'. |
| Similarly, the integer types `int' and `unsigned int' correspond to |
| `SImode'; `long' and `unsigned long' to `DImode'; and `long long' and |
| `unsigned long long' to `TImode'. |
| |
| * Menu: |
| |
| * Integer library routines:: |
| * Soft float library routines:: |
| * Decimal float library routines:: |
| * Fixed-point fractional library routines:: |
| * Exception handling routines:: |
| * Miscellaneous routines:: |
| |
| |
| File: gccint.info, Node: Integer library routines, Next: Soft float library routines, Up: Libgcc |
| |
| 4.1 Routines for integer arithmetic |
| =================================== |
| |
| The integer arithmetic routines are used on platforms that don't provide |
| hardware support for arithmetic operations on some modes. |
| |
| 4.1.1 Arithmetic functions |
| -------------------------- |
| |
| -- Runtime Function: int __ashlsi3 (int A, int B) |
| -- Runtime Function: long __ashldi3 (long A, int B) |
| -- Runtime Function: long long __ashlti3 (long long A, int B) |
| These functions return the result of shifting A left by B bits. |
| |
| -- Runtime Function: int __ashrsi3 (int A, int B) |
| -- Runtime Function: long __ashrdi3 (long A, int B) |
| -- Runtime Function: long long __ashrti3 (long long A, int B) |
| These functions return the result of arithmetically shifting A |
| right by B bits. |
| |
| -- Runtime Function: int __divsi3 (int A, int B) |
| -- Runtime Function: long __divdi3 (long A, long B) |
| -- Runtime Function: long long __divti3 (long long A, long long B) |
| These functions return the quotient of the signed division of A and |
| B. |
| |
| -- Runtime Function: int __lshrsi3 (int A, int B) |
| -- Runtime Function: long __lshrdi3 (long A, int B) |
| -- Runtime Function: long long __lshrti3 (long long A, int B) |
| These functions return the result of logically shifting A right by |
| B bits. |
| |
| -- Runtime Function: int __modsi3 (int A, int B) |
| -- Runtime Function: long __moddi3 (long A, long B) |
| -- Runtime Function: long long __modti3 (long long A, long long B) |
| These functions return the remainder of the signed division of A |
| and B. |
| |
| -- Runtime Function: int __mulsi3 (int A, int B) |
| -- Runtime Function: long __muldi3 (long A, long B) |
| -- Runtime Function: long long __multi3 (long long A, long long B) |
| These functions return the product of A and B. |
| |
| -- Runtime Function: long __negdi2 (long A) |
| -- Runtime Function: long long __negti2 (long long A) |
| These functions return the negation of A. |
| |
| -- Runtime Function: unsigned int __udivsi3 (unsigned int A, unsigned |
| int B) |
| -- Runtime Function: unsigned long __udivdi3 (unsigned long A, |
| unsigned long B) |
| -- Runtime Function: unsigned long long __udivti3 (unsigned long long |
| A, unsigned long long B) |
| These functions return the quotient of the unsigned division of A |
| and B. |
| |
| -- Runtime Function: unsigned long __udivmoddi3 (unsigned long A, |
| unsigned long B, unsigned long *C) |
| -- Runtime Function: unsigned long long __udivti3 (unsigned long long |
| A, unsigned long long B, unsigned long long *C) |
| These functions calculate both the quotient and remainder of the |
| unsigned division of A and B. The return value is the quotient, |
| and the remainder is placed in variable pointed to by C. |
| |
| -- Runtime Function: unsigned int __umodsi3 (unsigned int A, unsigned |
| int B) |
| -- Runtime Function: unsigned long __umoddi3 (unsigned long A, |
| unsigned long B) |
| -- Runtime Function: unsigned long long __umodti3 (unsigned long long |
| A, unsigned long long B) |
| These functions return the remainder of the unsigned division of A |
| and B. |
| |
| 4.1.2 Comparison functions |
| -------------------------- |
| |
| The following functions implement integral comparisons. These functions |
| implement a low-level compare, upon which the higher level comparison |
| operators (such as less than and greater than or equal to) can be |
| constructed. The returned values lie in the range zero to two, to allow |
| the high-level operators to be implemented by testing the returned |
| result using either signed or unsigned comparison. |
| |
| -- Runtime Function: int __cmpdi2 (long A, long B) |
| -- Runtime Function: int __cmpti2 (long long A, long long B) |
| These functions perform a signed comparison of A and B. If A is |
| less than B, they return 0; if A is greater than B, they return 2; |
| and if A and B are equal they return 1. |
| |
| -- Runtime Function: int __ucmpdi2 (unsigned long A, unsigned long B) |
| -- Runtime Function: int __ucmpti2 (unsigned long long A, unsigned |
| long long B) |
| These functions perform an unsigned comparison of A and B. If A |
| is less than B, they return 0; if A is greater than B, they return |
| 2; and if A and B are equal they return 1. |
| |
| 4.1.3 Trapping arithmetic functions |
| ----------------------------------- |
| |
| The following functions implement trapping arithmetic. These functions |
| call the libc function `abort' upon signed arithmetic overflow. |
| |
| -- Runtime Function: int __absvsi2 (int A) |
| -- Runtime Function: long __absvdi2 (long A) |
| These functions return the absolute value of A. |
| |
| -- Runtime Function: int __addvsi3 (int A, int B) |
| -- Runtime Function: long __addvdi3 (long A, long B) |
| These functions return the sum of A and B; that is `A + B'. |
| |
| -- Runtime Function: int __mulvsi3 (int A, int B) |
| -- Runtime Function: long __mulvdi3 (long A, long B) |
| The functions return the product of A and B; that is `A * B'. |
| |
| -- Runtime Function: int __negvsi2 (int A) |
| -- Runtime Function: long __negvdi2 (long A) |
| These functions return the negation of A; that is `-A'. |
| |
| -- Runtime Function: int __subvsi3 (int A, int B) |
| -- Runtime Function: long __subvdi3 (long A, long B) |
| These functions return the difference between B and A; that is `A |
| - B'. |
| |
| 4.1.4 Bit operations |
| -------------------- |
| |
| -- Runtime Function: int __clzsi2 (int A) |
| -- Runtime Function: int __clzdi2 (long A) |
| -- Runtime Function: int __clzti2 (long long A) |
| These functions return the number of leading 0-bits in A, starting |
| at the most significant bit position. If A is zero, the result is |
| undefined. |
| |
| -- Runtime Function: int __ctzsi2 (int A) |
| -- Runtime Function: int __ctzdi2 (long A) |
| -- Runtime Function: int __ctzti2 (long long A) |
| These functions return the number of trailing 0-bits in A, starting |
| at the least significant bit position. If A is zero, the result is |
| undefined. |
| |
| -- Runtime Function: int __ffsdi2 (long A) |
| -- Runtime Function: int __ffsti2 (long long A) |
| These functions return the index of the least significant 1-bit in |
| A, or the value zero if A is zero. The least significant bit is |
| index one. |
| |
| -- Runtime Function: int __paritysi2 (int A) |
| -- Runtime Function: int __paritydi2 (long A) |
| -- Runtime Function: int __parityti2 (long long A) |
| These functions return the value zero if the number of bits set in |
| A is even, and the value one otherwise. |
| |
| -- Runtime Function: int __popcountsi2 (int A) |
| -- Runtime Function: int __popcountdi2 (long A) |
| -- Runtime Function: int __popcountti2 (long long A) |
| These functions return the number of bits set in A. |
| |
| -- Runtime Function: int32_t __bswapsi2 (int32_t A) |
| -- Runtime Function: int64_t __bswapdi2 (int64_t A) |
| These functions return the A byteswapped. |
| |
| |
| File: gccint.info, Node: Soft float library routines, Next: Decimal float library routines, Prev: Integer library routines, Up: Libgcc |
| |
| 4.2 Routines for floating point emulation |
| ========================================= |
| |
| The software floating point library is used on machines which do not |
| have hardware support for floating point. It is also used whenever |
| `-msoft-float' is used to disable generation of floating point |
| instructions. (Not all targets support this switch.) |
| |
| For compatibility with other compilers, the floating point emulation |
| routines can be renamed with the `DECLARE_LIBRARY_RENAMES' macro (*note |
| Library Calls::). In this section, the default names are used. |
| |
| Presently the library does not support `XFmode', which is used for |
| `long double' on some architectures. |
| |
| 4.2.1 Arithmetic functions |
| -------------------------- |
| |
| -- Runtime Function: float __addsf3 (float A, float B) |
| -- Runtime Function: double __adddf3 (double A, double B) |
| -- Runtime Function: long double __addtf3 (long double A, long double |
| B) |
| -- Runtime Function: long double __addxf3 (long double A, long double |
| B) |
| These functions return the sum of A and B. |
| |
| -- Runtime Function: float __subsf3 (float A, float B) |
| -- Runtime Function: double __subdf3 (double A, double B) |
| -- Runtime Function: long double __subtf3 (long double A, long double |
| B) |
| -- Runtime Function: long double __subxf3 (long double A, long double |
| B) |
| These functions return the difference between B and A; that is, |
| A - B. |
| |
| -- Runtime Function: float __mulsf3 (float A, float B) |
| -- Runtime Function: double __muldf3 (double A, double B) |
| -- Runtime Function: long double __multf3 (long double A, long double |
| B) |
| -- Runtime Function: long double __mulxf3 (long double A, long double |
| B) |
| These functions return the product of A and B. |
| |
| -- Runtime Function: float __divsf3 (float A, float B) |
| -- Runtime Function: double __divdf3 (double A, double B) |
| -- Runtime Function: long double __divtf3 (long double A, long double |
| B) |
| -- Runtime Function: long double __divxf3 (long double A, long double |
| B) |
| These functions return the quotient of A and B; that is, A / B. |
| |
| -- Runtime Function: float __negsf2 (float A) |
| -- Runtime Function: double __negdf2 (double A) |
| -- Runtime Function: long double __negtf2 (long double A) |
| -- Runtime Function: long double __negxf2 (long double A) |
| These functions return the negation of A. They simply flip the |
| sign bit, so they can produce negative zero and negative NaN. |
| |
| 4.2.2 Conversion functions |
| -------------------------- |
| |
| -- Runtime Function: double __extendsfdf2 (float A) |
| -- Runtime Function: long double __extendsftf2 (float A) |
| -- Runtime Function: long double __extendsfxf2 (float A) |
| -- Runtime Function: long double __extenddftf2 (double A) |
| -- Runtime Function: long double __extenddfxf2 (double A) |
| These functions extend A to the wider mode of their return type. |
| |
| -- Runtime Function: double __truncxfdf2 (long double A) |
| -- Runtime Function: double __trunctfdf2 (long double A) |
| -- Runtime Function: float __truncxfsf2 (long double A) |
| -- Runtime Function: float __trunctfsf2 (long double A) |
| -- Runtime Function: float __truncdfsf2 (double A) |
| These functions truncate A to the narrower mode of their return |
| type, rounding toward zero. |
| |
| -- Runtime Function: int __fixsfsi (float A) |
| -- Runtime Function: int __fixdfsi (double A) |
| -- Runtime Function: int __fixtfsi (long double A) |
| -- Runtime Function: int __fixxfsi (long double A) |
| These functions convert A to a signed integer, rounding toward |
| zero. |
| |
| -- Runtime Function: long __fixsfdi (float A) |
| -- Runtime Function: long __fixdfdi (double A) |
| -- Runtime Function: long __fixtfdi (long double A) |
| -- Runtime Function: long __fixxfdi (long double A) |
| These functions convert A to a signed long, rounding toward zero. |
| |
| -- Runtime Function: long long __fixsfti (float A) |
| -- Runtime Function: long long __fixdfti (double A) |
| -- Runtime Function: long long __fixtfti (long double A) |
| -- Runtime Function: long long __fixxfti (long double A) |
| These functions convert A to a signed long long, rounding toward |
| zero. |
| |
| -- Runtime Function: unsigned int __fixunssfsi (float A) |
| -- Runtime Function: unsigned int __fixunsdfsi (double A) |
| -- Runtime Function: unsigned int __fixunstfsi (long double A) |
| -- Runtime Function: unsigned int __fixunsxfsi (long double A) |
| These functions convert A to an unsigned integer, rounding toward |
| zero. Negative values all become zero. |
| |
| -- Runtime Function: unsigned long __fixunssfdi (float A) |
| -- Runtime Function: unsigned long __fixunsdfdi (double A) |
| -- Runtime Function: unsigned long __fixunstfdi (long double A) |
| -- Runtime Function: unsigned long __fixunsxfdi (long double A) |
| These functions convert A to an unsigned long, rounding toward |
| zero. Negative values all become zero. |
| |
| -- Runtime Function: unsigned long long __fixunssfti (float A) |
| -- Runtime Function: unsigned long long __fixunsdfti (double A) |
| -- Runtime Function: unsigned long long __fixunstfti (long double A) |
| -- Runtime Function: unsigned long long __fixunsxfti (long double A) |
| These functions convert A to an unsigned long long, rounding |
| toward zero. Negative values all become zero. |
| |
| -- Runtime Function: float __floatsisf (int I) |
| -- Runtime Function: double __floatsidf (int I) |
| -- Runtime Function: long double __floatsitf (int I) |
| -- Runtime Function: long double __floatsixf (int I) |
| These functions convert I, a signed integer, to floating point. |
| |
| -- Runtime Function: float __floatdisf (long I) |
| -- Runtime Function: double __floatdidf (long I) |
| -- Runtime Function: long double __floatditf (long I) |
| -- Runtime Function: long double __floatdixf (long I) |
| These functions convert I, a signed long, to floating point. |
| |
| -- Runtime Function: float __floattisf (long long I) |
| -- Runtime Function: double __floattidf (long long I) |
| -- Runtime Function: long double __floattitf (long long I) |
| -- Runtime Function: long double __floattixf (long long I) |
| These functions convert I, a signed long long, to floating point. |
| |
| -- Runtime Function: float __floatunsisf (unsigned int I) |
| -- Runtime Function: double __floatunsidf (unsigned int I) |
| -- Runtime Function: long double __floatunsitf (unsigned int I) |
| -- Runtime Function: long double __floatunsixf (unsigned int I) |
| These functions convert I, an unsigned integer, to floating point. |
| |
| -- Runtime Function: float __floatundisf (unsigned long I) |
| -- Runtime Function: double __floatundidf (unsigned long I) |
| -- Runtime Function: long double __floatunditf (unsigned long I) |
| -- Runtime Function: long double __floatundixf (unsigned long I) |
| These functions convert I, an unsigned long, to floating point. |
| |
| -- Runtime Function: float __floatuntisf (unsigned long long I) |
| -- Runtime Function: double __floatuntidf (unsigned long long I) |
| -- Runtime Function: long double __floatuntitf (unsigned long long I) |
| -- Runtime Function: long double __floatuntixf (unsigned long long I) |
| These functions convert I, an unsigned long long, to floating |
| point. |
| |
| 4.2.3 Comparison functions |
| -------------------------- |
| |
| There are two sets of basic comparison functions. |
| |
| -- Runtime Function: int __cmpsf2 (float A, float B) |
| -- Runtime Function: int __cmpdf2 (double A, double B) |
| -- Runtime Function: int __cmptf2 (long double A, long double B) |
| These functions calculate a <=> b. That is, if A is less than B, |
| they return -1; if A is greater than B, they return 1; and if A |
| and B are equal they return 0. If either argument is NaN they |
| return 1, but you should not rely on this; if NaN is a |
| possibility, use one of the higher-level comparison functions. |
| |
| -- Runtime Function: int __unordsf2 (float A, float B) |
| -- Runtime Function: int __unorddf2 (double A, double B) |
| -- Runtime Function: int __unordtf2 (long double A, long double B) |
| These functions return a nonzero value if either argument is NaN, |
| otherwise 0. |
| |
| There is also a complete group of higher level functions which |
| correspond directly to comparison operators. They implement the ISO C |
| semantics for floating-point comparisons, taking NaN into account. Pay |
| careful attention to the return values defined for each set. Under the |
| hood, all of these routines are implemented as |
| |
| if (__unordXf2 (a, b)) |
| return E; |
| return __cmpXf2 (a, b); |
| |
| where E is a constant chosen to give the proper behavior for NaN. |
| Thus, the meaning of the return value is different for each set. Do |
| not rely on this implementation; only the semantics documented below |
| are guaranteed. |
| |
| -- Runtime Function: int __eqsf2 (float A, float B) |
| -- Runtime Function: int __eqdf2 (double A, double B) |
| -- Runtime Function: int __eqtf2 (long double A, long double B) |
| These functions return zero if neither argument is NaN, and A and |
| B are equal. |
| |
| -- Runtime Function: int __nesf2 (float A, float B) |
| -- Runtime Function: int __nedf2 (double A, double B) |
| -- Runtime Function: int __netf2 (long double A, long double B) |
| These functions return a nonzero value if either argument is NaN, |
| or if A and B are unequal. |
| |
| -- Runtime Function: int __gesf2 (float A, float B) |
| -- Runtime Function: int __gedf2 (double A, double B) |
| -- Runtime Function: int __getf2 (long double A, long double B) |
| These functions return a value greater than or equal to zero if |
| neither argument is NaN, and A is greater than or equal to B. |
| |
| -- Runtime Function: int __ltsf2 (float A, float B) |
| -- Runtime Function: int __ltdf2 (double A, double B) |
| -- Runtime Function: int __lttf2 (long double A, long double B) |
| These functions return a value less than zero if neither argument |
| is NaN, and A is strictly less than B. |
| |
| -- Runtime Function: int __lesf2 (float A, float B) |
| -- Runtime Function: int __ledf2 (double A, double B) |
| -- Runtime Function: int __letf2 (long double A, long double B) |
| These functions return a value less than or equal to zero if |
| neither argument is NaN, and A is less than or equal to B. |
| |
| -- Runtime Function: int __gtsf2 (float A, float B) |
| -- Runtime Function: int __gtdf2 (double A, double B) |
| -- Runtime Function: int __gttf2 (long double A, long double B) |
| These functions return a value greater than zero if neither |
| argument is NaN, and A is strictly greater than B. |
| |
| 4.2.4 Other floating-point functions |
| ------------------------------------ |
| |
| -- Runtime Function: float __powisf2 (float A, int B) |
| -- Runtime Function: double __powidf2 (double A, int B) |
| -- Runtime Function: long double __powitf2 (long double A, int B) |
| -- Runtime Function: long double __powixf2 (long double A, int B) |
| These functions convert raise A to the power B. |
| |
| -- Runtime Function: complex float __mulsc3 (float A, float B, float |
| C, float D) |
| -- Runtime Function: complex double __muldc3 (double A, double B, |
| double C, double D) |
| -- Runtime Function: complex long double __multc3 (long double A, long |
| double B, long double C, long double D) |
| -- Runtime Function: complex long double __mulxc3 (long double A, long |
| double B, long double C, long double D) |
| These functions return the product of A + iB and C + iD, following |
| the rules of C99 Annex G. |
| |
| -- Runtime Function: complex float __divsc3 (float A, float B, float |
| C, float D) |
| -- Runtime Function: complex double __divdc3 (double A, double B, |
| double C, double D) |
| -- Runtime Function: complex long double __divtc3 (long double A, long |
| double B, long double C, long double D) |
| -- Runtime Function: complex long double __divxc3 (long double A, long |
| double B, long double C, long double D) |
| These functions return the quotient of A + iB and C + iD (i.e., (A |
| + iB) / (C + iD)), following the rules of C99 Annex G. |
| |
| |
| File: gccint.info, Node: Decimal float library routines, Next: Fixed-point fractional library routines, Prev: Soft float library routines, Up: Libgcc |
| |
| 4.3 Routines for decimal floating point emulation |
| ================================================= |
| |
| The software decimal floating point library implements IEEE 754-2008 |
| decimal floating point arithmetic and is only activated on selected |
| targets. |
| |
| The software decimal floating point library supports either DPD |
| (Densely Packed Decimal) or BID (Binary Integer Decimal) encoding as |
| selected at configure time. |
| |
| 4.3.1 Arithmetic functions |
| -------------------------- |
| |
| -- Runtime Function: _Decimal32 __dpd_addsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal32 __bid_addsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal64 __dpd_adddd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal64 __bid_adddd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal128 __dpd_addtd3 (_Decimal128 A, |
| _Decimal128 B) |
| -- Runtime Function: _Decimal128 __bid_addtd3 (_Decimal128 A, |
| _Decimal128 B) |
| These functions return the sum of A and B. |
| |
| -- Runtime Function: _Decimal32 __dpd_subsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal32 __bid_subsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal64 __dpd_subdd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal64 __bid_subdd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal128 __dpd_subtd3 (_Decimal128 A, |
| _Decimal128 B) |
| -- Runtime Function: _Decimal128 __bid_subtd3 (_Decimal128 A, |
| _Decimal128 B) |
| These functions return the difference between B and A; that is, |
| A - B. |
| |
| -- Runtime Function: _Decimal32 __dpd_mulsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal32 __bid_mulsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal64 __dpd_muldd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal64 __bid_muldd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal128 __dpd_multd3 (_Decimal128 A, |
| _Decimal128 B) |
| -- Runtime Function: _Decimal128 __bid_multd3 (_Decimal128 A, |
| _Decimal128 B) |
| These functions return the product of A and B. |
| |
| -- Runtime Function: _Decimal32 __dpd_divsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal32 __bid_divsd3 (_Decimal32 A, _Decimal32 |
| B) |
| -- Runtime Function: _Decimal64 __dpd_divdd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal64 __bid_divdd3 (_Decimal64 A, _Decimal64 |
| B) |
| -- Runtime Function: _Decimal128 __dpd_divtd3 (_Decimal128 A, |
| _Decimal128 B) |
| -- Runtime Function: _Decimal128 __bid_divtd3 (_Decimal128 A, |
| _Decimal128 B) |
| These functions return the quotient of A and B; that is, A / B. |
| |
| -- Runtime Function: _Decimal32 __dpd_negsd2 (_Decimal32 A) |
| -- Runtime Function: _Decimal32 __bid_negsd2 (_Decimal32 A) |
| -- Runtime Function: _Decimal64 __dpd_negdd2 (_Decimal64 A) |
| -- Runtime Function: _Decimal64 __bid_negdd2 (_Decimal64 A) |
| -- Runtime Function: _Decimal128 __dpd_negtd2 (_Decimal128 A) |
| -- Runtime Function: _Decimal128 __bid_negtd2 (_Decimal128 A) |
| These functions return the negation of A. They simply flip the |
| sign bit, so they can produce negative zero and negative NaN. |
| |
| 4.3.2 Conversion functions |
| -------------------------- |
| |
| -- Runtime Function: _Decimal64 __dpd_extendsddd2 (_Decimal32 A) |
| -- Runtime Function: _Decimal64 __bid_extendsddd2 (_Decimal32 A) |
| -- Runtime Function: _Decimal128 __dpd_extendsdtd2 (_Decimal32 A) |
| -- Runtime Function: _Decimal128 __bid_extendsdtd2 (_Decimal32 A) |
| -- Runtime Function: _Decimal128 __dpd_extendddtd2 (_Decimal64 A) |
| -- Runtime Function: _Decimal128 __bid_extendddtd2 (_Decimal64 A) |
| -- Runtime Function: _Decimal32 __dpd_truncddsd2 (_Decimal64 A) |
| -- Runtime Function: _Decimal32 __bid_truncddsd2 (_Decimal64 A) |
| -- Runtime Function: _Decimal32 __dpd_trunctdsd2 (_Decimal128 A) |
| -- Runtime Function: _Decimal32 __bid_trunctdsd2 (_Decimal128 A) |
| -- Runtime Function: _Decimal64 __dpd_trunctddd2 (_Decimal128 A) |
| -- Runtime Function: _Decimal64 __bid_trunctddd2 (_Decimal128 A) |
| These functions convert the value A from one decimal floating type |
| to another. |
| |
| -- Runtime Function: _Decimal64 __dpd_extendsfdd (float A) |
| -- Runtime Function: _Decimal64 __bid_extendsfdd (float A) |
| -- Runtime Function: _Decimal128 __dpd_extendsftd (float A) |
| -- Runtime Function: _Decimal128 __bid_extendsftd (float A) |
| -- Runtime Function: _Decimal128 __dpd_extenddftd (double A) |
| -- Runtime Function: _Decimal128 __bid_extenddftd (double A) |
| -- Runtime Function: _Decimal128 __dpd_extendxftd (long double A) |
| -- Runtime Function: _Decimal128 __bid_extendxftd (long double A) |
| -- Runtime Function: _Decimal32 __dpd_truncdfsd (double A) |
| -- Runtime Function: _Decimal32 __bid_truncdfsd (double A) |
| -- Runtime Function: _Decimal32 __dpd_truncxfsd (long double A) |
| -- Runtime Function: _Decimal32 __bid_truncxfsd (long double A) |
| -- Runtime Function: _Decimal32 __dpd_trunctfsd (long double A) |
| -- Runtime Function: _Decimal32 __bid_trunctfsd (long double A) |
| -- Runtime Function: _Decimal64 __dpd_truncxfdd (long double A) |
| -- Runtime Function: _Decimal64 __bid_truncxfdd (long double A) |
| -- Runtime Function: _Decimal64 __dpd_trunctfdd (long double A) |
| -- Runtime Function: _Decimal64 __bid_trunctfdd (long double A) |
| These functions convert the value of A from a binary floating type |
| to a decimal floating type of a different size. |
| |
| -- Runtime Function: float __dpd_truncddsf (_Decimal64 A) |
| -- Runtime Function: float __bid_truncddsf (_Decimal64 A) |
| -- Runtime Function: float __dpd_trunctdsf (_Decimal128 A) |
| -- Runtime Function: float __bid_trunctdsf (_Decimal128 A) |
| -- Runtime Function: double __dpd_extendsddf (_Decimal32 A) |
| -- Runtime Function: double __bid_extendsddf (_Decimal32 A) |
| -- Runtime Function: double __dpd_trunctddf (_Decimal128 A) |
| -- Runtime Function: double __bid_trunctddf (_Decimal128 A) |
| -- Runtime Function: long double __dpd_extendsdxf (_Decimal32 A) |
| -- Runtime Function: long double __bid_extendsdxf (_Decimal32 A) |
| -- Runtime Function: long double __dpd_extendddxf (_Decimal64 A) |
| -- Runtime Function: long double __bid_extendddxf (_Decimal64 A) |
| -- Runtime Function: long double __dpd_trunctdxf (_Decimal128 A) |
| -- Runtime Function: long double __bid_trunctdxf (_Decimal128 A) |
| -- Runtime Function: long double __dpd_extendsdtf (_Decimal32 A) |
| -- Runtime Function: long double __bid_extendsdtf (_Decimal32 A) |
| -- Runtime Function: long double __dpd_extendddtf (_Decimal64 A) |
| -- Runtime Function: long double __bid_extendddtf (_Decimal64 A) |
| These functions convert the value of A from a decimal floating type |
| to a binary floating type of a different size. |
| |
| -- Runtime Function: _Decimal32 __dpd_extendsfsd (float A) |
| -- Runtime Function: _Decimal32 __bid_extendsfsd (float A) |
| -- Runtime Function: _Decimal64 __dpd_extenddfdd (double A) |
| -- Runtime Function: _Decimal64 __bid_extenddfdd (double A) |
| -- Runtime Function: _Decimal128 __dpd_extendtftd (long double A) |
| -- Runtime Function: _Decimal128 __bid_extendtftd (long double A) |
| -- Runtime Function: float __dpd_truncsdsf (_Decimal32 A) |
| -- Runtime Function: float __bid_truncsdsf (_Decimal32 A) |
| -- Runtime Function: double __dpd_truncdddf (_Decimal64 A) |
| -- Runtime Function: double __bid_truncdddf (_Decimal64 A) |
| -- Runtime Function: long double __dpd_trunctdtf (_Decimal128 A) |
| -- Runtime Function: long double __bid_trunctdtf (_Decimal128 A) |
| These functions convert the value of A between decimal and binary |
| floating types of the same size. |
| |
| -- Runtime Function: int __dpd_fixsdsi (_Decimal32 A) |
| -- Runtime Function: int __bid_fixsdsi (_Decimal32 A) |
| -- Runtime Function: int __dpd_fixddsi (_Decimal64 A) |
| -- Runtime Function: int __bid_fixddsi (_Decimal64 A) |
| -- Runtime Function: int __dpd_fixtdsi (_Decimal128 A) |
| -- Runtime Function: int __bid_fixtdsi (_Decimal128 A) |
| These functions convert A to a signed integer. |
| |
| -- Runtime Function: long __dpd_fixsddi (_Decimal32 A) |
| -- Runtime Function: long __bid_fixsddi (_Decimal32 A) |
| -- Runtime Function: long __dpd_fixdddi (_Decimal64 A) |
| -- Runtime Function: long __bid_fixdddi (_Decimal64 A) |
| -- Runtime Function: long __dpd_fixtddi (_Decimal128 A) |
| -- Runtime Function: long __bid_fixtddi (_Decimal128 A) |
| These functions convert A to a signed long. |
| |
| -- Runtime Function: unsigned int __dpd_fixunssdsi (_Decimal32 A) |
| -- Runtime Function: unsigned int __bid_fixunssdsi (_Decimal32 A) |
| -- Runtime Function: unsigned int __dpd_fixunsddsi (_Decimal64 A) |
| -- Runtime Function: unsigned int __bid_fixunsddsi (_Decimal64 A) |
| -- Runtime Function: unsigned int __dpd_fixunstdsi (_Decimal128 A) |
| -- Runtime Function: unsigned int __bid_fixunstdsi (_Decimal128 A) |
| These functions convert A to an unsigned integer. Negative values |
| all become zero. |
| |
| -- Runtime Function: unsigned long __dpd_fixunssddi (_Decimal32 A) |
| -- Runtime Function: unsigned long __bid_fixunssddi (_Decimal32 A) |
| -- Runtime Function: unsigned long __dpd_fixunsdddi (_Decimal64 A) |
| -- Runtime Function: unsigned long __bid_fixunsdddi (_Decimal64 A) |
| -- Runtime Function: unsigned long __dpd_fixunstddi (_Decimal128 A) |
| -- Runtime Function: unsigned long __bid_fixunstddi (_Decimal128 A) |
| These functions convert A to an unsigned long. Negative values |
| all become zero. |
| |
| -- Runtime Function: _Decimal32 __dpd_floatsisd (int I) |
| -- Runtime Function: _Decimal32 __bid_floatsisd (int I) |
| -- Runtime Function: _Decimal64 __dpd_floatsidd (int I) |
| -- Runtime Function: _Decimal64 __bid_floatsidd (int I) |
| -- Runtime Function: _Decimal128 __dpd_floatsitd (int I) |
| -- Runtime Function: _Decimal128 __bid_floatsitd (int I) |
| These functions convert I, a signed integer, to decimal floating |
| point. |
| |
| -- Runtime Function: _Decimal32 __dpd_floatdisd (long I) |
| -- Runtime Function: _Decimal32 __bid_floatdisd (long I) |
| -- Runtime Function: _Decimal64 __dpd_floatdidd (long I) |
| -- Runtime Function: _Decimal64 __bid_floatdidd (long I) |
| -- Runtime Function: _Decimal128 __dpd_floatditd (long I) |
| -- Runtime Function: _Decimal128 __bid_floatditd (long I) |
| These functions convert I, a signed long, to decimal floating |
| point. |
| |
| -- Runtime Function: _Decimal32 __dpd_floatunssisd (unsigned int I) |
| -- Runtime Function: _Decimal32 __bid_floatunssisd (unsigned int I) |
| -- Runtime Function: _Decimal64 __dpd_floatunssidd (unsigned int I) |
| -- Runtime Function: _Decimal64 __bid_floatunssidd (unsigned int I) |
| -- Runtime Function: _Decimal128 __dpd_floatunssitd (unsigned int I) |
| -- Runtime Function: _Decimal128 __bid_floatunssitd (unsigned int I) |
| These functions convert I, an unsigned integer, to decimal |
| floating point. |
| |
| -- Runtime Function: _Decimal32 __dpd_floatunsdisd (unsigned long I) |
| -- Runtime Function: _Decimal32 __bid_floatunsdisd (unsigned long I) |
| -- Runtime Function: _Decimal64 __dpd_floatunsdidd (unsigned long I) |
| -- Runtime Function: _Decimal64 __bid_floatunsdidd (unsigned long I) |
| -- Runtime Function: _Decimal128 __dpd_floatunsditd (unsigned long I) |
| -- Runtime Function: _Decimal128 __bid_floatunsditd (unsigned long I) |
| These functions convert I, an unsigned long, to decimal floating |
| point. |
| |
| 4.3.3 Comparison functions |
| -------------------------- |
| |
| -- Runtime Function: int __dpd_unordsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_unordsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_unorddd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_unorddd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_unordtd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_unordtd2 (_Decimal128 A, _Decimal128 B) |
| These functions return a nonzero value if either argument is NaN, |
| otherwise 0. |
| |
| There is also a complete group of higher level functions which |
| correspond directly to comparison operators. They implement the ISO C |
| semantics for floating-point comparisons, taking NaN into account. Pay |
| careful attention to the return values defined for each set. Under the |
| hood, all of these routines are implemented as |
| |
| if (__bid_unordXd2 (a, b)) |
| return E; |
| return __bid_cmpXd2 (a, b); |
| |
| where E is a constant chosen to give the proper behavior for NaN. |
| Thus, the meaning of the return value is different for each set. Do |
| not rely on this implementation; only the semantics documented below |
| are guaranteed. |
| |
| -- Runtime Function: int __dpd_eqsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_eqsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_eqdd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_eqdd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_eqtd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_eqtd2 (_Decimal128 A, _Decimal128 B) |
| These functions return zero if neither argument is NaN, and A and |
| B are equal. |
| |
| -- Runtime Function: int __dpd_nesd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_nesd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_nedd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_nedd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_netd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_netd2 (_Decimal128 A, _Decimal128 B) |
| These functions return a nonzero value if either argument is NaN, |
| or if A and B are unequal. |
| |
| -- Runtime Function: int __dpd_gesd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_gesd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_gedd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_gedd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_getd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_getd2 (_Decimal128 A, _Decimal128 B) |
| These functions return a value greater than or equal to zero if |
| neither argument is NaN, and A is greater than or equal to B. |
| |
| -- Runtime Function: int __dpd_ltsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_ltsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_ltdd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_ltdd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_lttd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_lttd2 (_Decimal128 A, _Decimal128 B) |
| These functions return a value less than zero if neither argument |
| is NaN, and A is strictly less than B. |
| |
| -- Runtime Function: int __dpd_lesd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_lesd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_ledd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_ledd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_letd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_letd2 (_Decimal128 A, _Decimal128 B) |
| These functions return a value less than or equal to zero if |
| neither argument is NaN, and A is less than or equal to B. |
| |
| -- Runtime Function: int __dpd_gtsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __bid_gtsd2 (_Decimal32 A, _Decimal32 B) |
| -- Runtime Function: int __dpd_gtdd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __bid_gtdd2 (_Decimal64 A, _Decimal64 B) |
| -- Runtime Function: int __dpd_gttd2 (_Decimal128 A, _Decimal128 B) |
| -- Runtime Function: int __bid_gttd2 (_Decimal128 A, _Decimal128 B) |
| These functions return a value greater than zero if neither |
| argument is NaN, and A is strictly greater than B. |
| |
| |
| File: gccint.info, Node: Fixed-point fractional library routines, Next: Exception handling routines, Prev: Decimal float library routines, Up: Libgcc |
| |
| 4.4 Routines for fixed-point fractional emulation |
| ================================================= |
| |
| The software fixed-point library implements fixed-point fractional |
| arithmetic, and is only activated on selected targets. |
| |
| For ease of comprehension `fract' is an alias for the `_Fract' type, |
| `accum' an alias for `_Accum', and `sat' an alias for `_Sat'. |
| |
| For illustrative purposes, in this section the fixed-point fractional |
| type `short fract' is assumed to correspond to machine mode `QQmode'; |
| `unsigned short fract' to `UQQmode'; `fract' to `HQmode'; |
| `unsigned fract' to `UHQmode'; `long fract' to `SQmode'; |
| `unsigned long fract' to `USQmode'; `long long fract' to `DQmode'; and |
| `unsigned long long fract' to `UDQmode'. Similarly the fixed-point |
| accumulator type `short accum' corresponds to `HAmode'; |
| `unsigned short accum' to `UHAmode'; `accum' to `SAmode'; |
| `unsigned accum' to `USAmode'; `long accum' to `DAmode'; |
| `unsigned long accum' to `UDAmode'; `long long accum' to `TAmode'; and |
| `unsigned long long accum' to `UTAmode'. |
| |
| 4.4.1 Arithmetic functions |
| -------------------------- |
| |
| -- Runtime Function: short fract __addqq3 (short fract A, short fract |
| B) |
| -- Runtime Function: fract __addhq3 (fract A, fract B) |
| -- Runtime Function: long fract __addsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __adddq3 (long long fract A, long |
| long fract B) |
| -- Runtime Function: unsigned short fract __adduqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __adduhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __addusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __addudq3 (unsigned long |
| long fract A, unsigned long long fract B) |
| -- Runtime Function: short accum __addha3 (short accum A, short accum |
| B) |
| -- Runtime Function: accum __addsa3 (accum A, accum B) |
| -- Runtime Function: long accum __addda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __addta3 (long long accum A, long |
| long accum B) |
| -- Runtime Function: unsigned short accum __adduha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __addusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __adduda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __adduta3 (unsigned long |
| long accum A, unsigned long long accum B) |
| These functions return the sum of A and B. |
| |
| -- Runtime Function: short fract __ssaddqq3 (short fract A, short |
| fract B) |
| -- Runtime Function: fract __ssaddhq3 (fract A, fract B) |
| -- Runtime Function: long fract __ssaddsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __ssadddq3 (long long fract A, |
| long long fract B) |
| -- Runtime Function: short accum __ssaddha3 (short accum A, short |
| accum B) |
| -- Runtime Function: accum __ssaddsa3 (accum A, accum B) |
| -- Runtime Function: long accum __ssaddda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __ssaddta3 (long long accum A, |
| long long accum B) |
| These functions return the sum of A and B with signed saturation. |
| |
| -- Runtime Function: unsigned short fract __usadduqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __usadduhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __usaddusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __usaddudq3 (unsigned |
| long long fract A, unsigned long long fract B) |
| -- Runtime Function: unsigned short accum __usadduha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __usaddusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __usadduda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __usadduta3 (unsigned |
| long long accum A, unsigned long long accum B) |
| These functions return the sum of A and B with unsigned saturation. |
| |
| -- Runtime Function: short fract __subqq3 (short fract A, short fract |
| B) |
| -- Runtime Function: fract __subhq3 (fract A, fract B) |
| -- Runtime Function: long fract __subsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __subdq3 (long long fract A, long |
| long fract B) |
| -- Runtime Function: unsigned short fract __subuqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __subuhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __subusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __subudq3 (unsigned long |
| long fract A, unsigned long long fract B) |
| -- Runtime Function: short accum __subha3 (short accum A, short accum |
| B) |
| -- Runtime Function: accum __subsa3 (accum A, accum B) |
| -- Runtime Function: long accum __subda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __subta3 (long long accum A, long |
| long accum B) |
| -- Runtime Function: unsigned short accum __subuha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __subusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __subuda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __subuta3 (unsigned long |
| long accum A, unsigned long long accum B) |
| These functions return the difference of A and B; that is, `A - B'. |
| |
| -- Runtime Function: short fract __sssubqq3 (short fract A, short |
| fract B) |
| -- Runtime Function: fract __sssubhq3 (fract A, fract B) |
| -- Runtime Function: long fract __sssubsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __sssubdq3 (long long fract A, |
| long long fract B) |
| -- Runtime Function: short accum __sssubha3 (short accum A, short |
| accum B) |
| -- Runtime Function: accum __sssubsa3 (accum A, accum B) |
| -- Runtime Function: long accum __sssubda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __sssubta3 (long long accum A, |
| long long accum B) |
| These functions return the difference of A and B with signed |
| saturation; that is, `A - B'. |
| |
| -- Runtime Function: unsigned short fract __ussubuqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __ussubuhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __ussubusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __ussubudq3 (unsigned |
| long long fract A, unsigned long long fract B) |
| -- Runtime Function: unsigned short accum __ussubuha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __ussubusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __ussubuda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __ussubuta3 (unsigned |
| long long accum A, unsigned long long accum B) |
| These functions return the difference of A and B with unsigned |
| saturation; that is, `A - B'. |
| |
| -- Runtime Function: short fract __mulqq3 (short fract A, short fract |
| B) |
| -- Runtime Function: fract __mulhq3 (fract A, fract B) |
| -- Runtime Function: long fract __mulsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __muldq3 (long long fract A, long |
| long fract B) |
| -- Runtime Function: unsigned short fract __muluqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __muluhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __mulusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __muludq3 (unsigned long |
| long fract A, unsigned long long fract B) |
| -- Runtime Function: short accum __mulha3 (short accum A, short accum |
| B) |
| -- Runtime Function: accum __mulsa3 (accum A, accum B) |
| -- Runtime Function: long accum __mulda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __multa3 (long long accum A, long |
| long accum B) |
| -- Runtime Function: unsigned short accum __muluha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __mulusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __muluda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __muluta3 (unsigned long |
| long accum A, unsigned long long accum B) |
| These functions return the product of A and B. |
| |
| -- Runtime Function: short fract __ssmulqq3 (short fract A, short |
| fract B) |
| -- Runtime Function: fract __ssmulhq3 (fract A, fract B) |
| -- Runtime Function: long fract __ssmulsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __ssmuldq3 (long long fract A, |
| long long fract B) |
| -- Runtime Function: short accum __ssmulha3 (short accum A, short |
| accum B) |
| -- Runtime Function: accum __ssmulsa3 (accum A, accum B) |
| -- Runtime Function: long accum __ssmulda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __ssmulta3 (long long accum A, |
| long long accum B) |
| These functions return the product of A and B with signed |
| saturation. |
| |
| -- Runtime Function: unsigned short fract __usmuluqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __usmuluhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __usmulusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __usmuludq3 (unsigned |
| long long fract A, unsigned long long fract B) |
| -- Runtime Function: unsigned short accum __usmuluha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __usmulusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __usmuluda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __usmuluta3 (unsigned |
| long long accum A, unsigned long long accum B) |
| These functions return the product of A and B with unsigned |
| saturation. |
| |
| -- Runtime Function: short fract __divqq3 (short fract A, short fract |
| B) |
| -- Runtime Function: fract __divhq3 (fract A, fract B) |
| -- Runtime Function: long fract __divsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __divdq3 (long long fract A, long |
| long fract B) |
| -- Runtime Function: short accum __divha3 (short accum A, short accum |
| B) |
| -- Runtime Function: accum __divsa3 (accum A, accum B) |
| -- Runtime Function: long accum __divda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __divta3 (long long accum A, long |
| long accum B) |
| These functions return the quotient of the signed division of A |
| and B. |
| |
| -- Runtime Function: unsigned short fract __udivuqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __udivuhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __udivusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __udivudq3 (unsigned |
| long long fract A, unsigned long long fract B) |
| -- Runtime Function: unsigned short accum __udivuha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __udivusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __udivuda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __udivuta3 (unsigned |
| long long accum A, unsigned long long accum B) |
| These functions return the quotient of the unsigned division of A |
| and B. |
| |
| -- Runtime Function: short fract __ssdivqq3 (short fract A, short |
| fract B) |
| -- Runtime Function: fract __ssdivhq3 (fract A, fract B) |
| -- Runtime Function: long fract __ssdivsq3 (long fract A, long fract B) |
| -- Runtime Function: long long fract __ssdivdq3 (long long fract A, |
| long long fract B) |
| -- Runtime Function: short accum __ssdivha3 (short accum A, short |
| accum B) |
| -- Runtime Function: accum __ssdivsa3 (accum A, accum B) |
| -- Runtime Function: long accum __ssdivda3 (long accum A, long accum B) |
| -- Runtime Function: long long accum __ssdivta3 (long long accum A, |
| long long accum B) |
| These functions return the quotient of the signed division of A |
| and B with signed saturation. |
| |
| -- Runtime Function: unsigned short fract __usdivuqq3 (unsigned short |
| fract A, unsigned short fract B) |
| -- Runtime Function: unsigned fract __usdivuhq3 (unsigned fract A, |
| unsigned fract B) |
| -- Runtime Function: unsigned long fract __usdivusq3 (unsigned long |
| fract A, unsigned long fract B) |
| -- Runtime Function: unsigned long long fract __usdivudq3 (unsigned |
| long long fract A, unsigned long long fract B) |
| -- Runtime Function: unsigned short accum __usdivuha3 (unsigned short |
| accum A, unsigned short accum B) |
| -- Runtime Function: unsigned accum __usdivusa3 (unsigned accum A, |
| unsigned accum B) |
| -- Runtime Function: unsigned long accum __usdivuda3 (unsigned long |
| accum A, unsigned long accum B) |
| -- Runtime Function: unsigned long long accum __usdivuta3 (unsigned |
| long long accum A, unsigned long long accum B) |
| These functions return the quotient of the unsigned division of A |
| and B with unsigned saturation. |
| |
| -- Runtime Function: short fract __negqq2 (short fract A) |
| -- Runtime Function: fract __neghq2 (fract A) |
| -- Runtime Function: long fract __negsq2 (long fract A) |
| -- Runtime Function: long long fract __negdq2 (long long fract A) |
| -- Runtime Function: unsigned short fract __neguqq2 (unsigned short |
| fract A) |
| -- Runtime Function: unsigned fract __neguhq2 (unsigned fract A) |
| -- Runtime Function: unsigned long fract __negusq2 (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long long fract __negudq2 (unsigned long |
| long fract A) |
| -- Runtime Function: short accum __negha2 (short accum A) |
| -- Runtime Function: accum __negsa2 (accum A) |
| -- Runtime Function: long accum __negda2 (long accum A) |
| -- Runtime Function: long long accum __negta2 (long long accum A) |
| -- Runtime Function: unsigned short accum __neguha2 (unsigned short |
| accum A) |
| -- Runtime Function: unsigned accum __negusa2 (unsigned accum A) |
| -- Runtime Function: unsigned long accum __neguda2 (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long long accum __neguta2 (unsigned long |
| long accum A) |
| These functions return the negation of A. |
| |
| -- Runtime Function: short fract __ssnegqq2 (short fract A) |
| -- Runtime Function: fract __ssneghq2 (fract A) |
| -- Runtime Function: long fract __ssnegsq2 (long fract A) |
| -- Runtime Function: long long fract __ssnegdq2 (long long fract A) |
| -- Runtime Function: short accum __ssnegha2 (short accum A) |
| -- Runtime Function: accum __ssnegsa2 (accum A) |
| -- Runtime Function: long accum __ssnegda2 (long accum A) |
| -- Runtime Function: long long accum __ssnegta2 (long long accum A) |
| These functions return the negation of A with signed saturation. |
| |
| -- Runtime Function: unsigned short fract __usneguqq2 (unsigned short |
| fract A) |
| -- Runtime Function: unsigned fract __usneguhq2 (unsigned fract A) |
| -- Runtime Function: unsigned long fract __usnegusq2 (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long long fract __usnegudq2 (unsigned |
| long long fract A) |
| -- Runtime Function: unsigned short accum __usneguha2 (unsigned short |
| accum A) |
| -- Runtime Function: unsigned accum __usnegusa2 (unsigned accum A) |
| -- Runtime Function: unsigned long accum __usneguda2 (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long long accum __usneguta2 (unsigned |
| long long accum A) |
| These functions return the negation of A with unsigned saturation. |
| |
| -- Runtime Function: short fract __ashlqq3 (short fract A, int B) |
| -- Runtime Function: fract __ashlhq3 (fract A, int B) |
| -- Runtime Function: long fract __ashlsq3 (long fract A, int B) |
| -- Runtime Function: long long fract __ashldq3 (long long fract A, int |
| B) |
| -- Runtime Function: unsigned short fract __ashluqq3 (unsigned short |
| fract A, int B) |
| -- Runtime Function: unsigned fract __ashluhq3 (unsigned fract A, int |
| B) |
| -- Runtime Function: unsigned long fract __ashlusq3 (unsigned long |
| fract A, int B) |
| -- Runtime Function: unsigned long long fract __ashludq3 (unsigned |
| long long fract A, int B) |
| -- Runtime Function: short accum __ashlha3 (short accum A, int B) |
| -- Runtime Function: accum __ashlsa3 (accum A, int B) |
| -- Runtime Function: long accum __ashlda3 (long accum A, int B) |
| -- Runtime Function: long long accum __ashlta3 (long long accum A, int |
| B) |
| -- Runtime Function: unsigned short accum __ashluha3 (unsigned short |
| accum A, int B) |
| -- Runtime Function: unsigned accum __ashlusa3 (unsigned accum A, int |
| B) |
| -- Runtime Function: unsigned long accum __ashluda3 (unsigned long |
| accum A, int B) |
| -- Runtime Function: unsigned long long accum __ashluta3 (unsigned |
| long long accum A, int B) |
| These functions return the result of shifting A left by B bits. |
| |
| -- Runtime Function: short fract __ashrqq3 (short fract A, int B) |
| -- Runtime Function: fract __ashrhq3 (fract A, int B) |
| -- Runtime Function: long fract __ashrsq3 (long fract A, int B) |
| -- Runtime Function: long long fract __ashrdq3 (long long fract A, int |
| B) |
| -- Runtime Function: short accum __ashrha3 (short accum A, int B) |
| -- Runtime Function: accum __ashrsa3 (accum A, int B) |
| -- Runtime Function: long accum __ashrda3 (long accum A, int B) |
| -- Runtime Function: long long accum __ashrta3 (long long accum A, int |
| B) |
| These functions return the result of arithmetically shifting A |
| right by B bits. |
| |
| -- Runtime Function: unsigned short fract __lshruqq3 (unsigned short |
| fract A, int B) |
| -- Runtime Function: unsigned fract __lshruhq3 (unsigned fract A, int |
| B) |
| -- Runtime Function: unsigned long fract __lshrusq3 (unsigned long |
| fract A, int B) |
| -- Runtime Function: unsigned long long fract __lshrudq3 (unsigned |
| long long fract A, int B) |
| -- Runtime Function: unsigned short accum __lshruha3 (unsigned short |
| accum A, int B) |
| -- Runtime Function: unsigned accum __lshrusa3 (unsigned accum A, int |
| B) |
| -- Runtime Function: unsigned long accum __lshruda3 (unsigned long |
| accum A, int B) |
| -- Runtime Function: unsigned long long accum __lshruta3 (unsigned |
| long long accum A, int B) |
| These functions return the result of logically shifting A right by |
| B bits. |
| |
| -- Runtime Function: fract __ssashlhq3 (fract A, int B) |
| -- Runtime Function: long fract __ssashlsq3 (long fract A, int B) |
| -- Runtime Function: long long fract __ssashldq3 (long long fract A, |
| int B) |
| -- Runtime Function: short accum __ssashlha3 (short accum A, int B) |
| -- Runtime Function: accum __ssashlsa3 (accum A, int B) |
| -- Runtime Function: long accum __ssashlda3 (long accum A, int B) |
| -- Runtime Function: long long accum __ssashlta3 (long long accum A, |
| int B) |
| These functions return the result of shifting A left by B bits |
| with signed saturation. |
| |
| -- Runtime Function: unsigned short fract __usashluqq3 (unsigned short |
| fract A, int B) |
| -- Runtime Function: unsigned fract __usashluhq3 (unsigned fract A, |
| int B) |
| -- Runtime Function: unsigned long fract __usashlusq3 (unsigned long |
| fract A, int B) |
| -- Runtime Function: unsigned long long fract __usashludq3 (unsigned |
| long long fract A, int B) |
| -- Runtime Function: unsigned short accum __usashluha3 (unsigned short |
| accum A, int B) |
| -- Runtime Function: unsigned accum __usashlusa3 (unsigned accum A, |
| int B) |
| -- Runtime Function: unsigned long accum __usashluda3 (unsigned long |
| accum A, int B) |
| -- Runtime Function: unsigned long long accum __usashluta3 (unsigned |
| long long accum A, int B) |
| These functions return the result of shifting A left by B bits |
| with unsigned saturation. |
| |
| 4.4.2 Comparison functions |
| -------------------------- |
| |
| The following functions implement fixed-point comparisons. These |
| functions implement a low-level compare, upon which the higher level |
| comparison operators (such as less than and greater than or equal to) |
| can be constructed. The returned values lie in the range zero to two, |
| to allow the high-level operators to be implemented by testing the |
| returned result using either signed or unsigned comparison. |
| |
| -- Runtime Function: int __cmpqq2 (short fract A, short fract B) |
| -- Runtime Function: int __cmphq2 (fract A, fract B) |
| -- Runtime Function: int __cmpsq2 (long fract A, long fract B) |
| -- Runtime Function: int __cmpdq2 (long long fract A, long long fract |
| B) |
| -- Runtime Function: int __cmpuqq2 (unsigned short fract A, unsigned |
| short fract B) |
| -- Runtime Function: int __cmpuhq2 (unsigned fract A, unsigned fract B) |
| -- Runtime Function: int __cmpusq2 (unsigned long fract A, unsigned |
| long fract B) |
| -- Runtime Function: int __cmpudq2 (unsigned long long fract A, |
| unsigned long long fract B) |
| -- Runtime Function: int __cmpha2 (short accum A, short accum B) |
| -- Runtime Function: int __cmpsa2 (accum A, accum B) |
| -- Runtime Function: int __cmpda2 (long accum A, long accum B) |
| -- Runtime Function: int __cmpta2 (long long accum A, long long accum |
| B) |
| -- Runtime Function: int __cmpuha2 (unsigned short accum A, unsigned |
| short accum B) |
| -- Runtime Function: int __cmpusa2 (unsigned accum A, unsigned accum B) |
| -- Runtime Function: int __cmpuda2 (unsigned long accum A, unsigned |
| long accum B) |
| -- Runtime Function: int __cmputa2 (unsigned long long accum A, |
| unsigned long long accum B) |
| These functions perform a signed or unsigned comparison of A and B |
| (depending on the selected machine mode). If A is less than B, |
| they return 0; if A is greater than B, they return 2; and if A and |
| B are equal they return 1. |
| |
| 4.4.3 Conversion functions |
| -------------------------- |
| |
| -- Runtime Function: fract __fractqqhq2 (short fract A) |
| -- Runtime Function: long fract __fractqqsq2 (short fract A) |
| -- Runtime Function: long long fract __fractqqdq2 (short fract A) |
| -- Runtime Function: short accum __fractqqha (short fract A) |
| -- Runtime Function: accum __fractqqsa (short fract A) |
| -- Runtime Function: long accum __fractqqda (short fract A) |
| -- Runtime Function: long long accum __fractqqta (short fract A) |
| -- Runtime Function: unsigned short fract __fractqquqq (short fract A) |
| -- Runtime Function: unsigned fract __fractqquhq (short fract A) |
| -- Runtime Function: unsigned long fract __fractqqusq (short fract A) |
| -- Runtime Function: unsigned long long fract __fractqqudq (short |
| fract A) |
| -- Runtime Function: unsigned short accum __fractqquha (short fract A) |
| -- Runtime Function: unsigned accum __fractqqusa (short fract A) |
| -- Runtime Function: unsigned long accum __fractqquda (short fract A) |
| -- Runtime Function: unsigned long long accum __fractqquta (short |
| fract A) |
| -- Runtime Function: signed char __fractqqqi (short fract A) |
| -- Runtime Function: short __fractqqhi (short fract A) |
| -- Runtime Function: int __fractqqsi (short fract A) |
| -- Runtime Function: long __fractqqdi (short fract A) |
| -- Runtime Function: long long __fractqqti (short fract A) |
| -- Runtime Function: float __fractqqsf (short fract A) |
| -- Runtime Function: double __fractqqdf (short fract A) |
| -- Runtime Function: short fract __fracthqqq2 (fract A) |
| -- Runtime Function: long fract __fracthqsq2 (fract A) |
| -- Runtime Function: long long fract __fracthqdq2 (fract A) |
| -- Runtime Function: short accum __fracthqha (fract A) |
| -- Runtime Function: accum __fracthqsa (fract A) |
| -- Runtime Function: long accum __fracthqda (fract A) |
| -- Runtime Function: long long accum __fracthqta (fract A) |
| -- Runtime Function: unsigned short fract __fracthquqq (fract A) |
| -- Runtime Function: unsigned fract __fracthquhq (fract A) |
| -- Runtime Function: unsigned long fract __fracthqusq (fract A) |
| -- Runtime Function: unsigned long long fract __fracthqudq (fract A) |
| -- Runtime Function: unsigned short accum __fracthquha (fract A) |
| -- Runtime Function: unsigned accum __fracthqusa (fract A) |
| -- Runtime Function: unsigned long accum __fracthquda (fract A) |
| -- Runtime Function: unsigned long long accum __fracthquta (fract A) |
| -- Runtime Function: signed char __fracthqqi (fract A) |
| -- Runtime Function: short __fracthqhi (fract A) |
| -- Runtime Function: int __fracthqsi (fract A) |
| -- Runtime Function: long __fracthqdi (fract A) |
| -- Runtime Function: long long __fracthqti (fract A) |
| -- Runtime Function: float __fracthqsf (fract A) |
| -- Runtime Function: double __fracthqdf (fract A) |
| -- Runtime Function: short fract __fractsqqq2 (long fract A) |
| -- Runtime Function: fract __fractsqhq2 (long fract A) |
| -- Runtime Function: long long fract __fractsqdq2 (long fract A) |
| -- Runtime Function: short accum __fractsqha (long fract A) |
| -- Runtime Function: accum __fractsqsa (long fract A) |
| -- Runtime Function: long accum __fractsqda (long fract A) |
| -- Runtime Function: long long accum __fractsqta (long fract A) |
| -- Runtime Function: unsigned short fract __fractsquqq (long fract A) |
| -- Runtime Function: unsigned fract __fractsquhq (long fract A) |
| -- Runtime Function: unsigned long fract __fractsqusq (long fract A) |
| -- Runtime Function: unsigned long long fract __fractsqudq (long fract |
| A) |
| -- Runtime Function: unsigned short accum __fractsquha (long fract A) |
| -- Runtime Function: unsigned accum __fractsqusa (long fract A) |
| -- Runtime Function: unsigned long accum __fractsquda (long fract A) |
| -- Runtime Function: unsigned long long accum __fractsquta (long fract |
| A) |
| -- Runtime Function: signed char __fractsqqi (long fract A) |
| -- Runtime Function: short __fractsqhi (long fract A) |
| -- Runtime Function: int __fractsqsi (long fract A) |
| -- Runtime Function: long __fractsqdi (long fract A) |
| -- Runtime Function: long long __fractsqti (long fract A) |
| -- Runtime Function: float __fractsqsf (long fract A) |
| -- Runtime Function: double __fractsqdf (long fract A) |
| -- Runtime Function: short fract __fractdqqq2 (long long fract A) |
| -- Runtime Function: fract __fractdqhq2 (long long fract A) |
| -- Runtime Function: long fract __fractdqsq2 (long long fract A) |
| -- Runtime Function: short accum __fractdqha (long long fract A) |
| -- Runtime Function: accum __fractdqsa (long long fract A) |
| -- Runtime Function: long accum __fractdqda (long long fract A) |
| -- Runtime Function: long long accum __fractdqta (long long fract A) |
| -- Runtime Function: unsigned short fract __fractdquqq (long long |
| fract A) |
| -- Runtime Function: unsigned fract __fractdquhq (long long fract A) |
| -- Runtime Function: unsigned long fract __fractdqusq (long long fract |
| A) |
| -- Runtime Function: unsigned long long fract __fractdqudq (long long |
| fract A) |
| -- Runtime Function: unsigned short accum __fractdquha (long long |
| fract A) |
| -- Runtime Function: unsigned accum __fractdqusa (long long fract A) |
| -- Runtime Function: unsigned long accum __fractdquda (long long fract |
| A) |
| -- Runtime Function: unsigned long long accum __fractdquta (long long |
| fract A) |
| -- Runtime Function: signed char __fractdqqi (long long fract A) |
| -- Runtime Function: short __fractdqhi (long long fract A) |
| -- Runtime Function: int __fractdqsi (long long fract A) |
| -- Runtime Function: long __fractdqdi (long long fract A) |
| -- Runtime Function: long long __fractdqti (long long fract A) |
| -- Runtime Function: float __fractdqsf (long long fract A) |
| -- Runtime Function: double __fractdqdf (long long fract A) |
| -- Runtime Function: short fract __fracthaqq (short accum A) |
| -- Runtime Function: fract __fracthahq (short accum A) |
| -- Runtime Function: long fract __fracthasq (short accum A) |
| -- Runtime Function: long long fract __fracthadq (short accum A) |
| -- Runtime Function: accum __fracthasa2 (short accum A) |
| -- Runtime Function: long accum __fracthada2 (short accum A) |
| -- Runtime Function: long long accum __fracthata2 (short accum A) |
| -- Runtime Function: unsigned short fract __fracthauqq (short accum A) |
| -- Runtime Function: unsigned fract __fracthauhq (short accum A) |
| -- Runtime Function: unsigned long fract __fracthausq (short accum A) |
| -- Runtime Function: unsigned long long fract __fracthaudq (short |
| accum A) |
| -- Runtime Function: unsigned short accum __fracthauha (short accum A) |
| -- Runtime Function: unsigned accum __fracthausa (short accum A) |
| -- Runtime Function: unsigned long accum __fracthauda (short accum A) |
| -- Runtime Function: unsigned long long accum __fracthauta (short |
| accum A) |
| -- Runtime Function: signed char __fracthaqi (short accum A) |
| -- Runtime Function: short __fracthahi (short accum A) |
| -- Runtime Function: int __fracthasi (short accum A) |
| -- Runtime Function: long __fracthadi (short accum A) |
| -- Runtime Function: long long __fracthati (short accum A) |
| -- Runtime Function: float __fracthasf (short accum A) |
| -- Runtime Function: double __fracthadf (short accum A) |
| -- Runtime Function: short fract __fractsaqq (accum A) |
| -- Runtime Function: fract __fractsahq (accum A) |
| -- Runtime Function: long fract __fractsasq (accum A) |
| -- Runtime Function: long long fract __fractsadq (accum A) |
| -- Runtime Function: short accum __fractsaha2 (accum A) |
| -- Runtime Function: long accum __fractsada2 (accum A) |
| -- Runtime Function: long long accum __fractsata2 (accum A) |
| -- Runtime Function: unsigned short fract __fractsauqq (accum A) |
| -- Runtime Function: unsigned fract __fractsauhq (accum A) |
| -- Runtime Function: unsigned long fract __fractsausq (accum A) |
| -- Runtime Function: unsigned long long fract __fractsaudq (accum A) |
| -- Runtime Function: unsigned short accum __fractsauha (accum A) |
| -- Runtime Function: unsigned accum __fractsausa (accum A) |
| -- Runtime Function: unsigned long accum __fractsauda (accum A) |
| -- Runtime Function: unsigned long long accum __fractsauta (accum A) |
| -- Runtime Function: signed char __fractsaqi (accum A) |
| -- Runtime Function: short __fractsahi (accum A) |
| -- Runtime Function: int __fractsasi (accum A) |
| -- Runtime Function: long __fractsadi (accum A) |
| -- Runtime Function: long long __fractsati (accum A) |
| -- Runtime Function: float __fractsasf (accum A) |
| -- Runtime Function: double __fractsadf (accum A) |
| -- Runtime Function: short fract __fractdaqq (long accum A) |
| -- Runtime Function: fract __fractdahq (long accum A) |
| -- Runtime Function: long fract __fractdasq (long accum A) |
| -- Runtime Function: long long fract __fractdadq (long accum A) |
| -- Runtime Function: short accum __fractdaha2 (long accum A) |
| -- Runtime Function: accum __fractdasa2 (long accum A) |
| -- Runtime Function: long long accum __fractdata2 (long accum A) |
| -- Runtime Function: unsigned short fract __fractdauqq (long accum A) |
| -- Runtime Function: unsigned fract __fractdauhq (long accum A) |
| -- Runtime Function: unsigned long fract __fractdausq (long accum A) |
| -- Runtime Function: unsigned long long fract __fractdaudq (long accum |
| A) |
| -- Runtime Function: unsigned short accum __fractdauha (long accum A) |
| -- Runtime Function: unsigned accum __fractdausa (long accum A) |
| -- Runtime Function: unsigned long accum __fractdauda (long accum A) |
| -- Runtime Function: unsigned long long accum __fractdauta (long accum |
| A) |
| -- Runtime Function: signed char __fractdaqi (long accum A) |
| -- Runtime Function: short __fractdahi (long accum A) |
| -- Runtime Function: int __fractdasi (long accum A) |
| -- Runtime Function: long __fractdadi (long accum A) |
| -- Runtime Function: long long __fractdati (long accum A) |
| -- Runtime Function: float __fractdasf (long accum A) |
| -- Runtime Function: double __fractdadf (long accum A) |
| -- Runtime Function: short fract __fracttaqq (long long accum A) |
| -- Runtime Function: fract __fracttahq (long long accum A) |
| -- Runtime Function: long fract __fracttasq (long long accum A) |
| -- Runtime Function: long long fract __fracttadq (long long accum A) |
| -- Runtime Function: short accum __fracttaha2 (long long accum A) |
| -- Runtime Function: accum __fracttasa2 (long long accum A) |
| -- Runtime Function: long accum __fracttada2 (long long accum A) |
| -- Runtime Function: unsigned short fract __fracttauqq (long long |
| accum A) |
| -- Runtime Function: unsigned fract __fracttauhq (long long accum A) |
| -- Runtime Function: unsigned long fract __fracttausq (long long accum |
| A) |
| -- Runtime Function: unsigned long long fract __fracttaudq (long long |
| accum A) |
| -- Runtime Function: unsigned short accum __fracttauha (long long |
| accum A) |
| -- Runtime Function: unsigned accum __fracttausa (long long accum A) |
| -- Runtime Function: unsigned long accum __fracttauda (long long accum |
| A) |
| -- Runtime Function: unsigned long long accum __fracttauta (long long |
| accum A) |
| -- Runtime Function: signed char __fracttaqi (long long accum A) |
| -- Runtime Function: short __fracttahi (long long accum A) |
| -- Runtime Function: int __fracttasi (long long accum A) |
| -- Runtime Function: long __fracttadi (long long accum A) |
| -- Runtime Function: long long __fracttati (long long accum A) |
| -- Runtime Function: float __fracttasf (long long accum A) |
| -- Runtime Function: double __fracttadf (long long accum A) |
| -- Runtime Function: short fract __fractuqqqq (unsigned short fract A) |
| -- Runtime Function: fract __fractuqqhq (unsigned short fract A) |
| -- Runtime Function: long fract __fractuqqsq (unsigned short fract A) |
| -- Runtime Function: long long fract __fractuqqdq (unsigned short |
| fract A) |
| -- Runtime Function: short accum __fractuqqha (unsigned short fract A) |
| -- Runtime Function: accum __fractuqqsa (unsigned short fract A) |
| -- Runtime Function: long accum __fractuqqda (unsigned short fract A) |
| -- Runtime Function: long long accum __fractuqqta (unsigned short |
| fract A) |
| -- Runtime Function: unsigned fract __fractuqquhq2 (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long fract __fractuqqusq2 (unsigned |
| short fract A) |
| -- Runtime Function: unsigned long long fract __fractuqqudq2 (unsigned |
| short fract A) |
| -- Runtime Function: unsigned short accum __fractuqquha (unsigned |
| short fract A) |
| -- Runtime Function: unsigned accum __fractuqqusa (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long accum __fractuqquda (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long long accum __fractuqquta (unsigned |
| short fract A) |
| -- Runtime Function: signed char __fractuqqqi (unsigned short fract A) |
| -- Runtime Function: short __fractuqqhi (unsigned short fract A) |
| -- Runtime Function: int __fractuqqsi (unsigned short fract A) |
| -- Runtime Function: long __fractuqqdi (unsigned short fract A) |
| -- Runtime Function: long long __fractuqqti (unsigned short fract A) |
| -- Runtime Function: float __fractuqqsf (unsigned short fract A) |
| -- Runtime Function: double __fractuqqdf (unsigned short fract A) |
| -- Runtime Function: short fract __fractuhqqq (unsigned fract A) |
| -- Runtime Function: fract __fractuhqhq (unsigned fract A) |
| -- Runtime Function: long fract __fractuhqsq (unsigned fract A) |
| -- Runtime Function: long long fract __fractuhqdq (unsigned fract A) |
| -- Runtime Function: short accum __fractuhqha (unsigned fract A) |
| -- Runtime Function: accum __fractuhqsa (unsigned fract A) |
| -- Runtime Function: long accum __fractuhqda (unsigned fract A) |
| -- Runtime Function: long long accum __fractuhqta (unsigned fract A) |
| -- Runtime Function: unsigned short fract __fractuhquqq2 (unsigned |
| fract A) |
| -- Runtime Function: unsigned long fract __fractuhqusq2 (unsigned |
| fract A) |
| -- Runtime Function: unsigned long long fract __fractuhqudq2 (unsigned |
| fract A) |
| -- Runtime Function: unsigned short accum __fractuhquha (unsigned |
| fract A) |
| -- Runtime Function: unsigned accum __fractuhqusa (unsigned fract A) |
| -- Runtime Function: unsigned long accum __fractuhquda (unsigned fract |
| A) |
| -- Runtime Function: unsigned long long accum __fractuhquta (unsigned |
| fract A) |
| -- Runtime Function: signed char __fractuhqqi (unsigned fract A) |
| -- Runtime Function: short __fractuhqhi (unsigned fract A) |
| -- Runtime Function: int __fractuhqsi (unsigned fract A) |
| -- Runtime Function: long __fractuhqdi (unsigned fract A) |
| -- Runtime Function: long long __fractuhqti (unsigned fract A) |
| -- Runtime Function: float __fractuhqsf (unsigned fract A) |
| -- Runtime Function: double __fractuhqdf (unsigned fract A) |
| -- Runtime Function: short fract __fractusqqq (unsigned long fract A) |
| -- Runtime Function: fract __fractusqhq (unsigned long fract A) |
| -- Runtime Function: long fract __fractusqsq (unsigned long fract A) |
| -- Runtime Function: long long fract __fractusqdq (unsigned long fract |
| A) |
| -- Runtime Function: short accum __fractusqha (unsigned long fract A) |
| -- Runtime Function: accum __fractusqsa (unsigned long fract A) |
| -- Runtime Function: long accum __fractusqda (unsigned long fract A) |
| -- Runtime Function: long long accum __fractusqta (unsigned long fract |
| A) |
| -- Runtime Function: unsigned short fract __fractusquqq2 (unsigned |
| long fract A) |
| -- Runtime Function: unsigned fract __fractusquhq2 (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long long fract __fractusqudq2 (unsigned |
| long fract A) |
| -- Runtime Function: unsigned short accum __fractusquha (unsigned long |
| fract A) |
| -- Runtime Function: unsigned accum __fractusqusa (unsigned long fract |
| A) |
| -- Runtime Function: unsigned long accum __fractusquda (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long long accum __fractusquta (unsigned |
| long fract A) |
| -- Runtime Function: signed char __fractusqqi (unsigned long fract A) |
| -- Runtime Function: short __fractusqhi (unsigned long fract A) |
| -- Runtime Function: int __fractusqsi (unsigned long fract A) |
| -- Runtime Function: long __fractusqdi (unsigned long fract A) |
| -- Runtime Function: long long __fractusqti (unsigned long fract A) |
| -- Runtime Function: float __fractusqsf (unsigned long fract A) |
| -- Runtime Function: double __fractusqdf (unsigned long fract A) |
| -- Runtime Function: short fract __fractudqqq (unsigned long long |
| fract A) |
| -- Runtime Function: fract __fractudqhq (unsigned long long fract A) |
| -- Runtime Function: long fract __fractudqsq (unsigned long long fract |
| A) |
| -- Runtime Function: long long fract __fractudqdq (unsigned long long |
| fract A) |
| -- Runtime Function: short accum __fractudqha (unsigned long long |
| fract A) |
| -- Runtime Function: accum __fractudqsa (unsigned long long fract A) |
| -- Runtime Function: long accum __fractudqda (unsigned long long fract |
| A) |
| -- Runtime Function: long long accum __fractudqta (unsigned long long |
| fract A) |
| -- Runtime Function: unsigned short fract __fractudquqq2 (unsigned |
| long long fract A) |
| -- Runtime Function: unsigned fract __fractudquhq2 (unsigned long long |
| fract A) |
| -- Runtime Function: unsigned long fract __fractudqusq2 (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned short accum __fractudquha (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned accum __fractudqusa (unsigned long long |
| fract A) |
| -- Runtime Function: unsigned long accum __fractudquda (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned long long accum __fractudquta (unsigned |
| long long fract A) |
| -- Runtime Function: signed char __fractudqqi (unsigned long long |
| fract A) |
| -- Runtime Function: short __fractudqhi (unsigned long long fract A) |
| -- Runtime Function: int __fractudqsi (unsigned long long fract A) |
| -- Runtime Function: long __fractudqdi (unsigned long long fract A) |
| -- Runtime Function: long long __fractudqti (unsigned long long fract |
| A) |
| -- Runtime Function: float __fractudqsf (unsigned long long fract A) |
| -- Runtime Function: double __fractudqdf (unsigned long long fract A) |
| -- Runtime Function: short fract __fractuhaqq (unsigned short accum A) |
| -- Runtime Function: fract __fractuhahq (unsigned short accum A) |
| -- Runtime Function: long fract __fractuhasq (unsigned short accum A) |
| -- Runtime Function: long long fract __fractuhadq (unsigned short |
| accum A) |
| -- Runtime Function: short accum __fractuhaha (unsigned short accum A) |
| -- Runtime Function: accum __fractuhasa (unsigned short accum A) |
| -- Runtime Function: long accum __fractuhada (unsigned short accum A) |
| -- Runtime Function: long long accum __fractuhata (unsigned short |
| accum A) |
| -- Runtime Function: unsigned short fract __fractuhauqq (unsigned |
| short accum A) |
| -- Runtime Function: unsigned fract __fractuhauhq (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long fract __fractuhausq (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long long fract __fractuhaudq (unsigned |
| short accum A) |
| -- Runtime Function: unsigned accum __fractuhausa2 (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long accum __fractuhauda2 (unsigned |
| short accum A) |
| -- Runtime Function: unsigned long long accum __fractuhauta2 (unsigned |
| short accum A) |
| -- Runtime Function: signed char __fractuhaqi (unsigned short accum A) |
| -- Runtime Function: short __fractuhahi (unsigned short accum A) |
| -- Runtime Function: int __fractuhasi (unsigned short accum A) |
| -- Runtime Function: long __fractuhadi (unsigned short accum A) |
| -- Runtime Function: long long __fractuhati (unsigned short accum A) |
| -- Runtime Function: float __fractuhasf (unsigned short accum A) |
| -- Runtime Function: double __fractuhadf (unsigned short accum A) |
| -- Runtime Function: short fract __fractusaqq (unsigned accum A) |
| -- Runtime Function: fract __fractusahq (unsigned accum A) |
| -- Runtime Function: long fract __fractusasq (unsigned accum A) |
| -- Runtime Function: long long fract __fractusadq (unsigned accum A) |
| -- Runtime Function: short accum __fractusaha (unsigned accum A) |
| -- Runtime Function: accum __fractusasa (unsigned accum A) |
| -- Runtime Function: long accum __fractusada (unsigned accum A) |
| -- Runtime Function: long long accum __fractusata (unsigned accum A) |
| -- Runtime Function: unsigned short fract __fractusauqq (unsigned |
| accum A) |
| -- Runtime Function: unsigned fract __fractusauhq (unsigned accum A) |
| -- Runtime Function: unsigned long fract __fractusausq (unsigned accum |
| A) |
| -- Runtime Function: unsigned long long fract __fractusaudq (unsigned |
| accum A) |
| -- Runtime Function: unsigned short accum __fractusauha2 (unsigned |
| accum A) |
| -- Runtime Function: unsigned long accum __fractusauda2 (unsigned |
| accum A) |
| -- Runtime Function: unsigned long long accum __fractusauta2 (unsigned |
| accum A) |
| -- Runtime Function: signed char __fractusaqi (unsigned accum A) |
| -- Runtime Function: short __fractusahi (unsigned accum A) |
| -- Runtime Function: int __fractusasi (unsigned accum A) |
| -- Runtime Function: long __fractusadi (unsigned accum A) |
| -- Runtime Function: long long __fractusati (unsigned accum A) |
| -- Runtime Function: float __fractusasf (unsigned accum A) |
| -- Runtime Function: double __fractusadf (unsigned accum A) |
| -- Runtime Function: short fract __fractudaqq (unsigned long accum A) |
| -- Runtime Function: fract __fractudahq (unsigned long accum A) |
| -- Runtime Function: long fract __fractudasq (unsigned long accum A) |
| -- Runtime Function: long long fract __fractudadq (unsigned long accum |
| A) |
| -- Runtime Function: short accum __fractudaha (unsigned long accum A) |
| -- Runtime Function: accum __fractudasa (unsigned long accum A) |
| -- Runtime Function: long accum __fractudada (unsigned long accum A) |
| -- Runtime Function: long long accum __fractudata (unsigned long accum |
| A) |
| -- Runtime Function: unsigned short fract __fractudauqq (unsigned long |
| accum A) |
| -- Runtime Function: unsigned fract __fractudauhq (unsigned long accum |
| A) |
| -- Runtime Function: unsigned long fract __fractudausq (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long long fract __fractudaudq (unsigned |
| long accum A) |
| -- Runtime Function: unsigned short accum __fractudauha2 (unsigned |
| long accum A) |
| -- Runtime Function: unsigned accum __fractudausa2 (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long long accum __fractudauta2 (unsigned |
| long accum A) |
| -- Runtime Function: signed char __fractudaqi (unsigned long accum A) |
| -- Runtime Function: short __fractudahi (unsigned long accum A) |
| -- Runtime Function: int __fractudasi (unsigned long accum A) |
| -- Runtime Function: long __fractudadi (unsigned long accum A) |
| -- Runtime Function: long long __fractudati (unsigned long accum A) |
| -- Runtime Function: float __fractudasf (unsigned long accum A) |
| -- Runtime Function: double __fractudadf (unsigned long accum A) |
| -- Runtime Function: short fract __fractutaqq (unsigned long long |
| accum A) |
| -- Runtime Function: fract __fractutahq (unsigned long long accum A) |
| -- Runtime Function: long fract __fractutasq (unsigned long long accum |
| A) |
| -- Runtime Function: long long fract __fractutadq (unsigned long long |
| accum A) |
| -- Runtime Function: short accum __fractutaha (unsigned long long |
| accum A) |
| -- Runtime Function: accum __fractutasa (unsigned long long accum A) |
| -- Runtime Function: long accum __fractutada (unsigned long long accum |
| A) |
| -- Runtime Function: long long accum __fractutata (unsigned long long |
| accum A) |
| -- Runtime Function: unsigned short fract __fractutauqq (unsigned long |
| long accum A) |
| -- Runtime Function: unsigned fract __fractutauhq (unsigned long long |
| accum A) |
| -- Runtime Function: unsigned long fract __fractutausq (unsigned long |
| long accum A) |
| -- Runtime Function: unsigned long long fract __fractutaudq (unsigned |
| long long accum A) |
| -- Runtime Function: unsigned short accum __fractutauha2 (unsigned |
| long long accum A) |
| -- Runtime Function: unsigned accum __fractutausa2 (unsigned long long |
| accum A) |
| -- Runtime Function: unsigned long accum __fractutauda2 (unsigned long |
| long accum A) |
| -- Runtime Function: signed char __fractutaqi (unsigned long long |
| accum A) |
| -- Runtime Function: short __fractutahi (unsigned long long accum A) |
| -- Runtime Function: int __fractutasi (unsigned long long accum A) |
| -- Runtime Function: long __fractutadi (unsigned long long accum A) |
| -- Runtime Function: long long __fractutati (unsigned long long accum |
| A) |
| -- Runtime Function: float __fractutasf (unsigned long long accum A) |
| -- Runtime Function: double __fractutadf (unsigned long long accum A) |
| -- Runtime Function: short fract __fractqiqq (signed char A) |
| -- Runtime Function: fract __fractqihq (signed char A) |
| -- Runtime Function: long fract __fractqisq (signed char A) |
| -- Runtime Function: long long fract __fractqidq (signed char A) |
| -- Runtime Function: short accum __fractqiha (signed char A) |
| -- Runtime Function: accum __fractqisa (signed char A) |
| -- Runtime Function: long accum __fractqida (signed char A) |
| -- Runtime Function: long long accum __fractqita (signed char A) |
| -- Runtime Function: unsigned short fract __fractqiuqq (signed char A) |
| -- Runtime Function: unsigned fract __fractqiuhq (signed char A) |
| -- Runtime Function: unsigned long fract __fractqiusq (signed char A) |
| -- Runtime Function: unsigned long long fract __fractqiudq (signed |
| char A) |
| -- Runtime Function: unsigned short accum __fractqiuha (signed char A) |
| -- Runtime Function: unsigned accum __fractqiusa (signed char A) |
| -- Runtime Function: unsigned long accum __fractqiuda (signed char A) |
| -- Runtime Function: unsigned long long accum __fractqiuta (signed |
| char A) |
| -- Runtime Function: short fract __fracthiqq (short A) |
| -- Runtime Function: fract __fracthihq (short A) |
| -- Runtime Function: long fract __fracthisq (short A) |
| -- Runtime Function: long long fract __fracthidq (short A) |
| -- Runtime Function: short accum __fracthiha (short A) |
| -- Runtime Function: accum __fracthisa (short A) |
| -- Runtime Function: long accum __fracthida (short A) |
| -- Runtime Function: long long accum __fracthita (short A) |
| -- Runtime Function: unsigned short fract __fracthiuqq (short A) |
| -- Runtime Function: unsigned fract __fracthiuhq (short A) |
| -- Runtime Function: unsigned long fract __fracthiusq (short A) |
| -- Runtime Function: unsigned long long fract __fracthiudq (short A) |
| -- Runtime Function: unsigned short accum __fracthiuha (short A) |
| -- Runtime Function: unsigned accum __fracthiusa (short A) |
| -- Runtime Function: unsigned long accum __fracthiuda (short A) |
| -- Runtime Function: unsigned long long accum __fracthiuta (short A) |
| -- Runtime Function: short fract __fractsiqq (int A) |
| -- Runtime Function: fract __fractsihq (int A) |
| -- Runtime Function: long fract __fractsisq (int A) |
| -- Runtime Function: long long fract __fractsidq (int A) |
| -- Runtime Function: short accum __fractsiha (int A) |
| -- Runtime Function: accum __fractsisa (int A) |
| -- Runtime Function: long accum __fractsida (int A) |
| -- Runtime Function: long long accum __fractsita (int A) |
| -- Runtime Function: unsigned short fract __fractsiuqq (int A) |
| -- Runtime Function: unsigned fract __fractsiuhq (int A) |
| -- Runtime Function: unsigned long fract __fractsiusq (int A) |
| -- Runtime Function: unsigned long long fract __fractsiudq (int A) |
| -- Runtime Function: unsigned short accum __fractsiuha (int A) |
| -- Runtime Function: unsigned accum __fractsiusa (int A) |
| -- Runtime Function: unsigned long accum __fractsiuda (int A) |
| -- Runtime Function: unsigned long long accum __fractsiuta (int A) |
| -- Runtime Function: short fract __fractdiqq (long A) |
| -- Runtime Function: fract __fractdihq (long A) |
| -- Runtime Function: long fract __fractdisq (long A) |
| -- Runtime Function: long long fract __fractdidq (long A) |
| -- Runtime Function: short accum __fractdiha (long A) |
| -- Runtime Function: accum __fractdisa (long A) |
| -- Runtime Function: long accum __fractdida (long A) |
| -- Runtime Function: long long accum __fractdita (long A) |
| -- Runtime Function: unsigned short fract __fractdiuqq (long A) |
| -- Runtime Function: unsigned fract __fractdiuhq (long A) |
| -- Runtime Function: unsigned long fract __fractdiusq (long A) |
| -- Runtime Function: unsigned long long fract __fractdiudq (long A) |
| -- Runtime Function: unsigned short accum __fractdiuha (long A) |
| -- Runtime Function: unsigned accum __fractdiusa (long A) |
| -- Runtime Function: unsigned long accum __fractdiuda (long A) |
| -- Runtime Function: unsigned long long accum __fractdiuta (long A) |
| -- Runtime Function: short fract __fracttiqq (long long A) |
| -- Runtime Function: fract __fracttihq (long long A) |
| -- Runtime Function: long fract __fracttisq (long long A) |
| -- Runtime Function: long long fract __fracttidq (long long A) |
| -- Runtime Function: short accum __fracttiha (long long A) |
| -- Runtime Function: accum __fracttisa (long long A) |
| -- Runtime Function: long accum __fracttida (long long A) |
| -- Runtime Function: long long accum __fracttita (long long A) |
| -- Runtime Function: unsigned short fract __fracttiuqq (long long A) |
| -- Runtime Function: unsigned fract __fracttiuhq (long long A) |
| -- Runtime Function: unsigned long fract __fracttiusq (long long A) |
| -- Runtime Function: unsigned long long fract __fracttiudq (long long |
| A) |
| -- Runtime Function: unsigned short accum __fracttiuha (long long A) |
| -- Runtime Function: unsigned accum __fracttiusa (long long A) |
| -- Runtime Function: unsigned long accum __fracttiuda (long long A) |
| -- Runtime Function: unsigned long long accum __fracttiuta (long long |
| A) |
| -- Runtime Function: short fract __fractsfqq (float A) |
| -- Runtime Function: fract __fractsfhq (float A) |
| -- Runtime Function: long fract __fractsfsq (float A) |
| -- Runtime Function: long long fract __fractsfdq (float A) |
| -- Runtime Function: short accum __fractsfha (float A) |
| -- Runtime Function: accum __fractsfsa (float A) |
| -- Runtime Function: long accum __fractsfda (float A) |
| -- Runtime Function: long long accum __fractsfta (float A) |
| -- Runtime Function: unsigned short fract __fractsfuqq (float A) |
| -- Runtime Function: unsigned fract __fractsfuhq (float A) |
| -- Runtime Function: unsigned long fract __fractsfusq (float A) |
| -- Runtime Function: unsigned long long fract __fractsfudq (float A) |
| -- Runtime Function: unsigned short accum __fractsfuha (float A) |
| -- Runtime Function: unsigned accum __fractsfusa (float A) |
| -- Runtime Function: unsigned long accum __fractsfuda (float A) |
| -- Runtime Function: unsigned long long accum __fractsfuta (float A) |
| -- Runtime Function: short fract __fractdfqq (double A) |
| -- Runtime Function: fract __fractdfhq (double A) |
| -- Runtime Function: long fract __fractdfsq (double A) |
| -- Runtime Function: long long fract __fractdfdq (double A) |
| -- Runtime Function: short accum __fractdfha (double A) |
| -- Runtime Function: accum __fractdfsa (double A) |
| -- Runtime Function: long accum __fractdfda (double A) |
| -- Runtime Function: long long accum __fractdfta (double A) |
| -- Runtime Function: unsigned short fract __fractdfuqq (double A) |
| -- Runtime Function: unsigned fract __fractdfuhq (double A) |
| -- Runtime Function: unsigned long fract __fractdfusq (double A) |
| -- Runtime Function: unsigned long long fract __fractdfudq (double A) |
| -- Runtime Function: unsigned short accum __fractdfuha (double A) |
| -- Runtime Function: unsigned accum __fractdfusa (double A) |
| -- Runtime Function: unsigned long accum __fractdfuda (double A) |
| -- Runtime Function: unsigned long long accum __fractdfuta (double A) |
| These functions convert from fractional and signed non-fractionals |
| to fractionals and signed non-fractionals, without saturation. |
| |
| -- Runtime Function: fract __satfractqqhq2 (short fract A) |
| -- Runtime Function: long fract __satfractqqsq2 (short fract A) |
| -- Runtime Function: long long fract __satfractqqdq2 (short fract A) |
| -- Runtime Function: short accum __satfractqqha (short fract A) |
| -- Runtime Function: accum __satfractqqsa (short fract A) |
| -- Runtime Function: long accum __satfractqqda (short fract A) |
| -- Runtime Function: long long accum __satfractqqta (short fract A) |
| -- Runtime Function: unsigned short fract __satfractqquqq (short fract |
| A) |
| -- Runtime Function: unsigned fract __satfractqquhq (short fract A) |
| -- Runtime Function: unsigned long fract __satfractqqusq (short fract |
| A) |
| -- Runtime Function: unsigned long long fract __satfractqqudq (short |
| fract A) |
| -- Runtime Function: unsigned short accum __satfractqquha (short fract |
| A) |
| -- Runtime Function: unsigned accum __satfractqqusa (short fract A) |
| -- Runtime Function: unsigned long accum __satfractqquda (short fract |
| A) |
| -- Runtime Function: unsigned long long accum __satfractqquta (short |
| fract A) |
| -- Runtime Function: short fract __satfracthqqq2 (fract A) |
| -- Runtime Function: long fract __satfracthqsq2 (fract A) |
| -- Runtime Function: long long fract __satfracthqdq2 (fract A) |
| -- Runtime Function: short accum __satfracthqha (fract A) |
| -- Runtime Function: accum __satfracthqsa (fract A) |
| -- Runtime Function: long accum __satfracthqda (fract A) |
| -- Runtime Function: long long accum __satfracthqta (fract A) |
| -- Runtime Function: unsigned short fract __satfracthquqq (fract A) |
| -- Runtime Function: unsigned fract __satfracthquhq (fract A) |
| -- Runtime Function: unsigned long fract __satfracthqusq (fract A) |
| -- Runtime Function: unsigned long long fract __satfracthqudq (fract A) |
| -- Runtime Function: unsigned short accum __satfracthquha (fract A) |
| -- Runtime Function: unsigned accum __satfracthqusa (fract A) |
| -- Runtime Function: unsigned long accum __satfracthquda (fract A) |
| -- Runtime Function: unsigned long long accum __satfracthquta (fract A) |
| -- Runtime Function: short fract __satfractsqqq2 (long fract A) |
| -- Runtime Function: fract __satfractsqhq2 (long fract A) |
| -- Runtime Function: long long fract __satfractsqdq2 (long fract A) |
| -- Runtime Function: short accum __satfractsqha (long fract A) |
| -- Runtime Function: accum __satfractsqsa (long fract A) |
| -- Runtime Function: long accum __satfractsqda (long fract A) |
| -- Runtime Function: long long accum __satfractsqta (long fract A) |
| -- Runtime Function: unsigned short fract __satfractsquqq (long fract |
| A) |
| -- Runtime Function: unsigned fract __satfractsquhq (long fract A) |
| -- Runtime Function: unsigned long fract __satfractsqusq (long fract A) |
| -- Runtime Function: unsigned long long fract __satfractsqudq (long |
| fract A) |
| -- Runtime Function: unsigned short accum __satfractsquha (long fract |
| A) |
| -- Runtime Function: unsigned accum __satfractsqusa (long fract A) |
| -- Runtime Function: unsigned long accum __satfractsquda (long fract A) |
| -- Runtime Function: unsigned long long accum __satfractsquta (long |
| fract A) |
| -- Runtime Function: short fract __satfractdqqq2 (long long fract A) |
| -- Runtime Function: fract __satfractdqhq2 (long long fract A) |
| -- Runtime Function: long fract __satfractdqsq2 (long long fract A) |
| -- Runtime Function: short accum __satfractdqha (long long fract A) |
| -- Runtime Function: accum __satfractdqsa (long long fract A) |
| -- Runtime Function: long accum __satfractdqda (long long fract A) |
| -- Runtime Function: long long accum __satfractdqta (long long fract A) |
| -- Runtime Function: unsigned short fract __satfractdquqq (long long |
| fract A) |
| -- Runtime Function: unsigned fract __satfractdquhq (long long fract A) |
| -- Runtime Function: unsigned long fract __satfractdqusq (long long |
| fract A) |
| -- Runtime Function: unsigned long long fract __satfractdqudq (long |
| long fract A) |
| -- Runtime Function: unsigned short accum __satfractdquha (long long |
| fract A) |
| -- Runtime Function: unsigned accum __satfractdqusa (long long fract A) |
| -- Runtime Function: unsigned long accum __satfractdquda (long long |
| fract A) |
| -- Runtime Function: unsigned long long accum __satfractdquta (long |
| long fract A) |
| -- Runtime Function: short fract __satfracthaqq (short accum A) |
| -- Runtime Function: fract __satfracthahq (short accum A) |
| -- Runtime Function: long fract __satfracthasq (short accum A) |
| -- Runtime Function: long long fract __satfracthadq (short accum A) |
| -- Runtime Function: accum __satfracthasa2 (short accum A) |
| -- Runtime Function: long accum __satfracthada2 (short accum A) |
| -- Runtime Function: long long accum __satfracthata2 (short accum A) |
| -- Runtime Function: unsigned short fract __satfracthauqq (short accum |
| A) |
| -- Runtime Function: unsigned fract __satfracthauhq (short accum A) |
| -- Runtime Function: unsigned long fract __satfracthausq (short accum |
| A) |
| -- Runtime Function: unsigned long long fract __satfracthaudq (short |
| accum A) |
| -- Runtime Function: unsigned short accum __satfracthauha (short accum |
| A) |
| -- Runtime Function: unsigned accum __satfracthausa (short accum A) |
| -- Runtime Function: unsigned long accum __satfracthauda (short accum |
| A) |
| -- Runtime Function: unsigned long long accum __satfracthauta (short |
| accum A) |
| -- Runtime Function: short fract __satfractsaqq (accum A) |
| -- Runtime Function: fract __satfractsahq (accum A) |
| -- Runtime Function: long fract __satfractsasq (accum A) |
| -- Runtime Function: long long fract __satfractsadq (accum A) |
| -- Runtime Function: short accum __satfractsaha2 (accum A) |
| -- Runtime Function: long accum __satfractsada2 (accum A) |
| -- Runtime Function: long long accum __satfractsata2 (accum A) |
| -- Runtime Function: unsigned short fract __satfractsauqq (accum A) |
| -- Runtime Function: unsigned fract __satfractsauhq (accum A) |
| -- Runtime Function: unsigned long fract __satfractsausq (accum A) |
| -- Runtime Function: unsigned long long fract __satfractsaudq (accum A) |
| -- Runtime Function: unsigned short accum __satfractsauha (accum A) |
| -- Runtime Function: unsigned accum __satfractsausa (accum A) |
| -- Runtime Function: unsigned long accum __satfractsauda (accum A) |
| -- Runtime Function: unsigned long long accum __satfractsauta (accum A) |
| -- Runtime Function: short fract __satfractdaqq (long accum A) |
| -- Runtime Function: fract __satfractdahq (long accum A) |
| -- Runtime Function: long fract __satfractdasq (long accum A) |
| -- Runtime Function: long long fract __satfractdadq (long accum A) |
| -- Runtime Function: short accum __satfractdaha2 (long accum A) |
| -- Runtime Function: accum __satfractdasa2 (long accum A) |
| -- Runtime Function: long long accum __satfractdata2 (long accum A) |
| -- Runtime Function: unsigned short fract __satfractdauqq (long accum |
| A) |
| -- Runtime Function: unsigned fract __satfractdauhq (long accum A) |
| -- Runtime Function: unsigned long fract __satfractdausq (long accum A) |
| -- Runtime Function: unsigned long long fract __satfractdaudq (long |
| accum A) |
| -- Runtime Function: unsigned short accum __satfractdauha (long accum |
| A) |
| -- Runtime Function: unsigned accum __satfractdausa (long accum A) |
| -- Runtime Function: unsigned long accum __satfractdauda (long accum A) |
| -- Runtime Function: unsigned long long accum __satfractdauta (long |
| accum A) |
| -- Runtime Function: short fract __satfracttaqq (long long accum A) |
| -- Runtime Function: fract __satfracttahq (long long accum A) |
| -- Runtime Function: long fract __satfracttasq (long long accum A) |
| -- Runtime Function: long long fract __satfracttadq (long long accum A) |
| -- Runtime Function: short accum __satfracttaha2 (long long accum A) |
| -- Runtime Function: accum __satfracttasa2 (long long accum A) |
| -- Runtime Function: long accum __satfracttada2 (long long accum A) |
| -- Runtime Function: unsigned short fract __satfracttauqq (long long |
| accum A) |
| -- Runtime Function: unsigned fract __satfracttauhq (long long accum A) |
| -- Runtime Function: unsigned long fract __satfracttausq (long long |
| accum A) |
| -- Runtime Function: unsigned long long fract __satfracttaudq (long |
| long accum A) |
| -- Runtime Function: unsigned short accum __satfracttauha (long long |
| accum A) |
| -- Runtime Function: unsigned accum __satfracttausa (long long accum A) |
| -- Runtime Function: unsigned long accum __satfracttauda (long long |
| accum A) |
| -- Runtime Function: unsigned long long accum __satfracttauta (long |
| long accum A) |
| -- Runtime Function: short fract __satfractuqqqq (unsigned short fract |
| A) |
| -- Runtime Function: fract __satfractuqqhq (unsigned short fract A) |
| -- Runtime Function: long fract __satfractuqqsq (unsigned short fract |
| A) |
| -- Runtime Function: long long fract __satfractuqqdq (unsigned short |
| fract A) |
| -- Runtime Function: short accum __satfractuqqha (unsigned short fract |
| A) |
| -- Runtime Function: accum __satfractuqqsa (unsigned short fract A) |
| -- Runtime Function: long accum __satfractuqqda (unsigned short fract |
| A) |
| -- Runtime Function: long long accum __satfractuqqta (unsigned short |
| fract A) |
| -- Runtime Function: unsigned fract __satfractuqquhq2 (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long fract __satfractuqqusq2 (unsigned |
| short fract A) |
| -- Runtime Function: unsigned long long fract __satfractuqqudq2 |
| (unsigned short fract A) |
| -- Runtime Function: unsigned short accum __satfractuqquha (unsigned |
| short fract A) |
| -- Runtime Function: unsigned accum __satfractuqqusa (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long accum __satfractuqquda (unsigned |
| short fract A) |
| -- Runtime Function: unsigned long long accum __satfractuqquta |
| (unsigned short fract A) |
| -- Runtime Function: short fract __satfractuhqqq (unsigned fract A) |
| -- Runtime Function: fract __satfractuhqhq (unsigned fract A) |
| -- Runtime Function: long fract __satfractuhqsq (unsigned fract A) |
| -- Runtime Function: long long fract __satfractuhqdq (unsigned fract A) |
| -- Runtime Function: short accum __satfractuhqha (unsigned fract A) |
| -- Runtime Function: accum __satfractuhqsa (unsigned fract A) |
| -- Runtime Function: long accum __satfractuhqda (unsigned fract A) |
| -- Runtime Function: long long accum __satfractuhqta (unsigned fract A) |
| -- Runtime Function: unsigned short fract __satfractuhquqq2 (unsigned |
| fract A) |
| -- Runtime Function: unsigned long fract __satfractuhqusq2 (unsigned |
| fract A) |
| -- Runtime Function: unsigned long long fract __satfractuhqudq2 |
| (unsigned fract A) |
| -- Runtime Function: unsigned short accum __satfractuhquha (unsigned |
| fract A) |
| -- Runtime Function: unsigned accum __satfractuhqusa (unsigned fract A) |
| -- Runtime Function: unsigned long accum __satfractuhquda (unsigned |
| fract A) |
| -- Runtime Function: unsigned long long accum __satfractuhquta |
| (unsigned fract A) |
| -- Runtime Function: short fract __satfractusqqq (unsigned long fract |
| A) |
| -- Runtime Function: fract __satfractusqhq (unsigned long fract A) |
| -- Runtime Function: long fract __satfractusqsq (unsigned long fract A) |
| -- Runtime Function: long long fract __satfractusqdq (unsigned long |
| fract A) |
| -- Runtime Function: short accum __satfractusqha (unsigned long fract |
| A) |
| -- Runtime Function: accum __satfractusqsa (unsigned long fract A) |
| -- Runtime Function: long accum __satfractusqda (unsigned long fract A) |
| -- Runtime Function: long long accum __satfractusqta (unsigned long |
| fract A) |
| -- Runtime Function: unsigned short fract __satfractusquqq2 (unsigned |
| long fract A) |
| -- Runtime Function: unsigned fract __satfractusquhq2 (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long long fract __satfractusqudq2 |
| (unsigned long fract A) |
| -- Runtime Function: unsigned short accum __satfractusquha (unsigned |
| long fract A) |
| -- Runtime Function: unsigned accum __satfractusqusa (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long accum __satfractusquda (unsigned |
| long fract A) |
| -- Runtime Function: unsigned long long accum __satfractusquta |
| (unsigned long fract A) |
| -- Runtime Function: short fract __satfractudqqq (unsigned long long |
| fract A) |
| -- Runtime Function: fract __satfractudqhq (unsigned long long fract A) |
| -- Runtime Function: long fract __satfractudqsq (unsigned long long |
| fract A) |
| -- Runtime Function: long long fract __satfractudqdq (unsigned long |
| long fract A) |
| -- Runtime Function: short accum __satfractudqha (unsigned long long |
| fract A) |
| -- Runtime Function: accum __satfractudqsa (unsigned long long fract A) |
| -- Runtime Function: long accum __satfractudqda (unsigned long long |
| fract A) |
| -- Runtime Function: long long accum __satfractudqta (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned short fract __satfractudquqq2 (unsigned |
| long long fract A) |
| -- Runtime Function: unsigned fract __satfractudquhq2 (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned long fract __satfractudqusq2 (unsigned |
| long long fract A) |
| -- Runtime Function: unsigned short accum __satfractudquha (unsigned |
| long long fract A) |
| -- Runtime Function: unsigned accum __satfractudqusa (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned long accum __satfractudquda (unsigned |
| long long fract A) |
| -- Runtime Function: unsigned long long accum __satfractudquta |
| (unsigned long long fract A) |
| -- Runtime Function: short fract __satfractuhaqq (unsigned short accum |
| A) |
| -- Runtime Function: fract __satfractuhahq (unsigned short accum A) |
| -- Runtime Function: long fract __satfractuhasq (unsigned short accum |
| A) |
| -- Runtime Function: long long fract __satfractuhadq (unsigned short |
| accum A) |
| -- Runtime Function: short accum __satfractuhaha (unsigned short accum |
| A) |
| -- Runtime Function: accum __satfractuhasa (unsigned short accum A) |
| -- Runtime Function: long accum __satfractuhada (unsigned short accum |
| A) |
| -- Runtime Function: long long accum __satfractuhata (unsigned short |
| accum A) |
| -- Runtime Function: unsigned short fract __satfractuhauqq (unsigned |
| short accum A) |
| -- Runtime Function: unsigned fract __satfractuhauhq (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long fract __satfractuhausq (unsigned |
| short accum A) |
| -- Runtime Function: unsigned long long fract __satfractuhaudq |
| (unsigned short accum A) |
| -- Runtime Function: unsigned accum __satfractuhausa2 (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long accum __satfractuhauda2 (unsigned |
| short accum A) |
| -- Runtime Function: unsigned long long accum __satfractuhauta2 |
| (unsigned short accum A) |
| -- Runtime Function: short fract __satfractusaqq (unsigned accum A) |
| -- Runtime Function: fract __satfractusahq (unsigned accum A) |
| -- Runtime Function: long fract __satfractusasq (unsigned accum A) |
| -- Runtime Function: long long fract __satfractusadq (unsigned accum A) |
| -- Runtime Function: short accum __satfractusaha (unsigned accum A) |
| -- Runtime Function: accum __satfractusasa (unsigned accum A) |
| -- Runtime Function: long accum __satfractusada (unsigned accum A) |
| -- Runtime Function: long long accum __satfractusata (unsigned accum A) |
| -- Runtime Function: unsigned short fract __satfractusauqq (unsigned |
| accum A) |
| -- Runtime Function: unsigned fract __satfractusauhq (unsigned accum A) |
| -- Runtime Function: unsigned long fract __satfractusausq (unsigned |
| accum A) |
| -- Runtime Function: unsigned long long fract __satfractusaudq |
| (unsigned accum A) |
| -- Runtime Function: unsigned short accum __satfractusauha2 (unsigned |
| accum A) |
| -- Runtime Function: unsigned long accum __satfractusauda2 (unsigned |
| accum A) |
| -- Runtime Function: unsigned long long accum __satfractusauta2 |
| (unsigned accum A) |
| -- Runtime Function: short fract __satfractudaqq (unsigned long accum |
| A) |
| -- Runtime Function: fract __satfractudahq (unsigned long accum A) |
| -- Runtime Function: long fract __satfractudasq (unsigned long accum A) |
| -- Runtime Function: long long fract __satfractudadq (unsigned long |
| accum A) |
| -- Runtime Function: short accum __satfractudaha (unsigned long accum |
| A) |
| -- Runtime Function: accum __satfractudasa (unsigned long accum A) |
| -- Runtime Function: long accum __satfractudada (unsigned long accum A) |
| -- Runtime Function: long long accum __satfractudata (unsigned long |
| accum A) |
| -- Runtime Function: unsigned short fract __satfractudauqq (unsigned |
| long accum A) |
| -- Runtime Function: unsigned fract __satfractudauhq (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long fract __satfractudausq (unsigned |
| long accum A) |
| -- Runtime Function: unsigned long long fract __satfractudaudq |
| (unsigned long accum A) |
| -- Runtime Function: unsigned short accum __satfractudauha2 (unsigned |
| long accum A) |
| -- Runtime Function: unsigned accum __satfractudausa2 (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long long accum __satfractudauta2 |
| (unsigned long accum A) |
| -- Runtime Function: short fract __satfractutaqq (unsigned long long |
| accum A) |
| -- Runtime Function: fract __satfractutahq (unsigned long long accum A) |
| -- Runtime Function: long fract __satfractutasq (unsigned long long |
| accum A) |
| -- Runtime Function: long long fract __satfractutadq (unsigned long |
| long accum A) |
| -- Runtime Function: short accum __satfractutaha (unsigned long long |
| accum A) |
| -- Runtime Function: accum __satfractutasa (unsigned long long accum A) |
| -- Runtime Function: long accum __satfractutada (unsigned long long |
| accum A) |
| -- Runtime Function: long long accum __satfractutata (unsigned long |
| long accum A) |
| -- Runtime Function: unsigned short fract __satfractutauqq (unsigned |
| long long accum A) |
| -- Runtime Function: unsigned fract __satfractutauhq (unsigned long |
| long accum A) |
| -- Runtime Function: unsigned long fract __satfractutausq (unsigned |
| long long accum A) |
| -- Runtime Function: unsigned long long fract __satfractutaudq |
| (unsigned long long accum A) |
| -- Runtime Function: unsigned short accum __satfractutauha2 (unsigned |
| long long accum A) |
| -- Runtime Function: unsigned accum __satfractutausa2 (unsigned long |
| long accum A) |
| -- Runtime Function: unsigned long accum __satfractutauda2 (unsigned |
| long long accum A) |
| -- Runtime Function: short fract __satfractqiqq (signed char A) |
| -- Runtime Function: fract __satfractqihq (signed char A) |
| -- Runtime Function: long fract __satfractqisq (signed char A) |
| -- Runtime Function: long long fract __satfractqidq (signed char A) |
| -- Runtime Function: short accum __satfractqiha (signed char A) |
| -- Runtime Function: accum __satfractqisa (signed char A) |
| -- Runtime Function: long accum __satfractqida (signed char A) |
| -- Runtime Function: long long accum __satfractqita (signed char A) |
| -- Runtime Function: unsigned short fract __satfractqiuqq (signed char |
| A) |
| -- Runtime Function: unsigned fract __satfractqiuhq (signed char A) |
| -- Runtime Function: unsigned long fract __satfractqiusq (signed char |
| A) |
| -- Runtime Function: unsigned long long fract __satfractqiudq (signed |
| char A) |
| -- Runtime Function: unsigned short accum __satfractqiuha (signed char |
| A) |
| -- Runtime Function: unsigned accum __satfractqiusa (signed char A) |
| -- Runtime Function: unsigned long accum __satfractqiuda (signed char |
| A) |
| -- Runtime Function: unsigned long long accum __satfractqiuta (signed |
| char A) |
| -- Runtime Function: short fract __satfracthiqq (short A) |
| -- Runtime Function: fract __satfracthihq (short A) |
| -- Runtime Function: long fract __satfracthisq (short A) |
| -- Runtime Function: long long fract __satfracthidq (short A) |
| -- Runtime Function: short accum __satfracthiha (short A) |
| -- Runtime Function: accum __satfracthisa (short A) |
| -- Runtime Function: long accum __satfracthida (short A) |
| -- Runtime Function: long long accum __satfracthita (short A) |
| -- Runtime Function: unsigned short fract __satfracthiuqq (short A) |
| -- Runtime Function: unsigned fract __satfracthiuhq (short A) |
| -- Runtime Function: unsigned long fract __satfracthiusq (short A) |
| -- Runtime Function: unsigned long long fract __satfracthiudq (short A) |
| -- Runtime Function: unsigned short accum __satfracthiuha (short A) |
| -- Runtime Function: unsigned accum __satfracthiusa (short A) |
| -- Runtime Function: unsigned long accum __satfracthiuda (short A) |
| -- Runtime Function: unsigned long long accum __satfracthiuta (short A) |
| -- Runtime Function: short fract __satfractsiqq (int A) |
| -- Runtime Function: fract __satfractsihq (int A) |
| -- Runtime Function: long fract __satfractsisq (int A) |
| -- Runtime Function: long long fract __satfractsidq (int A) |
| -- Runtime Function: short accum __satfractsiha (int A) |
| -- Runtime Function: accum __satfractsisa (int A) |
| -- Runtime Function: long accum __satfractsida (int A) |
| -- Runtime Function: long long accum __satfractsita (int A) |
| -- Runtime Function: unsigned short fract __satfractsiuqq (int A) |
| -- Runtime Function: unsigned fract __satfractsiuhq (int A) |
| -- Runtime Function: unsigned long fract __satfractsiusq (int A) |
| -- Runtime Function: unsigned long long fract __satfractsiudq (int A) |
| -- Runtime Function: unsigned short accum __satfractsiuha (int A) |
| -- Runtime Function: unsigned accum __satfractsiusa (int A) |
| -- Runtime Function: unsigned long accum __satfractsiuda (int A) |
| -- Runtime Function: unsigned long long accum __satfractsiuta (int A) |
| -- Runtime Function: short fract __satfractdiqq (long A) |
| -- Runtime Function: fract __satfractdihq (long A) |
| -- Runtime Function: long fract __satfractdisq (long A) |
| -- Runtime Function: long long fract __satfractdidq (long A) |
| -- Runtime Function: short accum __satfractdiha (long A) |
| -- Runtime Function: accum __satfractdisa (long A) |
| -- Runtime Function: long accum __satfractdida (long A) |
| -- Runtime Function: long long accum __satfractdita (long A) |
| -- Runtime Function: unsigned short fract __satfractdiuqq (long A) |
| -- Runtime Function: unsigned fract __satfractdiuhq (long A) |
| -- Runtime Function: unsigned long fract __satfractdiusq (long A) |
| -- Runtime Function: unsigned long long fract __satfractdiudq (long A) |
| -- Runtime Function: unsigned short accum __satfractdiuha (long A) |
| -- Runtime Function: unsigned accum __satfractdiusa (long A) |
| -- Runtime Function: unsigned long accum __satfractdiuda (long A) |
| -- Runtime Function: unsigned long long accum __satfractdiuta (long A) |
| -- Runtime Function: short fract __satfracttiqq (long long A) |
| -- Runtime Function: fract __satfracttihq (long long A) |
| -- Runtime Function: long fract __satfracttisq (long long A) |
| -- Runtime Function: long long fract __satfracttidq (long long A) |
| -- Runtime Function: short accum __satfracttiha (long long A) |
| -- Runtime Function: accum __satfracttisa (long long A) |
| -- Runtime Function: long accum __satfracttida (long long A) |
| -- Runtime Function: long long accum __satfracttita (long long A) |
| -- Runtime Function: unsigned short fract __satfracttiuqq (long long A) |
| -- Runtime Function: unsigned fract __satfracttiuhq (long long A) |
| -- Runtime Function: unsigned long fract __satfracttiusq (long long A) |
| -- Runtime Function: unsigned long long fract __satfracttiudq (long |
| long A) |
| -- Runtime Function: unsigned short accum __satfracttiuha (long long A) |
| -- Runtime Function: unsigned accum __satfracttiusa (long long A) |
| -- Runtime Function: unsigned long accum __satfracttiuda (long long A) |
| -- Runtime Function: unsigned long long accum __satfracttiuta (long |
| long A) |
| -- Runtime Function: short fract __satfractsfqq (float A) |
| -- Runtime Function: fract __satfractsfhq (float A) |
| -- Runtime Function: long fract __satfractsfsq (float A) |
| -- Runtime Function: long long fract __satfractsfdq (float A) |
| -- Runtime Function: short accum __satfractsfha (float A) |
| -- Runtime Function: accum __satfractsfsa (float A) |
| -- Runtime Function: long accum __satfractsfda (float A) |
| -- Runtime Function: long long accum __satfractsfta (float A) |
| -- Runtime Function: unsigned short fract __satfractsfuqq (float A) |
| -- Runtime Function: unsigned fract __satfractsfuhq (float A) |
| -- Runtime Function: unsigned long fract __satfractsfusq (float A) |
| -- Runtime Function: unsigned long long fract __satfractsfudq (float A) |
| -- Runtime Function: unsigned short accum __satfractsfuha (float A) |
| -- Runtime Function: unsigned accum __satfractsfusa (float A) |
| -- Runtime Function: unsigned long accum __satfractsfuda (float A) |
| -- Runtime Function: unsigned long long accum __satfractsfuta (float A) |
| -- Runtime Function: short fract __satfractdfqq (double A) |
| -- Runtime Function: fract __satfractdfhq (double A) |
| -- Runtime Function: long fract __satfractdfsq (double A) |
| -- Runtime Function: long long fract __satfractdfdq (double A) |
| -- Runtime Function: short accum __satfractdfha (double A) |
| -- Runtime Function: accum __satfractdfsa (double A) |
| -- Runtime Function: long accum __satfractdfda (double A) |
| -- Runtime Function: long long accum __satfractdfta (double A) |
| -- Runtime Function: unsigned short fract __satfractdfuqq (double A) |
| -- Runtime Function: unsigned fract __satfractdfuhq (double A) |
| -- Runtime Function: unsigned long fract __satfractdfusq (double A) |
| -- Runtime Function: unsigned long long fract __satfractdfudq (double |
| A) |
| -- Runtime Function: unsigned short accum __satfractdfuha (double A) |
| -- Runtime Function: unsigned accum __satfractdfusa (double A) |
| -- Runtime Function: unsigned long accum __satfractdfuda (double A) |
| -- Runtime Function: unsigned long long accum __satfractdfuta (double |
| A) |
| The functions convert from fractional and signed non-fractionals to |
| fractionals, with saturation. |
| |
| -- Runtime Function: unsigned char __fractunsqqqi (short fract A) |
| -- Runtime Function: unsigned short __fractunsqqhi (short fract A) |
| -- Runtime Function: unsigned int __fractunsqqsi (short fract A) |
| -- Runtime Function: unsigned long __fractunsqqdi (short fract A) |
| -- Runtime Function: unsigned long long __fractunsqqti (short fract A) |
| -- Runtime Function: unsigned char __fractunshqqi (fract A) |
| -- Runtime Function: unsigned short __fractunshqhi (fract A) |
| -- Runtime Function: unsigned int __fractunshqsi (fract A) |
| -- Runtime Function: unsigned long __fractunshqdi (fract A) |
| -- Runtime Function: unsigned long long __fractunshqti (fract A) |
| -- Runtime Function: unsigned char __fractunssqqi (long fract A) |
| -- Runtime Function: unsigned short __fractunssqhi (long fract A) |
| -- Runtime Function: unsigned int __fractunssqsi (long fract A) |
| -- Runtime Function: unsigned long __fractunssqdi (long fract A) |
| -- Runtime Function: unsigned long long __fractunssqti (long fract A) |
| -- Runtime Function: unsigned char __fractunsdqqi (long long fract A) |
| -- Runtime Function: unsigned short __fractunsdqhi (long long fract A) |
| -- Runtime Function: unsigned int __fractunsdqsi (long long fract A) |
| -- Runtime Function: unsigned long __fractunsdqdi (long long fract A) |
| -- Runtime Function: unsigned long long __fractunsdqti (long long |
| fract A) |
| -- Runtime Function: unsigned char __fractunshaqi (short accum A) |
| -- Runtime Function: unsigned short __fractunshahi (short accum A) |
| -- Runtime Function: unsigned int __fractunshasi (short accum A) |
| -- Runtime Function: unsigned long __fractunshadi (short accum A) |
| -- Runtime Function: unsigned long long __fractunshati (short accum A) |
| -- Runtime Function: unsigned char __fractunssaqi (accum A) |
| -- Runtime Function: unsigned short __fractunssahi (accum A) |
| -- Runtime Function: unsigned int __fractunssasi (accum A) |
| -- Runtime Function: unsigned long __fractunssadi (accum A) |
| -- Runtime Function: unsigned long long __fractunssati (accum A) |
| -- Runtime Function: unsigned char __fractunsdaqi (long accum A) |
| -- Runtime Function: unsigned short __fractunsdahi (long accum A) |
| -- Runtime Function: unsigned int __fractunsdasi (long accum A) |
| -- Runtime Function: unsigned long __fractunsdadi (long accum A) |
| -- Runtime Function: unsigned long long __fractunsdati (long accum A) |
| -- Runtime Function: unsigned char __fractunstaqi (long long accum A) |
| -- Runtime Function: unsigned short __fractunstahi (long long accum A) |
| -- Runtime Function: unsigned int __fractunstasi (long long accum A) |
| -- Runtime Function: unsigned long __fractunstadi (long long accum A) |
| -- Runtime Function: unsigned long long __fractunstati (long long |
| accum A) |
| -- Runtime Function: unsigned char __fractunsuqqqi (unsigned short |
| fract A) |
| -- Runtime Function: unsigned short __fractunsuqqhi (unsigned short |
| fract A) |
| -- Runtime Function: unsigned int __fractunsuqqsi (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long __fractunsuqqdi (unsigned short |
| fract A) |
| -- Runtime Function: unsigned long long __fractunsuqqti (unsigned |
| short fract A) |
| -- Runtime Function: unsigned char __fractunsuhqqi (unsigned fract A) |
| -- Runtime Function: unsigned short __fractunsuhqhi (unsigned fract A) |
| -- Runtime Function: unsigned int __fractunsuhqsi (unsigned fract A) |
| -- Runtime Function: unsigned long __fractunsuhqdi (unsigned fract A) |
| -- Runtime Function: unsigned long long __fractunsuhqti (unsigned |
| fract A) |
| -- Runtime Function: unsigned char __fractunsusqqi (unsigned long |
| fract A) |
| -- Runtime Function: unsigned short __fractunsusqhi (unsigned long |
| fract A) |
| -- Runtime Function: unsigned int __fractunsusqsi (unsigned long fract |
| A) |
| -- Runtime Function: unsigned long __fractunsusqdi (unsigned long |
| fract A) |
| -- Runtime Function: unsigned long long __fractunsusqti (unsigned long |
| fract A) |
| -- Runtime Function: unsigned char __fractunsudqqi (unsigned long long |
| fract A) |
| -- Runtime Function: unsigned short __fractunsudqhi (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned int __fractunsudqsi (unsigned long long |
| fract A) |
| -- Runtime Function: unsigned long __fractunsudqdi (unsigned long long |
| fract A) |
| -- Runtime Function: unsigned long long __fractunsudqti (unsigned long |
| long fract A) |
| -- Runtime Function: unsigned char __fractunsuhaqi (unsigned short |
| accum A) |
| -- Runtime Function: unsigned short __fractunsuhahi (unsigned short |
| accum A) |
| -- Runtime Function: unsigned int __fractunsuhasi (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long __fractunsuhadi (unsigned short |
| accum A) |
| -- Runtime Function: unsigned long long __fractunsuhati (unsigned |
| short accum A) |
| -- Runtime Function: unsigned char __fractunsusaqi (unsigned accum A) |
| -- Runtime Function: unsigned short __fractunsusahi (unsigned accum A) |
| -- Runtime Function: unsigned int __fractunsusasi (unsigned accum A) |
| -- Runtime Function: unsigned long __fractunsusadi (unsigned accum A) |
| -- Runtime Function: unsigned long long __fractunsusati (unsigned |
| accum A) |
| -- Runtime Function: unsigned char __fractunsudaqi (unsigned long |
| accum A) |
| -- Runtime Function: unsigned short __fractunsudahi (unsigned long |
| accum A) |
| -- Runtime Function: unsigned int __fractunsudasi (unsigned long accum |
| A) |
| -- Runtime Function: unsigned long __fractunsudadi (unsigned long |
| accum A) |
| -- Runtime Function: unsigned long long __fractunsudati (unsigned long |
| accum A) |
| -- Runtime Function: unsigned char __fractunsutaqi (unsigned long long |
| accum A) |
| -- Runtime Function: unsigned short __fractunsutahi (unsigned long |
| long accum A) |
| -- Runtime Function: unsigned int __fractunsutasi (unsigned long long |
| accum A) |
| -- Runtime Function: unsigned long __fractunsutadi (unsigned long long |
| accum A) |
| -- Runtime Function: unsigned long long __fractunsutati (unsigned long |
| long accum A) |
| -- Runtime Function: short fract __fractunsqiqq (unsigned char A) |
| -- Runtime Function: fract __fractunsqihq (unsigned char A) |
| -- Runtime Function: long fract __fractunsqisq (unsigned char A) |
| -- Runtime Function: long long fract __fractunsqidq (unsigned char A) |
| -- Runtime Function: short accum __fractunsqiha (unsigned char A) |
| -- Runtime Function: accum __fractunsqisa (unsigned char A) |
| -- Runtime Function: long accum __fractunsqida (unsigned char A) |
| -- Runtime Function: long long accum __fractunsqita (unsigned char A) |
| -- Runtime Function: unsigned short fract __fractunsqiuqq (unsigned |
| char A) |
| -- Runtime Function: unsigned fract __fractunsqiuhq (unsigned char A) |
| -- Runtime Function: unsigned long fract __fractunsqiusq (unsigned |
| char A) |
| -- Runtime Function: unsigned long long fract __fractunsqiudq |
| (unsigned char A) |
| -- Runtime Function: unsigned short accum __fractunsqiuha (unsigned |
| char A) |
| -- Runtime Function: unsigned accum __fractunsqiusa (unsigned char A) |
| -- Runtime Function: unsigned long accum __fractunsqiuda (unsigned |
| char A) |
| -- Runtime Function: unsigned long long accum __fractunsqiuta |
| (unsigned char A) |
| -- Runtime Function: short fract __fractunshiqq (unsigned short A) |
| -- Runtime Function: fract __fractunshihq (unsigned short A) |
| -- Runtime Function: long fract __fractunshisq (unsigned short A) |
| -- Runtime Function: long long fract __fractunshidq (unsigned short A) |
| -- Runtime Function: short accum __fractunshiha (unsigned short A) |
| -- Runtime Function: accum __fractunshisa (unsigned short A) |
| -- Runtime Function: long accum __fractunshida (unsigned short A) |
| -- Runtime Function: long long accum __fractunshita (unsigned short A) |
| -- Runtime Function: unsigned short fract __fractunshiuqq (unsigned |
| short A) |
| -- Runtime Function: unsigned fract __fractunshiuhq (unsigned short A) |
| -- Runtime Function: unsigned long fract __fractunshiusq (unsigned |
| short A) |
| -- Runtime Function: unsigned long long fract __fractunshiudq |
| (unsigned short A) |
| -- Runtime Function: unsigned short accum __fractunshiuha (unsigned |
| short A) |
| -- Runtime Function: unsigned accum __fractunshiusa (unsigned short A) |
| -- Runtime Function: unsigned long accum __fractunshiuda (unsigned |
| short A) |
| -- Runtime Function: unsigned long long accum __fractunshiuta |
| (unsigned short A) |
| -- Runtime Function: short fract __fractunssiqq (unsigned int A) |
| -- Runtime Function: fract __fractunssihq (unsigned int A) |
| -- Runtime Function: long fract __fractunssisq (unsigned int A) |
| -- Runtime Function: long long fract __fractunssidq (unsigned int A) |
| -- Runtime Function: short accum __fractunssiha (unsigned int A) |
| -- Runtime Function: accum __fractunssisa (unsigned int A) |
| -- Runtime Function: long accum __fractunssida (unsigned int A) |
| -- Runtime Function: long long accum __fractunssita (unsigned int A) |
| -- Runtime Function: unsigned short fract __fractunssiuqq (unsigned |
| int A) |
| -- Runtime Function: unsigned fract __fractunssiuhq (unsigned int A) |
| -- Runtime Function: unsigned long fract __fractunssiusq (unsigned int |
| A) |
| -- Runtime Function: unsigned long long fract __fractunssiudq |
| (unsigned int A) |
| -- Runtime Function: unsigned short accum __fractunssiuha (unsigned |
| int A) |
| -- Runtime Function: unsigned accum __fractunssiusa (unsigned int A) |
| -- Runtime Function: unsigned long accum __fractunssiuda (unsigned int |
| A) |
| -- Runtime Function: unsigned long long accum __fractunssiuta |
| (unsigned int A) |
| -- Runtime Function: short fract __fractunsdiqq (unsigned long A) |
| -- Runtime Function: fract __fractunsdihq (unsigned long A) |
| -- Runtime Function: long fract __fractunsdisq (unsigned long A) |
| -- Runtime Function: long long fract __fractunsdidq (unsigned long A) |
| -- Runtime Function: short accum __fractunsdiha (unsigned long A) |
| -- Runtime Function: accum __fractunsdisa (unsigned long A) |
| -- Runtime Function: long accum __fractunsdida (unsigned long A) |
| -- Runtime Function: long long accum __fractunsdita (unsigned long A) |
| -- Runtime Function: unsigned short fract __fractunsdiuqq (unsigned |
| long A) |
| -- Runtime Function: unsigned fract __fractunsdiuhq (unsigned long A) |
| -- Runtime Function: unsigned long fract __fractunsdiusq (unsigned |
| long A) |
| -- Runtime Function: unsigned long long fract __fractunsdiudq |
| (unsigned long A) |
| -- Runtime Function: unsigned short accum __fractunsdiuha (unsigned |
| long A) |
| -- Runtime Function: unsigned accum __fractunsdiusa (unsigned long A) |
| -- Runtime Function: unsigned long accum __fractunsdiuda (unsigned |
| long A) |
| -- Runtime Function: unsigned long long accum __fractunsdiuta |
| (unsigned long A) |
| -- Runtime Function: short fract __fractunstiqq (unsigned long long A) |
| -- Runtime Function: fract __fractunstihq (unsigned long long A) |
| -- Runtime Function: long fract __fractunstisq (unsigned long long A) |
| -- Runtime Function: long long fract __fractunstidq (unsigned long |
| long A) |
| -- Runtime Function: short accum __fractunstiha (unsigned long long A) |
| -- Runtime Function: accum __fractunstisa (unsigned long long A) |
| -- Runtime Function: long accum __fractunstida (unsigned long long A) |
| -- Runtime Function: long long accum __fractunstita (unsigned long |
| long A) |
| -- Runtime Function: unsigned short fract __fractunstiuqq (unsigned |
| long long A) |
| -- Runtime Function: unsigned fract __fractunstiuhq (unsigned long |
| long A) |
| -- Runtime Function: unsigned long fract __fractunstiusq (unsigned |
| long long A) |
| -- Runtime Function: unsigned long long fract __fractunstiudq |
| (unsigned long long A) |
| -- Runtime Function: unsigned short accum __fractunstiuha (unsigned |
| long long A) |
| -- Runtime Function: unsigned accum __fractunstiusa (unsigned long |
| long A) |
| -- Runtime Function: unsigned long accum __fractunstiuda (unsigned |
| long long A) |
| -- Runtime Function: unsigned long long accum __fractunstiuta |
| (unsigned long long A) |
| These functions convert from fractionals to unsigned |
| non-fractionals; and from unsigned non-fractionals to fractionals, |
| without saturation. |
| |
| -- Runtime Function: short fract __satfractunsqiqq (unsigned char A) |
| -- Runtime Function: fract __satfractunsqihq (unsigned char A) |
| -- Runtime Function: long fract __satfractunsqisq (unsigned char A) |
| -- Runtime Function: long long fract __satfractunsqidq (unsigned char |
| A) |
| -- Runtime Function: short accum __satfractunsqiha (unsigned char A) |
| -- Runtime Function: accum __satfractunsqisa (unsigned char A) |
| -- Runtime Function: long accum __satfractunsqida (unsigned char A) |
| -- Runtime Function: long long accum __satfractunsqita (unsigned char |
| A) |
| -- Runtime Function: unsigned short fract __satfractunsqiuqq (unsigned |
| char A) |
| -- Runtime Function: unsigned fract __satfractunsqiuhq (unsigned char |
| A) |
| -- Runtime Function: unsigned long fract __satfractunsqiusq (unsigned |
| char A) |
| -- Runtime Function: unsigned long long fract __satfractunsqiudq |
| (unsigned char A) |
| -- Runtime Function: unsigned short accum __satfractunsqiuha (unsigned |
| char A) |
| -- Runtime Function: unsigned accum __satfractunsqiusa (unsigned char |
| A) |
| -- Runtime Function: unsigned long accum __satfractunsqiuda (unsigned |
| char A) |
| -- Runtime Function: unsigned long long accum __satfractunsqiuta |
| (unsigned char A) |
| -- Runtime Function: short fract __satfractunshiqq (unsigned short A) |
| -- Runtime Function: fract __satfractunshihq (unsigned short A) |
| -- Runtime Function: long fract __satfractunshisq (unsigned short A) |
| -- Runtime Function: long long fract __satfractunshidq (unsigned short |
| A) |
| -- Runtime Function: short accum __satfractunshiha (unsigned short A) |
| -- Runtime Function: accum __satfractunshisa (unsigned short A) |
| -- Runtime Function: long accum __satfractunshida (unsigned short A) |
| -- Runtime Function: long long accum __satfractunshita (unsigned short |
| A) |
| -- Runtime Function: unsigned short fract __satfractunshiuqq (unsigned |
| short A) |
| -- Runtime Function: unsigned fract __satfractunshiuhq (unsigned short |
| A) |
| -- Runtime Function: unsigned long fract __satfractunshiusq (unsigned |
| short A) |
| -- Runtime Function: unsigned long long fract __satfractunshiudq |
| (unsigned short A) |
| -- Runtime Function: unsigned short accum __satfractunshiuha (unsigned |
| short A) |
| -- Runtime Function: unsigned accum __satfractunshiusa (unsigned short |
| A) |
| -- Runtime Function: unsigned long accum __satfractunshiuda (unsigned |
| short A) |
| -- Runtime Function: unsigned long long accum __satfractunshiuta |
| (unsigned short A) |
| -- Runtime Function: short fract __satfractunssiqq (unsigned int A) |
| -- Runtime Function: fract __satfractunssihq (unsigned int A) |
| -- Runtime Function: long fract __satfractunssisq (unsigned int A) |
| -- Runtime Function: long long fract __satfractunssidq (unsigned int A) |
| -- Runtime Function: short accum __satfractunssiha (unsigned int A) |
| -- Runtime Function: accum __satfractunssisa (unsigned int A) |
| -- Runtime Function: long accum __satfractunssida (unsigned int A) |
| -- Runtime Function: long long accum __satfractunssita (unsigned int A) |
| -- Runtime Function: unsigned short fract __satfractunssiuqq (unsigned |
| int A) |
| -- Runtime Function: unsigned fract __satfractunssiuhq (unsigned int A) |
| -- Runtime Function: unsigned long fract __satfractunssiusq (unsigned |
| int A) |
| -- Runtime Function: unsigned long long fract __satfractunssiudq |
| (unsigned int A) |
| -- Runtime Function: unsigned short accum __satfractunssiuha (unsigned |
| int A) |
| -- Runtime Function: unsigned accum __satfractunssiusa (unsigned int A) |
| -- Runtime Function: unsigned long accum __satfractunssiuda (unsigned |
| int A) |
| -- Runtime Function: unsigned long long accum __satfractunssiuta |
| (unsigned int A) |
| -- Runtime Function: short fract __satfractunsdiqq (unsigned long A) |
| -- Runtime Function: fract __satfractunsdihq (unsigned long A) |
| -- Runtime Function: long fract __satfractunsdisq (unsigned long A) |
| -- Runtime Function: long long fract __satfractunsdidq (unsigned long |
| A) |
| -- Runtime Function: short accum __satfractunsdiha (unsigned long A) |
| -- Runtime Function: accum __satfractunsdisa (unsigned long A) |
| -- Runtime Function: long accum __satfractunsdida (unsigned long A) |
| -- Runtime Function: long long accum __satfractunsdita (unsigned long |
| A) |
| -- Runtime Function: unsigned short fract __satfractunsdiuqq (unsigned |
| long A) |
| -- Runtime Function: unsigned fract __satfractunsdiuhq (unsigned long |
| A) |
| -- Runtime Function: unsigned long fract __satfractunsdiusq (unsigned |
| long A) |
| -- Runtime Function: unsigned long long fract __satfractunsdiudq |
| (unsigned long A) |
| -- Runtime Function: unsigned short accum __satfractunsdiuha (unsigned |
| long A) |
| -- Runtime Function: unsigned accum __satfractunsdiusa (unsigned long |
| A) |
| -- Runtime Function: unsigned long accum __satfractunsdiuda (unsigned |
| long A) |
| -- Runtime Function: unsigned long long accum __satfractunsdiuta |
| (unsigned long A) |
| -- Runtime Function: short fract __satfractunstiqq (unsigned long long |
| A) |
| -- Runtime Function: fract __satfractunstihq (unsigned long long A) |
| -- Runtime Function: long fract __satfractunstisq (unsigned long long |
| A) |
| -- Runtime Function: long long fract __satfractunstidq (unsigned long |
| long A) |
| -- Runtime Function: short accum __satfractunstiha (unsigned long long |
| A) |
| -- Runtime Function: accum __satfractunstisa (unsigned long long A) |
| -- Runtime Function: long accum __satfractunstida (unsigned long long |
| A) |
| -- Runtime Function: long long accum __satfractunstita (unsigned long |
| long A) |
| -- Runtime Function: unsigned short fract __satfractunstiuqq (unsigned |
| long long A) |
| -- Runtime Function: unsigned fract __satfractunstiuhq (unsigned long |
| long A) |
| -- Runtime Function: unsigned long fract __satfractunstiusq (unsigned |
| long long A) |
| -- Runtime Function: unsigned long long fract __satfractunstiudq |
| (unsigned long long A) |
| -- Runtime Function: unsigned short accum __satfractunstiuha (unsigned |
| long long A) |
| -- Runtime Function: unsigned accum __satfractunstiusa (unsigned long |
| long A) |
| -- Runtime Function: unsigned long accum __satfractunstiuda (unsigned |
| long long A) |
| -- Runtime Function: unsigned long long accum __satfractunstiuta |
| (unsigned long long A) |
| These functions convert from unsigned non-fractionals to |
| fractionals, with saturation. |
| |
| |
| File: gccint.info, Node: Exception handling routines, Next: Miscellaneous routines, Prev: Fixed-point fractional library routines, Up: Libgcc |
| |
| 4.5 Language-independent routines for exception handling |
| ======================================================== |
| |
| document me! |
| |
| _Unwind_DeleteException |
| _Unwind_Find_FDE |
| _Unwind_ForcedUnwind |
| _Unwind_GetGR |
| _Unwind_GetIP |
| _Unwind_GetLanguageSpecificData |
| _Unwind_GetRegionStart |
| _Unwind_GetTextRelBase |
| _Unwind_GetDataRelBase |
| _Unwind_RaiseException |
| _Unwind_Resume |
| _Unwind_SetGR |
| _Unwind_SetIP |
| _Unwind_FindEnclosingFunction |
| _Unwind_SjLj_Register |
| _Unwind_SjLj_Unregister |
| _Unwind_SjLj_RaiseException |
| _Unwind_SjLj_ForcedUnwind |
| _Unwind_SjLj_Resume |
| __deregister_frame |
| __deregister_frame_info |
| __deregister_frame_info_bases |
| __register_frame |
| __register_frame_info |
| __register_frame_info_bases |
| __register_frame_info_table |
| __register_frame_info_table_bases |
| __register_frame_table |
| |
| |
| File: gccint.info, Node: Miscellaneous routines, Prev: Exception handling routines, Up: Libgcc |
| |
| 4.6 Miscellaneous runtime library routines |
| ========================================== |
| |
| 4.6.1 Cache control functions |
| ----------------------------- |
| |
| -- Runtime Function: void __clear_cache (char *BEG, char *END) |
| This function clears the instruction cache between BEG and END. |
| |
| |
| File: gccint.info, Node: Languages, Next: Source Tree, Prev: Libgcc, Up: Top |
| |
| 5 Language Front Ends in GCC |
| **************************** |
| |
| The interface to front ends for languages in GCC, and in particular the |
| `tree' structure (*note Trees::), was initially designed for C, and |
| many aspects of it are still somewhat biased towards C and C-like |
| languages. It is, however, reasonably well suited to other procedural |
| languages, and front ends for many such languages have been written for |
| GCC. |
| |
| Writing a compiler as a front end for GCC, rather than compiling |
| directly to assembler or generating C code which is then compiled by |
| GCC, has several advantages: |
| |
| * GCC front ends benefit from the support for many different target |
| machines already present in GCC. |
| |
| * GCC front ends benefit from all the optimizations in GCC. Some of |
| these, such as alias analysis, may work better when GCC is |
| compiling directly from source code then when it is compiling from |
| generated C code. |
| |
| * Better debugging information is generated when compiling directly |
| from source code than when going via intermediate generated C code. |
| |
| Because of the advantages of writing a compiler as a GCC front end, |
| GCC front ends have also been created for languages very different from |
| those for which GCC was designed, such as the declarative |
| logic/functional language Mercury. For these reasons, it may also be |
| useful to implement compilers created for specialized purposes (for |
| example, as part of a research project) as GCC front ends. |
| |
| |
| File: gccint.info, Node: Source Tree, Next: Options, Prev: Languages, Up: Top |
| |
| 6 Source Tree Structure and Build System |
| **************************************** |
| |
| This chapter describes the structure of the GCC source tree, and how |
| GCC is built. The user documentation for building and installing GCC |
| is in a separate manual (`http://gcc.gnu.org/install/'), with which it |
| is presumed that you are familiar. |
| |
| * Menu: |
| |
| * Configure Terms:: Configuration terminology and history. |
| * Top Level:: The top level source directory. |
| * gcc Directory:: The `gcc' subdirectory. |
| * Testsuites:: The GCC testsuites. |
| |
| |
| File: gccint.info, Node: Configure Terms, Next: Top Level, Up: Source Tree |
| |
| 6.1 Configure Terms and History |
| =============================== |
| |
| The configure and build process has a long and colorful history, and can |
| be confusing to anyone who doesn't know why things are the way they are. |
| While there are other documents which describe the configuration process |
| in detail, here are a few things that everyone working on GCC should |
| know. |
| |
| There are three system names that the build knows about: the machine |
| you are building on ("build"), the machine that you are building for |
| ("host"), and the machine that GCC will produce code for ("target"). |
| When you configure GCC, you specify these with `--build=', `--host=', |
| and `--target='. |
| |
| Specifying the host without specifying the build should be avoided, as |
| `configure' may (and once did) assume that the host you specify is also |
| the build, which may not be true. |
| |
| If build, host, and target are all the same, this is called a |
| "native". If build and host are the same but target is different, this |
| is called a "cross". If build, host, and target are all different this |
| is called a "canadian" (for obscure reasons dealing with Canada's |
| political party and the background of the person working on the build |
| at that time). If host and target are the same, but build is |
| different, you are using a cross-compiler to build a native for a |
| different system. Some people call this a "host-x-host", "crossed |
| native", or "cross-built native". If build and target are the same, |
| but host is different, you are using a cross compiler to build a cross |
| compiler that produces code for the machine you're building on. This |
| is rare, so there is no common way of describing it. There is a |
| proposal to call this a "crossback". |
| |
| If build and host are the same, the GCC you are building will also be |
| used to build the target libraries (like `libstdc++'). If build and |
| host are different, you must have already built and installed a cross |
| compiler that will be used to build the target libraries (if you |
| configured with `--target=foo-bar', this compiler will be called |
| `foo-bar-gcc'). |
| |
| In the case of target libraries, the machine you're building for is the |
| machine you specified with `--target'. So, build is the machine you're |
| building on (no change there), host is the machine you're building for |
| (the target libraries are built for the target, so host is the target |
| you specified), and target doesn't apply (because you're not building a |
| compiler, you're building libraries). The configure/make process will |
| adjust these variables as needed. It also sets `$with_cross_host' to |
| the original `--host' value in case you need it. |
| |
| The `libiberty' support library is built up to three times: once for |
| the host, once for the target (even if they are the same), and once for |
| the build if build and host are different. This allows it to be used |
| by all programs which are generated in the course of the build process. |
| |
| |
| File: gccint.info, Node: Top Level, Next: gcc Directory, Prev: Configure Terms, Up: Source Tree |
| |
| 6.2 Top Level Source Directory |
| ============================== |
| |
| The top level source directory in a GCC distribution contains several |
| files and directories that are shared with other software distributions |
| such as that of GNU Binutils. It also contains several subdirectories |
| that contain parts of GCC and its runtime libraries: |
| |
| `boehm-gc' |
| The Boehm conservative garbage collector, used as part of the Java |
| runtime library. |
| |
| `contrib' |
| Contributed scripts that may be found useful in conjunction with |
| GCC. One of these, `contrib/texi2pod.pl', is used to generate man |
| pages from Texinfo manuals as part of the GCC build process. |
| |
| `fastjar' |
| An implementation of the `jar' command, used with the Java front |
| end. |
| |
| `fixincludes' |
| The support for fixing system headers to work with GCC. See |
| `fixincludes/README' for more information. The headers fixed by |
| this mechanism are installed in `LIBSUBDIR/include-fixed'. Along |
| with those headers, `README-fixinc' is also installed, as |
| `LIBSUBDIR/include-fixed/README'. |
| |
| `gcc' |
| The main sources of GCC itself (except for runtime libraries), |
| including optimizers, support for different target architectures, |
| language front ends, and testsuites. *Note The `gcc' |
| Subdirectory: gcc Directory, for details. |
| |
| `include' |
| Headers for the `libiberty' library. |
| |
| `intl' |
| GNU `libintl', from GNU `gettext', for systems which do not |
| include it in libc. |
| |
| `libada' |
| The Ada runtime library. |
| |
| `libcpp' |
| The C preprocessor library. |
| |
| `libgfortran' |
| The Fortran runtime library. |
| |
| `libffi' |
| The `libffi' library, used as part of the Java runtime library. |
| |
| `libiberty' |
| The `libiberty' library, used for portability and for some |
| generally useful data structures and algorithms. *Note |
| Introduction: (libiberty)Top, for more information about this |
| library. |
| |
| `libjava' |
| The Java runtime library. |
| |
| `libmudflap' |
| The `libmudflap' library, used for instrumenting pointer and array |
| dereferencing operations. |
| |
| `libobjc' |
| The Objective-C and Objective-C++ runtime library. |
| |
| `libstdc++-v3' |
| The C++ runtime library. |
| |
| `maintainer-scripts' |
| Scripts used by the `gccadmin' account on `gcc.gnu.org'. |
| |
| `zlib' |
| The `zlib' compression library, used by the Java front end and as |
| part of the Java runtime library. |
| |
| The build system in the top level directory, including how recursion |
| into subdirectories works and how building runtime libraries for |
| multilibs is handled, is documented in a separate manual, included with |
| GNU Binutils. *Note GNU configure and build system: (configure)Top, |
| for details. |
| |
| |
| File: gccint.info, Node: gcc Directory, Next: Testsuites, Prev: Top Level, Up: Source Tree |
| |
| 6.3 The `gcc' Subdirectory |
| ========================== |
| |
| The `gcc' directory contains many files that are part of the C sources |
| of GCC, other files used as part of the configuration and build |
| process, and subdirectories including documentation and a testsuite. |
| The files that are sources of GCC are documented in a separate chapter. |
| *Note Passes and Files of the Compiler: Passes. |
| |
| * Menu: |
| |
| * Subdirectories:: Subdirectories of `gcc'. |
| * Configuration:: The configuration process, and the files it uses. |
| * Build:: The build system in the `gcc' directory. |
| * Makefile:: Targets in `gcc/Makefile'. |
| * Library Files:: Library source files and headers under `gcc/'. |
| * Headers:: Headers installed by GCC. |
| * Documentation:: Building documentation in GCC. |
| * Front End:: Anatomy of a language front end. |
| * Back End:: Anatomy of a target back end. |
| |
| |
| File: gccint.info, Node: Subdirectories, Next: Configuration, Up: gcc Directory |
| |
| 6.3.1 Subdirectories of `gcc' |
| ----------------------------- |
| |
| The `gcc' directory contains the following subdirectories: |
| |
| `LANGUAGE' |
| Subdirectories for various languages. Directories containing a |
| file `config-lang.in' are language subdirectories. The contents of |
| the subdirectories `cp' (for C++), `objc' (for Objective-C) and |
| `objcp' (for Objective-C++) are documented in this manual (*note |
| Passes and Files of the Compiler: Passes.); those for other |
| languages are not. *Note Anatomy of a Language Front End: Front |
| End, for details of the files in these directories. |
| |
| `config' |
| Configuration files for supported architectures and operating |
| systems. *Note Anatomy of a Target Back End: Back End, for |
| details of the files in this directory. |
| |
| `doc' |
| Texinfo documentation for GCC, together with automatically |
| generated man pages and support for converting the installation |
| manual to HTML. *Note Documentation::. |
| |
| `ginclude' |
| System headers installed by GCC, mainly those required by the C |
| standard of freestanding implementations. *Note Headers Installed |
| by GCC: Headers, for details of when these and other headers are |
| installed. |
| |
| `po' |
| Message catalogs with translations of messages produced by GCC into |
| various languages, `LANGUAGE.po'. This directory also contains |
| `gcc.pot', the template for these message catalogues, `exgettext', |
| a wrapper around `gettext' to extract the messages from the GCC |
| sources and create `gcc.pot', which is run by `make gcc.pot', and |
| `EXCLUDES', a list of files from which messages should not be |
| extracted. |
| |
| `testsuite' |
| The GCC testsuites (except for those for runtime libraries). |
| *Note Testsuites::. |
| |
| |
| File: gccint.info, Node: Configuration, Next: Build, Prev: Subdirectories, Up: gcc Directory |
| |
| 6.3.2 Configuration in the `gcc' Directory |
| ------------------------------------------ |
| |
| The `gcc' directory is configured with an Autoconf-generated script |
| `configure'. The `configure' script is generated from `configure.ac' |
| and `aclocal.m4'. From the files `configure.ac' and `acconfig.h', |
| Autoheader generates the file `config.in'. The file `cstamp-h.in' is |
| used as a timestamp. |
| |
| * Menu: |
| |
| * Config Fragments:: Scripts used by `configure'. |
| * System Config:: The `config.build', `config.host', and |
| `config.gcc' files. |
| * Configuration Files:: Files created by running `configure'. |
| |
| |
| File: gccint.info, Node: Config Fragments, Next: System Config, Up: Configuration |
| |
| 6.3.2.1 Scripts Used by `configure' |
| ................................... |
| |
| `configure' uses some other scripts to help in its work: |
| |
| * The standard GNU `config.sub' and `config.guess' files, kept in |
| the top level directory, are used. |
| |
| * The file `config.gcc' is used to handle configuration specific to |
| the particular target machine. The file `config.build' is used to |
| handle configuration specific to the particular build machine. |
| The file `config.host' is used to handle configuration specific to |
| the particular host machine. (In general, these should only be |
| used for features that cannot reasonably be tested in Autoconf |
| feature tests.) *Note The `config.build'; `config.host'; and |
| `config.gcc' Files: System Config, for details of the contents of |
| these files. |
| |
| * Each language subdirectory has a file `LANGUAGE/config-lang.in' |
| that is used for front-end-specific configuration. *Note The |
| Front End `config-lang.in' File: Front End Config, for details of |
| this file. |
| |
| * A helper script `configure.frag' is used as part of creating the |
| output of `configure'. |
| |
| |
| File: gccint.info, Node: System Config, Next: Configuration Files, Prev: Config Fragments, Up: Configuration |
| |
| 6.3.2.2 The `config.build'; `config.host'; and `config.gcc' Files |
| ................................................................. |
| |
| The `config.build' file contains specific rules for particular systems |
| which GCC is built on. This should be used as rarely as possible, as |
| the behavior of the build system can always be detected by autoconf. |
| |
| The `config.host' file contains specific rules for particular systems |
| which GCC will run on. This is rarely needed. |
| |
| The `config.gcc' file contains specific rules for particular systems |
| which GCC will generate code for. This is usually needed. |
| |
| Each file has a list of the shell variables it sets, with |
| descriptions, at the top of the file. |
| |
| FIXME: document the contents of these files, and what variables should |
| be set to control build, host and target configuration. |
| |
| |
| File: gccint.info, Node: Configuration Files, Prev: System Config, Up: Configuration |
| |
| 6.3.2.3 Files Created by `configure' |
| .................................... |
| |
| Here we spell out what files will be set up by `configure' in the `gcc' |
| directory. Some other files are created as temporary files in the |
| configuration process, and are not used in the subsequent build; these |
| are not documented. |
| |
| * `Makefile' is constructed from `Makefile.in', together with the |
| host and target fragments (*note Makefile Fragments: Fragments.) |
| `t-TARGET' and `x-HOST' from `config', if any, and language |
| Makefile fragments `LANGUAGE/Make-lang.in'. |
| |
| * `auto-host.h' contains information about the host machine |
| determined by `configure'. If the host machine is different from |
| the build machine, then `auto-build.h' is also created, containing |
| such information about the build machine. |
| |
| * `config.status' is a script that may be run to recreate the |
| current configuration. |
| |
| * `configargs.h' is a header containing details of the arguments |
| passed to `configure' to configure GCC, and of the thread model |
| used. |
| |
| * `cstamp-h' is used as a timestamp. |
| |
| * `fixinc/Makefile' is constructed from `fixinc/Makefile.in'. |
| |
| * `gccbug', a script for reporting bugs in GCC, is constructed from |
| `gccbug.in'. |
| |
| * `intl/Makefile' is constructed from `intl/Makefile.in'. |
| |
| * If a language `config-lang.in' file (*note The Front End |
| `config-lang.in' File: Front End Config.) sets `outputs', then the |
| files listed in `outputs' there are also generated. |
| |
| The following configuration headers are created from the Makefile, |
| using `mkconfig.sh', rather than directly by `configure'. `config.h', |
| `bconfig.h' and `tconfig.h' all contain the `xm-MACHINE.h' header, if |
| any, appropriate to the host, build and target machines respectively, |
| the configuration headers for the target, and some definitions; for the |
| host and build machines, these include the autoconfigured headers |
| generated by `configure'. The other configuration headers are |
| determined by `config.gcc'. They also contain the typedefs for `rtx', |
| `rtvec' and `tree'. |
| |
| * `config.h', for use in programs that run on the host machine. |
| |
| * `bconfig.h', for use in programs that run on the build machine. |
| |
| * `tconfig.h', for use in programs and libraries for the target |
| machine. |
| |
| * `tm_p.h', which includes the header `MACHINE-protos.h' that |
| contains prototypes for functions in the target `.c' file. FIXME: |
| why is such a separate header necessary? |
| |
| |
| File: gccint.info, Node: Build, Next: Makefile, Prev: Configuration, Up: gcc Directory |
| |
| 6.3.3 Build System in the `gcc' Directory |
| ----------------------------------------- |
| |
| FIXME: describe the build system, including what is built in what |
| stages. Also list the various source files that are used in the build |
| process but aren't source files of GCC itself and so aren't documented |
| below (*note Passes::). |
| |
| |
| File: gccint.info, Node: Makefile, Next: Library Files, Prev: Build, Up: gcc Directory |
| |
| 6.3.4 Makefile Targets |
| ---------------------- |
| |
| These targets are available from the `gcc' directory: |
| |
| `all' |
| This is the default target. Depending on what your |
| build/host/target configuration is, it coordinates all the things |
| that need to be built. |
| |
| `doc' |
| Produce info-formatted documentation and man pages. Essentially it |
| calls `make man' and `make info'. |
| |
| `dvi' |
| Produce DVI-formatted documentation. |
| |
| `pdf' |
| Produce PDF-formatted documentation. |
| |
| `html' |
| Produce HTML-formatted documentation. |
| |
| `man' |
| Generate man pages. |
| |
| `info' |
| Generate info-formatted pages. |
| |
| `mostlyclean' |
| Delete the files made while building the compiler. |
| |
| `clean' |
| That, and all the other files built by `make all'. |
| |
| `distclean' |
| That, and all the files created by `configure'. |
| |
| `maintainer-clean' |
| Distclean plus any file that can be generated from other files. |
| Note that additional tools may be required beyond what is normally |
| needed to build gcc. |
| |
| `srcextra' |
| Generates files in the source directory that do not exist in CVS |
| but should go into a release tarball. One example is |
| `gcc/java/parse.c' which is generated from the CVS source file |
| `gcc/java/parse.y'. |
| |
| `srcinfo' |
| `srcman' |
| Copies the info-formatted and manpage documentation into the source |
| directory usually for the purpose of generating a release tarball. |
| |
| `install' |
| Installs gcc. |
| |
| `uninstall' |
| Deletes installed files. |
| |
| `check' |
| Run the testsuite. This creates a `testsuite' subdirectory that |
| has various `.sum' and `.log' files containing the results of the |
| testing. You can run subsets with, for example, `make check-gcc'. |
| You can specify specific tests by setting RUNTESTFLAGS to be the |
| name of the `.exp' file, optionally followed by (for some tests) |
| an equals and a file wildcard, like: |
| |
| make check-gcc RUNTESTFLAGS="execute.exp=19980413-*" |
| |
| Note that running the testsuite may require additional tools be |
| installed, such as TCL or dejagnu. |
| |
| The toplevel tree from which you start GCC compilation is not the GCC |
| directory, but rather a complex Makefile that coordinates the various |
| steps of the build, including bootstrapping the compiler and using the |
| new compiler to build target libraries. |
| |
| When GCC is configured for a native configuration, the default action |
| for `make' is to do a full three-stage bootstrap. This means that GCC |
| is built three times--once with the native compiler, once with the |
| native-built compiler it just built, and once with the compiler it |
| built the second time. In theory, the last two should produce the same |
| results, which `make compare' can check. Each stage is configured |
| separately and compiled into a separate directory, to minimize problems |
| due to ABI incompatibilities between the native compiler and GCC. |
| |
| If you do a change, rebuilding will also start from the first stage |
| and "bubble" up the change through the three stages. Each stage is |
| taken from its build directory (if it had been built previously), |
| rebuilt, and copied to its subdirectory. This will allow you to, for |
| example, continue a bootstrap after fixing a bug which causes the |
| stage2 build to crash. It does not provide as good coverage of the |
| compiler as bootstrapping from scratch, but it ensures that the new |
| code is syntactically correct (e.g., that you did not use GCC extensions |
| by mistake), and avoids spurious bootstrap comparison failures(1). |
| |
| Other targets available from the top level include: |
| |
| `bootstrap-lean' |
| Like `bootstrap', except that the various stages are removed once |
| they're no longer needed. This saves disk space. |
| |
| `bootstrap2' |
| `bootstrap2-lean' |
| Performs only the first two stages of bootstrap. Unlike a |
| three-stage bootstrap, this does not perform a comparison to test |
| that the compiler is running properly. Note that the disk space |
| required by a "lean" bootstrap is approximately independent of the |
| number of stages. |
| |
| `stageN-bubble (N = 1...4)' |
| Rebuild all the stages up to N, with the appropriate flags, |
| "bubbling" the changes as described above. |
| |
| `all-stageN (N = 1...4)' |
| Assuming that stage N has already been built, rebuild it with the |
| appropriate flags. This is rarely needed. |
| |
| `cleanstrap' |
| Remove everything (`make clean') and rebuilds (`make bootstrap'). |
| |
| `compare' |
| Compares the results of stages 2 and 3. This ensures that the |
| compiler is running properly, since it should produce the same |
| object files regardless of how it itself was compiled. |
| |
| `profiledbootstrap' |
| Builds a compiler with profiling feedback information. For more |
| information, see *Note Building with profile feedback: |
| (gccinstall)Building. |
| |
| `restrap' |
| Restart a bootstrap, so that everything that was not built with |
| the system compiler is rebuilt. |
| |
| `stageN-start (N = 1...4)' |
| For each package that is bootstrapped, rename directories so that, |
| for example, `gcc' points to the stageN GCC, compiled with the |
| stageN-1 GCC(2). |
| |
| You will invoke this target if you need to test or debug the |
| stageN GCC. If you only need to execute GCC (but you need not run |
| `make' either to rebuild it or to run test suites), you should be |
| able to work directly in the `stageN-gcc' directory. This makes |
| it easier to debug multiple stages in parallel. |
| |
| `stage' |
| For each package that is bootstrapped, relocate its build directory |
| to indicate its stage. For example, if the `gcc' directory points |
| to the stage2 GCC, after invoking this target it will be renamed |
| to `stage2-gcc'. |
| |
| |
| If you wish to use non-default GCC flags when compiling the stage2 and |
| stage3 compilers, set `BOOT_CFLAGS' on the command line when doing |
| `make'. |
| |
| Usually, the first stage only builds the languages that the compiler |
| is written in: typically, C and maybe Ada. If you are debugging a |
| miscompilation of a different stage2 front-end (for example, of the |
| Fortran front-end), you may want to have front-ends for other languages |
| in the first stage as well. To do so, set `STAGE1_LANGUAGES' on the |
| command line when doing `make'. |
| |
| For example, in the aforementioned scenario of debugging a Fortran |
| front-end miscompilation caused by the stage1 compiler, you may need a |
| command like |
| |
| make stage2-bubble STAGE1_LANGUAGES=c,fortran |
| |
| Alternatively, you can use per-language targets to build and test |
| languages that are not enabled by default in stage1. For example, |
| `make f951' will build a Fortran compiler even in the stage1 build |
| directory. |
| |
| ---------- Footnotes ---------- |
| |
| (1) Except if the compiler was buggy and miscompiled some of the files |
| that were not modified. In this case, it's best to use `make restrap'. |
| |
| (2) Customarily, the system compiler is also termed the `stage0' GCC. |
| |
| |
| File: gccint.info, Node: Library Files, Next: Headers, Prev: Makefile, Up: gcc Directory |
| |
| 6.3.5 Library Source Files and Headers under the `gcc' Directory |
| ---------------------------------------------------------------- |
| |
| FIXME: list here, with explanation, all the C source files and headers |
| under the `gcc' directory that aren't built into the GCC executable but |
| rather are part of runtime libraries and object files, such as |
| `crtstuff.c' and `unwind-dw2.c'. *Note Headers Installed by GCC: |
| Headers, for more information about the `ginclude' directory. |
| |
| |
| File: gccint.info, Node: Headers, Next: Documentation, Prev: Library Files, Up: gcc Directory |
| |
| 6.3.6 Headers Installed by GCC |
| ------------------------------ |
| |
| In general, GCC expects the system C library to provide most of the |
| headers to be used with it. However, GCC will fix those headers if |
| necessary to make them work with GCC, and will install some headers |
| required of freestanding implementations. These headers are installed |
| in `LIBSUBDIR/include'. Headers for non-C runtime libraries are also |
| installed by GCC; these are not documented here. (FIXME: document them |
| somewhere.) |
| |
| Several of the headers GCC installs are in the `ginclude' directory. |
| These headers, `iso646.h', `stdarg.h', `stdbool.h', and `stddef.h', are |
| installed in `LIBSUBDIR/include', unless the target Makefile fragment |
| (*note Target Fragment::) overrides this by setting `USER_H'. |
| |
| In addition to these headers and those generated by fixing system |
| headers to work with GCC, some other headers may also be installed in |
| `LIBSUBDIR/include'. `config.gcc' may set `extra_headers'; this |
| specifies additional headers under `config' to be installed on some |
| systems. |
| |
| GCC installs its own version of `<float.h>', from `ginclude/float.h'. |
| This is done to cope with command-line options that change the |
| representation of floating point numbers. |
| |
| GCC also installs its own version of `<limits.h>'; this is generated |
| from `glimits.h', together with `limitx.h' and `limity.h' if the system |
| also has its own version of `<limits.h>'. (GCC provides its own header |
| because it is required of ISO C freestanding implementations, but needs |
| to include the system header from its own header as well because other |
| standards such as POSIX specify additional values to be defined in |
| `<limits.h>'.) The system's `<limits.h>' header is used via |
| `LIBSUBDIR/include/syslimits.h', which is copied from `gsyslimits.h' if |
| it does not need fixing to work with GCC; if it needs fixing, |
| `syslimits.h' is the fixed copy. |
| |
| GCC can also install `<tgmath.h>'. It will do this when `config.gcc' |
| sets `use_gcc_tgmath' to `yes'. |
| |
| |
| File: gccint.info, Node: Documentation, Next: Front End, Prev: Headers, Up: gcc Directory |
| |
| 6.3.7 Building Documentation |
| ---------------------------- |
| |
| The main GCC documentation is in the form of manuals in Texinfo format. |
| These are installed in Info format; DVI versions may be generated by |
| `make dvi', PDF versions by `make pdf', and HTML versions by `make |
| html'. In addition, some man pages are generated from the Texinfo |
| manuals, there are some other text files with miscellaneous |
| documentation, and runtime libraries have their own documentation |
| outside the `gcc' directory. FIXME: document the documentation for |
| runtime libraries somewhere. |
| |
| * Menu: |
| |
| * Texinfo Manuals:: GCC manuals in Texinfo format. |
| * Man Page Generation:: Generating man pages from Texinfo manuals. |
| * Miscellaneous Docs:: Miscellaneous text files with documentation. |
| |
| |
| File: gccint.info, Node: Texinfo Manuals, Next: Man Page Generation, Up: Documentation |
| |
| 6.3.7.1 Texinfo Manuals |
| ....................... |
| |
| The manuals for GCC as a whole, and the C and C++ front ends, are in |
| files `doc/*.texi'. Other front ends have their own manuals in files |
| `LANGUAGE/*.texi'. Common files `doc/include/*.texi' are provided |
| which may be included in multiple manuals; the following files are in |
| `doc/include': |
| |
| `fdl.texi' |
| The GNU Free Documentation License. |
| |
| `funding.texi' |
| The section "Funding Free Software". |
| |
| `gcc-common.texi' |
| Common definitions for manuals. |
| |
| `gpl.texi' |
| `gpl_v3.texi' |
| The GNU General Public License. |
| |
| `texinfo.tex' |
| A copy of `texinfo.tex' known to work with the GCC manuals. |
| |
| DVI-formatted manuals are generated by `make dvi', which uses |
| `texi2dvi' (via the Makefile macro `$(TEXI2DVI)'). PDF-formatted |
| manuals are generated by `make pdf', which uses `texi2pdf' (via the |
| Makefile macro `$(TEXI2PDF)'). HTML formatted manuals are generated by |
| `make html'. Info manuals are generated by `make info' (which is run |
| as part of a bootstrap); this generates the manuals in the source |
| directory, using `makeinfo' via the Makefile macro `$(MAKEINFO)', and |
| they are included in release distributions. |
| |
| Manuals are also provided on the GCC web site, in both HTML and |
| PostScript forms. This is done via the script |
| `maintainer-scripts/update_web_docs'. Each manual to be provided |
| online must be listed in the definition of `MANUALS' in that file; a |
| file `NAME.texi' must only appear once in the source tree, and the |
| output manual must have the same name as the source file. (However, |
| other Texinfo files, included in manuals but not themselves the root |
| files of manuals, may have names that appear more than once in the |
| source tree.) The manual file `NAME.texi' should only include other |
| files in its own directory or in `doc/include'. HTML manuals will be |
| generated by `makeinfo --html', PostScript manuals by `texi2dvi' and |
| `dvips', and PDF manuals by `texi2pdf'. All Texinfo files that are |
| parts of manuals must be checked into SVN, even if they are generated |
| files, for the generation of online manuals to work. |
| |
| The installation manual, `doc/install.texi', is also provided on the |
| GCC web site. The HTML version is generated by the script |
| `doc/install.texi2html'. |
| |
| |
| File: gccint.info, Node: Man Page Generation, Next: Miscellaneous Docs, Prev: Texinfo Manuals, Up: Documentation |
| |
| 6.3.7.2 Man Page Generation |
| ........................... |
| |
| Because of user demand, in addition to full Texinfo manuals, man pages |
| are provided which contain extracts from those manuals. These man |
| pages are generated from the Texinfo manuals using |
| `contrib/texi2pod.pl' and `pod2man'. (The man page for `g++', |
| `cp/g++.1', just contains a `.so' reference to `gcc.1', but all the |
| other man pages are generated from Texinfo manuals.) |
| |
| Because many systems may not have the necessary tools installed to |
| generate the man pages, they are only generated if the `configure' |
| script detects that recent enough tools are installed, and the |
| Makefiles allow generating man pages to fail without aborting the |
| build. Man pages are also included in release distributions. They are |
| generated in the source directory. |
| |
| Magic comments in Texinfo files starting `@c man' control what parts |
| of a Texinfo file go into a man page. Only a subset of Texinfo is |
| supported by `texi2pod.pl', and it may be necessary to add support for |
| more Texinfo features to this script when generating new man pages. To |
| improve the man page output, some special Texinfo macros are provided |
| in `doc/include/gcc-common.texi' which `texi2pod.pl' understands: |
| |
| `@gcctabopt' |
| Use in the form `@table @gcctabopt' for tables of options, where |
| for printed output the effect of `@code' is better than that of |
| `@option' but for man page output a different effect is wanted. |
| |
| `@gccoptlist' |
| Use for summary lists of options in manuals. |
| |
| `@gol' |
| Use at the end of each line inside `@gccoptlist'. This is |
| necessary to avoid problems with differences in how the |
| `@gccoptlist' macro is handled by different Texinfo formatters. |
| |
| FIXME: describe the `texi2pod.pl' input language and magic comments in |
| more detail. |
| |
| |
| File: gccint.info, Node: Miscellaneous Docs, Prev: Man Page Generation, Up: Documentation |
| |
| 6.3.7.3 Miscellaneous Documentation |
| ................................... |
| |
| In addition to the formal documentation that is installed by GCC, there |
| are several other text files with miscellaneous documentation: |
| |
| `ABOUT-GCC-NLS' |
| Notes on GCC's Native Language Support. FIXME: this should be |
| part of this manual rather than a separate file. |
| |
| `ABOUT-NLS' |
| Notes on the Free Translation Project. |
| |
| `COPYING' |
| The GNU General Public License. |
| |
| `COPYING.LIB' |
| The GNU Lesser General Public License. |
| |
| `*ChangeLog*' |
| `*/ChangeLog*' |
| Change log files for various parts of GCC. |
| |
| `LANGUAGES' |
| Details of a few changes to the GCC front-end interface. FIXME: |
| the information in this file should be part of general |
| documentation of the front-end interface in this manual. |
| |
| `ONEWS' |
| Information about new features in old versions of GCC. (For recent |
| versions, the information is on the GCC web site.) |
| |
| `README.Portability' |
| Information about portability issues when writing code in GCC. |
| FIXME: why isn't this part of this manual or of the GCC Coding |
| Conventions? |
| |
| FIXME: document such files in subdirectories, at least `config', `cp', |
| `objc', `testsuite'. |
| |
| |
| File: gccint.info, Node: Front End, Next: Back End, Prev: Documentation, Up: gcc Directory |
| |
| 6.3.8 Anatomy of a Language Front End |
| ------------------------------------- |
| |
| A front end for a language in GCC has the following parts: |
| |
| * A directory `LANGUAGE' under `gcc' containing source files for |
| that front end. *Note The Front End `LANGUAGE' Directory: Front |
| End Directory, for details. |
| |
| * A mention of the language in the list of supported languages in |
| `gcc/doc/install.texi'. |
| |
| * A mention of the name under which the language's runtime library is |
| recognized by `--enable-shared=PACKAGE' in the documentation of |
| that option in `gcc/doc/install.texi'. |
| |
| * A mention of any special prerequisites for building the front end |
| in the documentation of prerequisites in `gcc/doc/install.texi'. |
| |
| * Details of contributors to that front end in |
| `gcc/doc/contrib.texi'. If the details are in that front end's |
| own manual then there should be a link to that manual's list in |
| `contrib.texi'. |
| |
| * Information about support for that language in |
| `gcc/doc/frontends.texi'. |
| |
| * Information about standards for that language, and the front end's |
| support for them, in `gcc/doc/standards.texi'. This may be a link |
| to such information in the front end's own manual. |
| |
| * Details of source file suffixes for that language and `-x LANG' |
| options supported, in `gcc/doc/invoke.texi'. |
| |
| * Entries in `default_compilers' in `gcc.c' for source file suffixes |
| for that language. |
| |
| * Preferably testsuites, which may be under `gcc/testsuite' or |
| runtime library directories. FIXME: document somewhere how to |
| write testsuite harnesses. |
| |
| * Probably a runtime library for the language, outside the `gcc' |
| directory. FIXME: document this further. |
| |
| * Details of the directories of any runtime libraries in |
| `gcc/doc/sourcebuild.texi'. |
| |
| If the front end is added to the official GCC source repository, the |
| following are also necessary: |
| |
| * At least one Bugzilla component for bugs in that front end and |
| runtime libraries. This category needs to be mentioned in |
| `gcc/gccbug.in', as well as being added to the Bugzilla database. |
| |
| * Normally, one or more maintainers of that front end listed in |
| `MAINTAINERS'. |
| |
| * Mentions on the GCC web site in `index.html' and `frontends.html', |
| with any relevant links on `readings.html'. (Front ends that are |
| not an official part of GCC may also be listed on |
| `frontends.html', with relevant links.) |
| |
| * A news item on `index.html', and possibly an announcement on the |
| <gcc-announce@gcc.gnu.org> mailing list. |
| |
| * The front end's manuals should be mentioned in |
| `maintainer-scripts/update_web_docs' (*note Texinfo Manuals::) and |
| the online manuals should be linked to from |
| `onlinedocs/index.html'. |
| |
| * Any old releases or CVS repositories of the front end, before its |
| inclusion in GCC, should be made available on the GCC FTP site |
| `ftp://gcc.gnu.org/pub/gcc/old-releases/'. |
| |
| * The release and snapshot script `maintainer-scripts/gcc_release' |
| should be updated to generate appropriate tarballs for this front |
| end. The associated `maintainer-scripts/snapshot-README' and |
| `maintainer-scripts/snapshot-index.html' files should be updated |
| to list the tarballs and diffs for this front end. |
| |
| * If this front end includes its own version files that include the |
| current date, `maintainer-scripts/update_version' should be |
| updated accordingly. |
| |
| * Menu: |
| |
| * Front End Directory:: The front end `LANGUAGE' directory. |
| * Front End Config:: The front end `config-lang.in' file. |
| |
| |
| File: gccint.info, Node: Front End Directory, Next: Front End Config, Up: Front End |
| |
| 6.3.8.1 The Front End `LANGUAGE' Directory |
| .......................................... |
| |
| A front end `LANGUAGE' directory contains the source files of that |
| front end (but not of any runtime libraries, which should be outside |
| the `gcc' directory). This includes documentation, and possibly some |
| subsidiary programs build alongside the front end. Certain files are |
| special and other parts of the compiler depend on their names: |
| |
| `config-lang.in' |
| This file is required in all language subdirectories. *Note The |
| Front End `config-lang.in' File: Front End Config, for details of |
| its contents |
| |
| `Make-lang.in' |
| This file is required in all language subdirectories. It contains |
| targets `LANG.HOOK' (where `LANG' is the setting of `language' in |
| `config-lang.in') for the following values of `HOOK', and any |
| other Makefile rules required to build those targets (which may if |
| necessary use other Makefiles specified in `outputs' in |
| `config-lang.in', although this is deprecated). It also adds any |
| testsuite targets that can use the standard rule in |
| `gcc/Makefile.in' to the variable `lang_checks'. |
| |
| `all.cross' |
| `start.encap' |
| `rest.encap' |
| FIXME: exactly what goes in each of these targets? |
| |
| `tags' |
| Build an `etags' `TAGS' file in the language subdirectory in |
| the source tree. |
| |
| `info' |
| Build info documentation for the front end, in the build |
| directory. This target is only called by `make bootstrap' if |
| a suitable version of `makeinfo' is available, so does not |
| need to check for this, and should fail if an error occurs. |
| |
| `dvi' |
| Build DVI documentation for the front end, in the build |
| directory. This should be done using `$(TEXI2DVI)', with |
| appropriate `-I' arguments pointing to directories of |
| included files. |
| |
| `pdf' |
| Build PDF documentation for the front end, in the build |
| directory. This should be done using `$(TEXI2PDF)', with |
| appropriate `-I' arguments pointing to directories of |
| included files. |
| |
| `html' |
| Build HTML documentation for the front end, in the build |
| directory. |
| |
| `man' |
| Build generated man pages for the front end from Texinfo |
| manuals (*note Man Page Generation::), in the build |
| directory. This target is only called if the necessary tools |
| are available, but should ignore errors so as not to stop the |
| build if errors occur; man pages are optional and the tools |
| involved may be installed in a broken way. |
| |
| `install-common' |
| Install everything that is part of the front end, apart from |
| the compiler executables listed in `compilers' in |
| `config-lang.in'. |
| |
| `install-info' |
| Install info documentation for the front end, if it is |
| present in the source directory. This target should have |
| dependencies on info files that should be installed. |
| |
| `install-man' |
| Install man pages for the front end. This target should |
| ignore errors. |
| |
| `srcextra' |
| Copies its dependencies into the source directory. This |
| generally should be used for generated files such as Bison |
| output files which are not present in CVS, but should be |
| included in any release tarballs. This target will be |
| executed during a bootstrap if |
| `--enable-generated-files-in-srcdir' was specified as a |
| `configure' option. |
| |
| `srcinfo' |
| `srcman' |
| Copies its dependencies into the source directory. These |
| targets will be executed during a bootstrap if |
| `--enable-generated-files-in-srcdir' was specified as a |
| `configure' option. |
| |
| `uninstall' |
| Uninstall files installed by installing the compiler. This is |
| currently documented not to be supported, so the hook need |
| not do anything. |
| |
| `mostlyclean' |
| `clean' |
| `distclean' |
| `maintainer-clean' |
| The language parts of the standard GNU `*clean' targets. |
| *Note Standard Targets for Users: (standards)Standard |
| Targets, for details of the standard targets. For GCC, |
| `maintainer-clean' should delete all generated files in the |
| source directory that are not checked into CVS, but should |
| not delete anything checked into CVS. |
| |
| `Make-lang.in' must also define a variable `LANG_OBJS' to a list |
| of host object files that are used by that language. |
| |
| `lang.opt' |
| This file registers the set of switches that the front end accepts |
| on the command line, and their `--help' text. *Note Options::. |
| |
| `lang-specs.h' |
| This file provides entries for `default_compilers' in `gcc.c' |
| which override the default of giving an error that a compiler for |
| that language is not installed. |
| |
| `LANGUAGE-tree.def' |
| This file, which need not exist, defines any language-specific tree |
| codes. |
| |
| |
| File: gccint.info, Node: Front End Config, Prev: Front End Directory, Up: Front End |
| |
| 6.3.8.2 The Front End `config-lang.in' File |
| ........................................... |
| |
| Each language subdirectory contains a `config-lang.in' file. In |
| addition the main directory contains `c-config-lang.in', which contains |
| limited information for the C language. This file is a shell script |
| that may define some variables describing the language: |
| |
| `language' |
| This definition must be present, and gives the name of the language |
| for some purposes such as arguments to `--enable-languages'. |
| |
| `lang_requires' |
| If defined, this variable lists (space-separated) language front |
| ends other than C that this front end requires to be enabled (with |
| the names given being their `language' settings). For example, the |
| Java front end depends on the C++ front end, so sets |
| `lang_requires=c++'. |
| |
| `subdir_requires' |
| If defined, this variable lists (space-separated) front end |
| directories other than C that this front end requires to be |
| present. For example, the Objective-C++ front end uses source |
| files from the C++ and Objective-C front ends, so sets |
| `subdir_requires="cp objc"'. |
| |
| `target_libs' |
| If defined, this variable lists (space-separated) targets in the |
| top level `Makefile' to build the runtime libraries for this |
| language, such as `target-libobjc'. |
| |
| `lang_dirs' |
| If defined, this variable lists (space-separated) top level |
| directories (parallel to `gcc'), apart from the runtime libraries, |
| that should not be configured if this front end is not built. |
| |
| `build_by_default' |
| If defined to `no', this language front end is not built unless |
| enabled in a `--enable-languages' argument. Otherwise, front ends |
| are built by default, subject to any special logic in |
| `configure.ac' (as is present to disable the Ada front end if the |
| Ada compiler is not already installed). |
| |
| `boot_language' |
| If defined to `yes', this front end is built in stage 1 of the |
| bootstrap. This is only relevant to front ends written in their |
| own languages. |
| |
| `compilers' |
| If defined, a space-separated list of compiler executables that |
| will be run by the driver. The names here will each end with |
| `\$(exeext)'. |
| |
| `outputs' |
| If defined, a space-separated list of files that should be |
| generated by `configure' substituting values in them. This |
| mechanism can be used to create a file `LANGUAGE/Makefile' from |
| `LANGUAGE/Makefile.in', but this is deprecated, building |
| everything from the single `gcc/Makefile' is preferred. |
| |
| `gtfiles' |
| If defined, a space-separated list of files that should be scanned |
| by gengtype.c to generate the garbage collection tables and |
| routines for this language. This excludes the files that are |
| common to all front ends. *Note Type Information::. |
| |
| |
| |
| File: gccint.info, Node: Back End, Prev: Front End, Up: gcc Directory |
| |
| 6.3.9 Anatomy of a Target Back End |
| ---------------------------------- |
| |
| A back end for a target architecture in GCC has the following parts: |
| |
| * A directory `MACHINE' under `gcc/config', containing a machine |
| description `MACHINE.md' file (*note Machine Descriptions: Machine |
| |