<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi Tim, Hi Ken, Hi Doug,</div><br><div class="gmail_quote"><div dir="ltr">On Wed, Jan 2, 2019 at 11:12 AM tim Rowledge <<a href="mailto:tim@rowledge.org">tim@rowledge.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex"><br>
> On 2019-01-02, at 3:50 AM, Nicolas Cellier <<a href="mailto:notifications@github.com" target="_blank">notifications@github.com</a>> wrote:<br>
> <br>
> But __ARM_ARCH_V8__ can run in 32 bits mode (aarch32) right?<br>
> So maybe we want to compile for V8, but not for 64bits (aarch64)...<br>
<br>
v8 is a completely different instruction set and you can't (to the best of my knowledge!) swap between v7 & v8. We don't (yet) have a cog for v8 (trying to work on that).<br>
<br>
The stack VM does appear to work ok on v8 systems like chromebooks. We'll need to handle both v7 & v8 just as x86 & x64.<br></blockquote><div><br></div><div>Currently the FFI tests don't test callbacks.  According to Ken's code for the ThreadedFFIARM64Plugin the ARMv8 C ABI uses 8 integer register parameters whereas ARMv7/6/5/4 uses 4.  So that changes the signature for thunkEntry on ARMv8.  We won't see the effects of this unless we have a callback test with more than 4 arguments.  We really need two tests that call callbacks with no arguments, a few integer, float or double arguments, large numbers of integer, float or double argument, and then calls with alternating integer, float and double arguments.</div><div></div></div><div dir="ltr"><br></div>Doug added a few tests when getting ThreadedFFIARMPlugin working.  This source hans't made it back into sqFFITestFuncs.c.  This code could really do with some love.  Someone willing to add a few tests, including some callback tests.  I'm happy to write tip a description of the FFI architecture if someone will volunteer to write those tests :-)</div><div dir="ltr"><br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><span style="font-size:small;border-collapse:separate"><div>_,,,^..^,,,_<br></div><div>best, Eliot</div></span></div></div></div></div></div></div></div></div>