[llvm] r199651 - [x86] Fix disassembly of callw instruction

David Woodhouse dwmw2 at infradead.org
Mon Jan 20 04:02:40 PST 2014


Author: dwmw2
Date: Mon Jan 20 06:02:40 2014
New Revision: 199651

URL: http://llvm.org/viewvc/llvm-project?rev=199651&view=rev
Log:
[x86] Fix disassembly of callw instruction

Not quite sure why this was marked isAsmParserOnly, but it means that the
disassembler can't see it either.

Modified:
    llvm/trunk/lib/Target/X86/X86InstrControl.td
    llvm/trunk/test/MC/Disassembler/X86/x86-16.txt

Modified: llvm/trunk/lib/Target/X86/X86InstrControl.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrControl.td?rev=199651&r1=199650&r2=199651&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrControl.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrControl.td Mon Jan 20 06:02:40 2014
@@ -186,6 +186,10 @@ let isCall = 1 in
                            (outs), (ins i32imm_pcrel:$dst),
                            "call{l}\t$dst", [], IIC_CALL_RI>, OpSize16,
                       Requires<[Not64BitMode]>, Sched<[WriteJump]>;
+    def CALLpcrel16 : Ii16PCRel<0xE8, RawFrm,
+                           (outs), (ins i16imm_pcrel:$dst),
+                           "call{w}\t$dst", [], IIC_CALL_RI>, OpSize,
+                      Sched<[WriteJump]>;
     def CALL16r     : I<0xFF, MRM2r, (outs), (ins GR16:$dst),
                         "call{w}\t{*}$dst", [(X86call GR16:$dst)], IIC_CALL_RI>,
                       OpSize, Requires<[Not64BitMode]>, Sched<[WriteJump]>;
@@ -218,12 +222,6 @@ let isCall = 1 in
     def FARCALL32m  : I<0xFF, MRM3m, (outs), (ins opaque48mem:$dst),
                         "lcall{l}\t{*}$dst", [], IIC_CALL_FAR_MEM>, OpSize16,
                       Sched<[WriteJumpLd]>;
-
-    // callw for 16 bit code for the assembler.
-    let isAsmParserOnly = 1 in
-      def CALLpcrel16 : Ii16PCRel<0xE8, RawFrm,
-                       (outs), (ins i16imm_pcrel:$dst),
-                       "callw\t$dst", []>, OpSize;
   }
 
 

Modified: llvm/trunk/test/MC/Disassembler/X86/x86-16.txt
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/Disassembler/X86/x86-16.txt?rev=199651&r1=199650&r2=199651&view=diff
==============================================================================
--- llvm/trunk/test/MC/Disassembler/X86/x86-16.txt (original)
+++ llvm/trunk/test/MC/Disassembler/X86/x86-16.txt Mon Jan 20 06:02:40 2014
@@ -492,8 +492,8 @@
 # CHECK: calll 
 0x66 0xe8 0x00 0x00 0x00 0x00
 
-# CHECKX: callw
-#0xe8 0x00 0x00
+# CHECK: callw
+0xe8 0x00 0x00
 
 # CHECK: incb %al
 0xfe 0xc0





More information about the llvm-commits mailing list