[RFC] AEABI Divmod refactoring + 64-bit
Tim Northover
t.p.northover at gmail.com
Tue Jul 30 05:48:12 PDT 2013
> Now I remember, this is why I thought about introducing another NodeType (as
> you mentioned, ISD::SREM64), but thought that this was a work around at
> best. Also, I will probably have to create 4 new node types (S/U)x(DIV/REM).
As I understand it, there's no __aeabi_umodl (or whatever), so an
alternative might be to create [SU]DIVREM nodes for [SU]REM instead
(more extensible in future? Probably no harder to implement). Or to
lower [SU]REM to a [SU]DIV64 with surrounding multiplies and
subtraction (likely more complex now, but might be more efficient if
there's no DIV. I've no idea).
Of course, it may actually be simpler to create [SU]REM nodes as
you're planning. You're probably in the best position to make the
choice.
Cheers.
Tim.
More information about the llvm-commits
mailing list