[llvm-commits] [PATCH][Review request] disassemble JCXZ JECXZ JRCXZ

Craig Topper craig.topper at gmail.com
Thu Feb 23 20:16:23 PST 2012


Why is this needed? If it is needed, please replace the tab characters at
the beginning of the lines with spaces.

@@ -648,7 +657,10 @@
         if(newInfo.filtered)
           continue; // filtered instructions get lowest priority

-        if(previousInfo.name == "NOOP" && (newInfo.name == "XCHG16ar" ||
+        if(previousInfo.name == "JCXZ" || previousInfo.name == "JECXZ_64")
+      continue; // AdSize prefix distinguishes between JCXZ/JECXZ/JRCXZ
+
+    if(previousInfo.name == "NOOP" && (newInfo.name == "XCHG16ar" ||
                                            newInfo.name == "XCHG32ar" ||
                                            newInfo.name == "XCHG32ar64" ||
                                            newInfo.name == "XCHG64ar"))


Unfortunately, this increases disassembler table size, but there's no good
way around that with the current design. Otherwise LGTM.

~Craig

On Thu, Feb 23, 2012 at 7:10 PM, Kay Tiong Khoo <kkhoo at perfwizard.com>wrote:

> The attached patch enables disassembly of JCXZ/JECXZ (i386) and
> JECXZ/JRCXZ (x86-64). See bug 11643 (
> http://llvm.org/bugs/show_bug.cgi?id=11643 ) for more details.
>
> It's not clear to me why these common instructions were marked with
> "isAsmParserOnly = 1", so I'm not sure if the changes in this patch are the
> best way to enable their disassembly. Please review and let me know. Thanks.
>
> KK
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20120223/6b0e8db0/attachment.html>


More information about the llvm-commits mailing list