52 int64_t _ot_builtin_lshift_i64(int64_t val, int32_t shift) {
64 word.hi = word.lo << (shift - 32);
74 word.hi |= word.lo >> (32 - shift);
79 int64_t _ot_builtin_rshift_i64(int64_t val, int32_t shift) {
91 word.lo = word.hi >> (shift - 32);
101 word.lo |= word.hi << (32 - shift);
107 int64_t _ot_builtin_ashift_i64(int64_t val, int32_t shift) {
121 word.lo = (uint32_t)(word.hi_signed >> (shift - 32));
122 word.hi_signed >>= 31;
133 word.lo |= word.hi << (32 - shift);
134 word.hi_signed >>= shift;
140 #ifdef OT_PLATFORM_RV32
143 int64_t __ashldi3(int64_t val, int32_t shift);
146 int64_t __lshrdi3(int64_t val, int32_t shift);
149 int64_t __ashrdi3(int64_t val, int32_t shift);
152 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451(
void);
160 OT_WEAK int64_t __divdi3(int64_t a, int64_t b) {
161 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451();
163 OT_WEAK uint64_t __udivdi3(uint64_t a, uint64_t b) {
164 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451();
166 OT_WEAK int64_t __moddi3(int64_t a, int64_t b) {
167 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451();
169 OT_WEAK uint64_t __umoddi3(uint64_t a, uint64_t b) {
170 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451();
172 OT_WEAK int64_t __divmoddi4(int64_t a, int64_t b, int64_t *rem) {
173 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451();
175 OT_WEAK uint64_t __udivmoddi4(uint64_t a, uint64_t b, uint64_t *rem) {
176 _ot_builtin_div64_intentionally_not_implemented_see_pull_11451();