<div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">Hi Tim,</div><div class="gmail_extra"><br><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 class="">
> Are you changing your mind and arguing the consistent in-register data<br>
> layout for big-endian and little-endian? I'm personally happy with that, but<br>
> it will not work together with GCC, and is violating aapcs64, isn't it?<br>
<br>
</div>To make it work, you have to fiddle the vectors into AAPCS-specified<br>
form at every ABI-visible boundary (hence the changes to LowerCall<br>
etc).<br></blockquote><div><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">I see, so you mean we should allow not to follow AAPCS if only it is not ABI-visible. I think at this point I'm OK with that.</div>
<div><br></div><div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">The solution you described above implies introducing "rev" for arguments and return values passed by VPR at all function boundaries, so wouldn't it cause poor performance? This is simply because it would make LLVM implementation easier, and I think to some extension it's unacceptable.</div>
</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">However, I'm OK to move forward with two steps. Step 1 is to implement the simplified solution as you probably proposed, and for step 2 finally we need to optimize those unnecessary "rev"s removed.</div>
</div><br>
</div><div class="gmail_extra"><span style="font-family:arial,helvetica,sans-serif">Thanks,</span><br></div><div class="gmail_extra"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif;font-size:small">
-Jiangning</div><br></div></div>