<div dir="ltr">On 11 July 2013 10:41, Kristof Beyls <span dir="ltr"><<a href="mailto:kristof.beyls@arm.com" target="_blank">kristof.beyls@arm.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="EN-GB" link="blue" vlink="purple"><p><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">1. Would it be possible to also add checks that check if the values</span><br>

</p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   are returned in r0,r1 in EABI mode? I'm not sure if it would be<u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   a good idea, but e.g. when compiling at -O2, I would expect for<u></u><u></u></span></p>

<p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   the testcase in function f, it could be checked that the<u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   instruction right after __aeabi_idivmod adds r0 and r1?</span></p>

</div></blockquote><div><br></div><div><div>Yes! I thought I had done that but only realized that I hadn't when preparing the patch for review. I'll do that before commit.</div></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div lang="EN-GB" link="blue" vlink="purple"><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   Or is that not possible at the moment, because currently 2 calls<u></u><u></u></span></p>

<p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   to __aeabi_idivmod are being generated instead of 1 call for <u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   (a/b,a%b)?</span></p>

</div></blockquote><div><br></div><div>No, that doesn't change anything, but it is an inefficiency that I haven't investigated. Will report it on bugzilla.</div><div><br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">

<div lang="EN-GB" link="blue" vlink="purple"><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> </span><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">2. It seems the regression tests only check the behaviour for i32 and</span></p>

<p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   i64 data types. Would it be a good idea to adapt some of the current<u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   tests to instead check i8 and i16 data types, so all data types are<u></u><u></u></span></p>

<p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   covered in the tests?</span></p></div></blockquote><div><br></div><div>The tests for i8 and i16 are redundant, because the behaviour is identical for i8, i16 and i32, but I can add them in the tests. I have them locally, but didn't put in the test.</div>

<div><br></div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div lang="EN-GB" link="blue" vlink="purple">

<p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)"><u></u> </span><span style="color:rgb(31,73,125);font-family:Calibri,sans-serif;font-size:11pt">3. The check in functions f, g1 and g4 look very similar. Maybe only one</span></p>

<p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   of these functions need to be retained? I can't identify what testing<u></u><u></u></span></p><p><span style="font-size:11pt;font-family:Calibri,sans-serif;color:rgb(31,73,125)">   value g1 and f have over g4.</span></p>

</div></blockquote><div>They're slightly different, as I was trying to see if the returned values were being associated correctly on the correct registers on all patterns. f32 is the original code, testing 32-bit values and multiple uses. g1 is a simple usage of divmod, and g4 uses the result of div to calculate the rem.</div>
<div><br></div><div style>cheers,</div><div style>--renato</div>
</div></div></div>