Changeset 2467b41 in mainline for uspace/lib/softint/generic/shift.c
- Timestamp:
- 2018-01-17T16:58:41Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 17c14273
- Parents:
- 33b8d024
- git-author:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-01-17 16:58:14)
- git-committer:
- Jiří Zárevúcky <zarevucky.jiri@…> (2018-01-17 16:58:41)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/softint/generic/shift.c
r33b8d024 r2467b41 34 34 */ 35 35 36 #include <alias.h>37 36 #include <shift.h> 38 37 #include <lltype.h> 39 38 40 long long __ashl ti3 (long long val, int shift)39 long long __ashldi3 (long long val, int shift) 41 40 { 42 41 union lltype ll; … … 66 65 } 67 66 68 long long __ashr ti3 (long long val, int shift)67 long long __ashrdi3 (long long val, int shift) 69 68 { 70 69 union lltype ll; … … 96 95 } 97 96 98 long long __lshr ti3 (long long val, int shift)97 long long __lshrdi3 (long long val, int shift) 99 98 { 100 99 union lltype ll; … … 126 125 long long __aeabi_llsl(long long val, int shift) 127 126 { 128 return __ashl ti3(val, shift);127 return __ashldi3(val, shift); 129 128 } 130 129 131 130 long long __aeabi_llsr(long long val, int shift) 132 131 { 133 return __lshr ti3(val, shift);132 return __lshrdi3(val, shift); 134 133 } 135 136 #if LONG_MAX == LLONG_MAX137 long ALIAS(__ashl, i3);138 long ALIAS(__ashr, i3);139 long ALIAS(__lshr, i3);140 #else141 142 long __ashldi3(long val, int shift)143 {144 return ((int) val) << shift;145 }146 147 long __ashrdi3(long val, int shift)148 {149 return ((int) val) >> shift;150 }151 152 long __lshrdi3(long val, int shift)153 {154 return ((unsigned int) val) >> shift;155 }156 157 #endif158 134 159 135 /** @}
Note:
See TracChangeset
for help on using the changeset viewer.