7.2 Emulation library
7.2.1 Overview
The S1C17 Family C Compiler Package includes the emulation library (libgcc.a, libgccM.a, libgccMD.a)
that supports the arithmetic operation, comparison, and type conversion of single-precision (32-bit) and double-
precision (64-bit) floating-point numbers that conform to IEEE format, integer multiplication/division/sift
operations, and long long-type addition/subtraction. The libgcc.a library does not use coprocessor instructions;
the libgccM.a library uses multiplication coprocessor instructions; the libgccMD.a library uses multiplication,
division, and remainder coprocessor instructions. These libraries provide the same functions. The xgcc C compiler
calls up functions from this library when a floating-point number, long long data or integer calculation is
performed. Since library functions exchange data via a designated general-purpose register/stack, they can be called
from an assembly source. To use emulation library functions, specify libgcc.a (libgccM.a, libgccMD.a) and
libc.a when linking.
registers used in the libraries
• The registers %r0 to %r7 are used.
• The registers %r4 to %r7 are protected by saving to the stack before execution of a function and by restoring
from the stack after completion of the function.
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
EPSOn
7 liBrary
7
Library
7-3