<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 3, 2014 at 10:44 PM, Zoran Jovanovic <span dir="ltr"><<a href="mailto:Zoran.Jovanovic@imgtec.com" target="_blank">Zoran.Jovanovic@imgtec.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">




<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Hello Daniel,
<div>At the moment we are preparing the patch for disassembling microMIPS 16 bit instructions and it will be on Phabricator tomorrow or on Wednesday.</div>
<div>Functionality is implemented in MipsDisassembler::getInstruction where first two bytes are read and decodeInstruction is called with DecoderTableMicroMips16 and only if it fails we read 4 bytes and call <span style="font-size:13.6000003814697px">decodeInstruction</span><span style="font-size:13.6000003814697px"> 
 with </span><span style="font-size:13.6000003814697px">DecoderTableMicroMips32.</span></div>
<div><br></div></div></div></blockquote><div><br></div><div>awesome! looking forward to it.<br><br></div><div>thanks,<br></div><div>Jun<br><br><br><div><div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt"><div><br>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma"><b>From:</b> Daniel Sanders<br>
<b>Sent:</b> Sunday, November 02, 2014 5:49 PM<br>
<b>To:</b> Jun Koi; Vladimir Medic; Sasa Stankovic; Jozef Kolek; Zoran Jovanovic<br>
<b>Cc:</b> <a href="mailto:llvmdev@cs.uiuc.edu" target="_blank">llvmdev@cs.uiuc.edu</a><br>
<b>Subject:</b> RE: Mips's MicroMips ??<br>
</font><br>
</div><span class="">
<div></div>
<div>
<div style="direction:ltr;font-family:Tahoma;color:#000000;font-size:10pt">Hi,<br>
<br>
I've had a quick look through MipsDisassembler.cpp and it seems that the disassembler doesn't know anything about 16-bit instructions at the moment. The two main problems are that DecoderTableMicroMips16 (which contains ADDU16_MM) is never used, and the disassembler
 always reads the opcode as a 4-byte value.<br>
<br>
Vladimir/Sasa/Jozef/Zoran: I don't know much about the microMIPS encodings at the moment. Do you have the details on distinguishing 16-bit from 32-bit instructions?<br>
<div style="font-family:Times New Roman;color:#000000;font-size:16px">
<hr>
<div style="direction:ltr"><font color="#000000" face="Tahoma"><b>From:</b> Jun Koi [<a href="mailto:junkoi2004@gmail.com" target="_blank">junkoi2004@gmail.com</a>]<br>
<b>Sent:</b> 29 October 2014 14:46<br>
<b>To:</b> Daniel Sanders<br>
<b>Cc:</b> <a href="mailto:llvmdev@cs.uiuc.edu" target="_blank">llvmdev@cs.uiuc.edu</a><br>
<b>Subject:</b> Mips's MicroMips ??<br>
</font><br>
</div>
<div></div>
<div>
<div dir="ltr">
<div>Hi,<br>
<br>
</div>
We have this line in micromips-16-bit-instructions.s<br>
<br>
    # CHECK-EB: addu16  $6, $17, $4     # encoding: [0x07,0x42]<br>
<br>
<div>However, when I check this with llvm-mc, like below, I dont get back the assembly.<br>
This is against the latest LLVM code. What is wrong here?<br>
<br>
Thanks,<br>
Jun<br>
<br>
<br>
$ echo "0x07,0x42"|./Release+Asserts/bin/llvm-mc -disassemble -triple=mips -show-encoding -mattr=micromips<br>
    .text<br>
<stdin>:1:1: warning: invalid instruction encoding<br>
0x07,0x42<br>
^<br>
<stdin>:1:6: warning: invalid instruction encoding<br>
0x07,0x42<br>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</span></div>
</div>
</div>
</div>

</div></div><br></div></div>