[all-commits] [llvm/llvm-project] b54119: [builtins] Make __umodsi3/__udivdi3/__umoddi3 stan...
Fangrui Song via All-commits
all-commits at lists.llvm.org
Tue Apr 14 10:38:59 PDT 2020
Branch: refs/heads/master
Home: https://github.com/llvm/llvm-project
Commit: b541196eb45d80f2dacd76e16828963760c3850d
https://github.com/llvm/llvm-project/commit/b541196eb45d80f2dacd76e16828963760c3850d
Author: Fangrui Song <maskray at google.com>
Date: 2020-04-14 (Tue, 14 Apr 2020)
Changed paths:
A compiler-rt/lib/builtins/int_div_impl.inc
M compiler-rt/lib/builtins/udivdi3.c
M compiler-rt/lib/builtins/udivsi3.c
M compiler-rt/lib/builtins/umoddi3.c
M compiler-rt/lib/builtins/umodsi3.c
Log Message:
-----------
[builtins] Make __umodsi3/__udivdi3/__umoddi3 standalone (shift and subtract)
@kamleshbhalui reported that when the Standard Extension M
(Multiplication and Division) is disabled for RISC-V,
`__udivdi3` will call __udivmodti4 which will in turn calls `__udivdi3`.
This patch moves __udivsi3 (shift and subtract) to int_div_impl.inc
`__udivXi3`, optimize a bit, add a `__umodXi3`, and use `__udivXi3` and
`__umodXi3` to define `__udivsi3` `__umodsi3` `__udivdi3` `__umoddi3`.
Reviewed By: kamleshbhalui
Differential Revision: https://reviews.llvm.org/D77912
More information about the All-commits
mailing list