Changeset c7afcba7 in mainline
- Timestamp:
- 2012-04-07T17:50:49Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 446ac2a
- Parents:
- 8e893ae
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
boot/genarch/include/division.h
r8e893ae rc7afcba7 45 45 extern unsigned long long __umoddi3(unsigned long long, unsigned long long); 46 46 47 extern int __divmodsi3(int, int, int *); 47 48 extern unsigned int __udivmodsi3(unsigned int, unsigned int, unsigned int *); 49 50 extern long long __divmoddi3(long long, long long, long long *); 48 51 extern unsigned long long __udivmoddi3(unsigned long long, unsigned long long, 49 52 unsigned long long *); -
boot/genarch/src/division.c
r8e893ae rc7afcba7 183 183 } 184 184 185 int __divmodsi3(int a, int b, int *c) 186 { 187 unsigned int rem; 188 int result = (int) divandmod32(ABSVAL(a), ABSVAL(b), &rem); 189 190 if (SGN(a) == SGN(b)) { 191 *c = rem; 192 return result; 193 } 194 195 *c = -rem; 196 return -result; 197 } 198 185 199 unsigned int __udivmodsi3(unsigned int a, unsigned int b, 186 200 unsigned int *c) … … 189 203 } 190 204 205 long long __divmoddi3(long long a, long long b, long long *c) 206 { 207 unsigned long long rem; 208 long long result = (int) divandmod64(ABSVAL(a), ABSVAL(b), &rem); 209 210 if (SGN(a) == SGN(b)) { 211 *c = rem; 212 return result; 213 } 214 215 *c = -rem; 216 return -result; 217 } 218 191 219 unsigned long long __udivmoddi3(unsigned long long a, unsigned long long b, 192 220 unsigned long long *c) -
kernel/genarch/include/softint/division.h
r8e893ae rc7afcba7 48 48 extern unsigned long long __umoddi3(unsigned long long, unsigned long long); 49 49 50 extern int __divmodsi3(int, int, int *); 50 51 extern unsigned int __udivmodsi3(unsigned int, unsigned int, unsigned int *); 52 53 extern long long __divmoddi3(long long, long long, long long *); 51 54 extern unsigned long long __udivmoddi3(unsigned long long, unsigned long long, 52 55 unsigned long long *); -
kernel/genarch/include/softint/multiplication.h
r8e893ae rc7afcba7 29 29 /** @addtogroup genarch 30 30 * @{ 31 */ 31 */ 32 32 /** 33 33 * @file 34 34 */ 35 35 36 #ifndef __SOFTINT_MULTIPLICATION_H__37 #define __SOFTINT_MULTIPLICATION_H__36 #ifndef KERN_MULTIPLICATION_H_ 37 #define KERN_MULTIPLICATION_H_ 38 38 39 39 /* 64 bit multiplication */ 40 long long __muldi3(long long a, long long b);40 extern long long __muldi3(long long, long long); 41 41 42 42 #endif … … 44 44 /** @} 45 45 */ 46 47 -
kernel/genarch/src/softint/division.c
r8e893ae rc7afcba7 27 27 */ 28 28 29 /** @addtogroup genarch 29 /** @addtogroup genarch 30 30 * @{ 31 31 */ … … 186 186 } 187 187 188 int __divmodsi3(int a, int b, int *c) 189 { 190 unsigned int rem; 191 int result = (int) divandmod32(ABSVAL(a), ABSVAL(b), &rem); 192 193 if (SGN(a) == SGN(b)) { 194 *c = rem; 195 return result; 196 } 197 198 *c = -rem; 199 return -result; 200 } 201 188 202 unsigned int __udivmodsi3(unsigned int a, unsigned int b, 189 203 unsigned int *c) … … 192 206 } 193 207 208 long long __divmoddi3(long long a, long long b, long long *c) 209 { 210 unsigned long long rem; 211 long long result = (int) divandmod64(ABSVAL(a), ABSVAL(b), &rem); 212 213 if (SGN(a) == SGN(b)) { 214 *c = rem; 215 return result; 216 } 217 218 *c = -rem; 219 return -result; 220 } 221 194 222 unsigned long long __udivmoddi3(unsigned long long a, unsigned long long b, 195 223 unsigned long long *c) -
kernel/genarch/src/softint/multiplication.c
r8e893ae rc7afcba7 29 29 /** @addtogroup genarch 30 30 * @{ 31 */ 31 */ 32 32 /** 33 33 * @file … … 130 130 131 131 return result; 132 } 132 } 133 133 134 134 /** @}
Note:
See TracChangeset
for help on using the changeset viewer.