<html><head><meta http-equiv="Content-Type" content="text/html charset=windows-1252"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On Jun 25, 2014, at 10:40 PM, Jun Koi <<a href="mailto:junkoi2004@gmail.com">junkoi2004@gmail.com</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 26, 2014 at 10:23 AM, Adam Nemet <span dir="ltr"><<a href="mailto:anemet@apple.com" target="_blank">anemet@apple.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="auto"><div><div class="h5"><div><br></div><div><br>On Jun 25, 2014, at 7:05 PM, Jun Koi <<a href="mailto:junkoi2004@gmail.com" target="_blank">junkoi2004@gmail.com</a>> wrote:<br>

<br></div><blockquote type="cite"><div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Thu, Jun 26, 2014 at 5:47 AM, Adam Nemet <span dir="ltr"><<a href="mailto:anemet@apple.com" target="_blank">anemet@apple.com</a>></span> wrote:<br>



<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi Jun,<br>
<div><br>
On Jun 25, 2014, at 8:14 AM, Jun Koi <<a href="mailto:junkoi2004@gmail.com" target="_blank">junkoi2004@gmail.com</a>> wrote:<br>
<br>
> Hi,<br>
><br>
> I am trying to assemble below instruction with latest LLVM code, but fail. Am I doing something wrong, or is this a bug?<br>
><br>
><br>
> $ echo "vaddps zmm7 {k6}, zmm2, zmm4, {rd-sae}"|./Release+Asserts/bin/llvm-mc -assemble -triple=x86_64 -mcpu=knl -show-encoding -x86-asm-syntax=intel<br>
>     .text<br>
> <stdin>:1:31: error: unknown token in expression<br>
> vaddps zmm7 {k6}, zmm2, zmm4, {rd-sae}<br>
>                               ^<br>
> <stdin>:1:31: error: unknown token in expression<br>
> vaddps zmm7 {k6}, zmm2, zmm4, {rd-sae}<br>
<br>
</div>Unfortunately, I don’t think sae is supported yet.  (I think the ^ is misplaced; it should point to the {rd-sae}.)<br>
<br>
(I may be wrong here but looks like even the X86AsmParser is lacking support for sae even though some instruction in the .td file contain {sae} in their asm syntax.)<br></blockquote><div><br></div><div>Oh it seems also the disasm support for sae is lacking:<br>



<br>$ echo "62 f1 6c 1e 58 fc"|./Release+Asserts/bin/llvm-mc -disassemble -triple=x86_64<br>    .text<br><stdin>:1:4: error: invalid input token<br>62 f1 6c 1e 58 fc<br></div></div></div></div></blockquote>

<div><br></div></div></div><div>That's not too surprising; assembler and disassembler support go hand in hand. </div><div class=""><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">

<div>I hope there is a plan to o support this SAE stuff soon?<br></div></div></div></div></blockquote><div><br></div></div>Assembler support is in pretty good shape otherwise. I expect that this will be added as soon as someone really needs it. Help is always welcome ;)<div>

<br></div></div></blockquote><div><br></div><div>Yes, I would love to, but do not know where to fix.<br><br></div><div>Seems like I need to work on the lib/Target/X86/X86InstrAVX512.td file to add the missing SAE support?<br></div></div></div></div></blockquote><div><br></div><div>I think it will be a bit more involved than that.  As I said, I don’t think even the parser supports RC or SAE.  See lib/Target/X86/AsmParser/X86AsmParser.cpp.</div><div><br></div><div>Looks like that some instructions have RC operands (see avx512_vcvt_fp_with_rc) and also a bit of support in the InstPrinter (X86ATTInstPrinter::printRoundingControl).  I am actually not sure that that is properly hooked up in the disassembler.</div><div><br></div><div>Also there are no tests for SAE/RC in avx512-encodings.s or avx-512.txt.  That also suggests that the work is incomplete.</div><div><br></div><div>Adam</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>

<br></div><div>Thanks,<br>Jun<br><br></div></div><br></div></div>
</blockquote></div><br></body></html>