<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">Hi all,<br>
the patch is on Phabricator (http://reviews.llvm.org/D6149). With the help of new method readInstruction16() two bytes are read and decodeInstruction() is called with DecoderTableMicroMips16, if this fails another two bytes are read and
<font size="2"><span style="font-size:13.59px;">decodeInstruction</span></font><font size="2"><span style="font-size:13.59px;">() is called with </span></font><font size="2"><span style="font-size:13.59px;">DecoderTableMicroMips32</span></font>.<br>
<br>
<font color="black" face="Tahoma" size="2"><span style="font-size:10pt;" dir="ltr">
<div>Regards,<br>
Jozef<br>
</div>
</span></font><br>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div style="direction: ltr;" id="divRpF229726"><font color="#000000" face="Tahoma" size="2"><b>From:</b> Jun Koi [junkoi2004@gmail.com]<br>
<b>Sent:</b> Tuesday, November 04, 2014 3:18 AM<br>
<b>To:</b> Zoran Jovanovic<br>
<b>Cc:</b> Daniel Sanders; Vladimir Medic; Sasa Stankovic; Jozef Kolek; llvmdev@cs.uiuc.edu<br>
<b>Subject:</b> Re: Mips's MicroMips ??<br>
</font><br>
</div>
<div></div>
<div>
<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>
</div>
</div>
</div>
</body>
</html>