<div dir="ltr"><br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div>LLVM's register coalescer and allocator don't try to reschedule instructions, which seems to be required here.</div>
</div></blockquote><div><br></div><div style>I think you're right.  Looking at the instruction schedules before register allocation, shows that it's scheduling the load before the zero move in one case but not the other.</div>
<div style><br></div><div style>Is there an easy way I can trick the scheduler into putting these in the right order?  Perhaps by adding a scheduling dependency between the move and the load?</div><div style><br></div><div style>
Thank you,</div><div style>-- Kenneth Waters</div></div></div></div>