<div dir="ltr">Hi Weiming,<div><br></div><div>I worked on this a bit in the past, and have attached both partial solutions to your bug, as well as making my own bug a duplicate of yours, so at least you can understand where we're coming from. Tim helped me review the patches and understand the problem, so both of us will be reviewing this.</div>
<div><br></div><div>thanks,</div><div>-renato</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On 11 November 2013 22:03, Tim Northover <span dir="ltr"><<a href="mailto:t.p.northover@gmail.com" target="_blank">t.p.northover@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Weiming,<br>
<div class="im"><br>
> Please help to review the patch that addresses i64 mod operation for ARM<br>
> aeabi.<br>
<br>
</div>Can this be done in ARM's ISelLowering? The problem is that ExpandRem<br>
is *only* the correct implementation for the ARM-specific __aeabi_*<br>
functions. The more generic GNU-style calls have a different<br>
prototype:<br>
<br>
   int64_t __divmoddi4(int64_t l, int64_t r, int64_t *rem);<br>
<br>
As it stands, any other target deciding to Expand divrem is likely to<br>
get a nasty shock.<br>
<br>
Cheers.<br>
<br>
Tim.<br>
_______________________________________________<br>
llvm-commits mailing list<br>
<a href="mailto:llvm-commits@cs.uiuc.edu">llvm-commits@cs.uiuc.edu</a><br>
<a href="http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits" target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits</a><br>
</blockquote></div><br></div>