<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Sep 23, 2014 at 1:25 PM, Matt Turner <span dir="ltr"><<a href="mailto:mattst88@gmail.com" target="_blank">mattst88@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On Tue, Sep 23, 2014 at 1:10 PM, Jason Ekstrand <<a href="mailto:jason@jlekstrand.net">jason@jlekstrand.net</a>> wrote:<br>
> On Thu, Aug 28, 2014 at 8:10 PM, Matt Turner <<a href="mailto:mattst88@gmail.com">mattst88@gmail.com</a>> wrote:<br>
</span><span class="">>> +            int jump = brw_inst_imm_d(brw, insn);<br>
>> +            int jump_compacted = jump / sizeof(brw_compact_inst);<br>
>> +            int jump_uncompacted = jump / sizeof(brw_inst);<br>
>> +<br>
>> +            target_old_ip = this_old_ip + jump_uncompacted;<br>
>> +            target_compacted_count = compacted_counts[target_old_ip];<br>
>> +            jump_compacted -= (target_compacted_count -<br>
>> this_compacted_count);<br>
>> +            brw_inst_set_imm_ud(brw, insn, jump_compacted *<br>
>> +                                           sizeof(brw_compact_inst));<br>
><br>
><br>
> Any reason why you're reading it as a signed value and then writing it back<br>
> in unsigned?<br>
<br>
</span>IIRC brw_inst_set_imm_d() is broken. It's been long enough that I've<br>
forgotten the exact details, but _ud sets the exact bits you pass it,<br>
while _d does something wrong.<br>
</blockquote></div><br></div><div class="gmail_extra">good enough for me<br></div></div>