<div class="im" style="font-family:arial,sans-serif;font-size:13px">>>> groups of instructions between .bundle_lock and<br>>>> .bundle_unlock directives cannot cross a bundle boundary<br>>><br>>> Can this be relaxed to:  A data instruction cannot fall on a bundle<br>

>> boundary.  ?<br>></div><span style="font-family:arial,sans-serif;font-size:13px">> I'm not sure what you mean, can you elaborate?</span><br><div><br></div><div><font face="arial, sans-serif">Nevermind, what I suggested was not strict enough.  I see now that the purpose of unlock/lock is to prevent particular instructions from landing on the bundle boundary.  For example, around a 'bic' and an indirect branch, where the compiler inserted the bic to make the branch safe.</font></div>

<div><font face="arial, sans-serif"><br></font></div><div><font face="arial, sans-serif">-Greg</font></div><div><span style="font-family:arial,sans-serif;font-size:13px"><br></span></div><div class="gmail_extra"><br><br>
<div class="gmail_quote">
On Thu, Dec 6, 2012 at 12:25 PM, Eli Bendersky <span dir="ltr"><<a href="mailto:eliben@google.com" target="_blank">eliben@google.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

<div class="im">On Thu, Dec 6, 2012 at 11:59 AM, Greg Fitzgerald <<a href="mailto:garious@gmail.com">garious@gmail.com</a>> wrote:<br>
> Maybe I'm jumping the gun, but some initial thoughts after browsing the MC<br>
> layer changes:<br>
><br>
<br>
</div>Greg, it's great to have early comments on this.<br>
<div class="im"><br>
> * .bundle_align_start  -> .bundle_align_mode N  ?<br>
> * .bundle_align_end -> .bundle_align_mode 0  ?<br>
<br>
</div>The initial proposal does not cover .bundle_align{start|end} on<br>
purpose, to keep things simple. We do plan to add them, eventually,<br>
probably as attributes on .bundle_lock.<br>
<div class="im"><br>
> * Add unit test showing .bundle_lock/unlock can be nested.<br>
<br>
</div>Yes.<br>
<div class="im"><br>
><br>
> I like the way you modified the existing ARM tests to show how the existing<br>
> instructions are predicated.<br>
<br>
</div>Thanks. When upstreaming, I should remember using the new FileCheck<br>
feature I recently added (variable references on the same line that<br>
define them) which should make matching BICs more elegant.<br>
<div class="im"><br>
> Overall, I think the concept of Native Client<br>
> is well-documented and easy to follow.  Has anyone done work to show that<br>
> assembly in this form can be disassembled to a memory-safe assembly language<br>
> like TAL?<br>
><br>
><br>
>> groups of instructions between .bundle_lock and<br>
>> .bundle_unlock directives cannot cross a bundle boundary<br>
><br>
> Can this be relaxed to:  A data instruction cannot fall on a bundle<br>
> boundary.  ?<br>
<br>
</div>I'm not sure what you mean, can you elaborate?<br>
<span class="HOEnZb"><font color="#888888"><br>
Eli<br>
</font></span></blockquote></div><br></div>