S5U1C17001C ManUal
EPSOn
7-7
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
7 liBrary
7
Library
7.2.4 integral Calculation functions
Table 7.2.4.1 below lists the integral calculation functions.
Table 7.2.4.1 Integral calculation functions
Classification
function name
functionality
Integral calculation
__divsi3
Signed 32-bit integral division
x
←
a / b
__modsi3
Signed 32-bit remainder calculation
x
←
a % b
__udivsi3
Unsigned 32-bit integral division
x
←
a / b
__umodsi3
Unsigned 32-bit remainder calculation
x
←
a % b
__mulsi3
32-bit multiplication
x
←
a * b
__divhi3
Signed 16-bit integral division
x
←
a / b
__modhi3
Signed 16-bit remainder calculation
x
←
a % b
__udivhi3
Unsigned 16-bit integral division
x
←
a / b
__umodhi3
Unsigned 16-bit remainder calculation
x
←
a % b
__mulhi3
16-bit multiplication
x
←
a * b
Integral shift
__ashlsi3
32-bit arithmetical shift to left
x
←
a << b bits
__ashrsi3
32-bit arithmetical shift to right
x
←
a >> b bits
__lshrsi3
32-bit logical shift to right
x
←
a >> b bits
__ashlhi3
16-bit arithmetical shift to left
x
←
a << b bits
__ashrhi3
16-bit arithmetical shift to right
x
←
a >> b bits
__lshrhi3
16-bit logical shift to right
x
←
a >> b bits
Integer comparison
__cmpsi2
comparison (long)
x
←
2 | 1 | 0
*
1
__ucmpsi2
Comparison (unsigned long)
x
←
2 | 1 | 0
*
1
7.2.5
long long
Type Calculation functions
Table 7.2.5.1 below lists the
long long
type calculation functions.
Table 7.2.5.1
long long
type calculation functions
Classification
function name
functionality
long long
type
calculation
__muldi3
Signed 64-bit multiplication
x
←
a * b
__divdi3
Signed 64-bit division
x
←
a / b
__udivdi3
Unsigned 64-bit division
x
←
a / b
__moddi3
Signed 64-bit remainder calculation
x
←
a % b
__umoddi3
Unsigned 64-bit remainder calculation x
←
a % b
__negdi2
Sign inversion
x
←
-a
long long
type shift
__lshrdi3
64-bit logical shift to right
x
←
a >> b bits
__ashldi3
64-bit arithmetical shift to left
x
←
a << b bits
__ashrdi3
64-bit arithmetical shift to right
x
←
a >> b bits
Type conversion
__fixunsdfdi
double
→
unsigned long long
x
←
a
__fixdfdi
double
→
long long
x
←
a
__floatdidf
long long
→
double
x
←
a
__fixunssfdi
float
→
unsigned long long
x
←
a
__fixsfdi
float
→
long long
x
←
a
__floatdisf
long long
→
float
x
←
a
long long
type
comparison
__cmpdi2
Comparison (
long long
)
x
←
2 | 1 | 0
*
1
__ucmpdi2
Comparison (
unsigned long long
) x
←
2 | 1 | 0
*
1
*
1 The integer comparison function and the
long long
comparison function return the following values based
on the result of
op1 – op2
.
op1
>
op2
→
2
op1
=
op2
→
1
op1
<
op2
→
0
*
2 Bits are scanned for logic 1 beginning with the LSB, and the position of the first bit found with the value 1 is
returned.
If the first bit with the value 1 is the LSB: 1
If the first bit with the value 1 is the MSB: 64
If no bits are found with the value 1:
0
Summary of Contents for S5U1C17001C
Page 6: ......
Page 17: ...1 General S5U1C17001C Manual 1 General ...
Page 18: ......
Page 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Page 22: ......
Page 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Page 30: ......
Page 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Page 104: ......
Page 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Page 122: ......
Page 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Page 366: ......
Page 385: ...7 Library S5U1C17001C Manual 7 library ...
Page 386: ......
Page 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Page 406: ......
Page 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Page 440: ......
Page 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Page 450: ......
Page 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Page 627: ......
Page 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...