[PATCH] D125948: [M68k] Fix decoding conflict between move instructions and their tail call version

Sheng via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Wed May 18 23:31:33 PDT 2022


0x59616e updated this revision to Diff 430582.
0x59616e added a comment.

Fix failed test


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D125948/new/

https://reviews.llvm.org/D125948

Files:
  llvm/lib/Target/M68k/M68kInstrData.td
  llvm/test/MC/Disassembler/M68k/data.txt


Index: llvm/test/MC/Disassembler/M68k/data.txt
===================================================================
--- llvm/test/MC/Disassembler/M68k/data.txt
+++ llvm/test/MC/Disassembler/M68k/data.txt
@@ -4,3 +4,51 @@
 0x20 0x49
 # CHECK: lea (50,%a0), %a1
 0x43 0xe8 0x00 0x32
+
+# CHECK: move.w (%a2), %a0
+0x30 0x52
+
+# CHECK: move.w (%a1), %d2
+0x34 0x11
+
+# CHECK; move.w (%a2)+, %a4
+0x38 0x5a
+
+# CHECK: move.w (%a0)+, %d2
+0x34 0x18
+
+# CHECK: move.w -(%sp), %a1
+0x32 0x67
+
+# CHECK: move.w -(%a6), %d7
+0x3e 0x26
+
+# CHECK: move.w (12576,%a0), %a5
+0x3a 0x68 0x31 0x20
+
+# CHECK: move.w (256,%sp), %d1
+0x32 0x2f 0x01 0x00
+
+# CHECK: move.l (32,%a0,%d1), %sp
+0x2e 0x70 0x18 0x20
+
+# CHECK: move.l (64,%sp,%a0), %d0
+0x20 0x37 0x88 0x40
+
+# CHECK: move.l $f0000000, %a5
+0x2a 0x79 0x00 0x00 0xf0 0x00
+
+# CHECK: move.l $1, %d0
+0x20 0x39 0x00 0x01 0x00 0x00
+
+# CHECK: move.l (32768,%pc), %a2
+0x24 0x7a 0x80 0x00
+
+# CHECK: move.l (16384,%pc), %d1
+0x22 0x3a 0x40 0x00
+
+# CHECK: move.l (128,%pc,%a0), %a5
+0x2a 0x7b 0x88 0x80
+
+# CHECK: move.l (129,%pc,%d2), %d3
+0x26 0x3b 0x28 0x81
Index: llvm/lib/Target/M68k/M68kInstrData.td
===================================================================
--- llvm/lib/Target/M68k/M68kInstrData.td
+++ llvm/lib/Target/M68k/M68kInstrData.td
@@ -205,7 +205,9 @@
     foreach TYPE = [MxType16, MxType32] in
     def MOV # TYPE.Size # REG # AM # _TC
         : MxMove_RM<TYPE, REG, !cast<MxOpBundle>("MxOp"#TYPE.Size#"AddrMode_"#AM),
-                    !cast<MxEncMemOp>("MxMoveSrcOpEnc_"#AM)>;
+                    !cast<MxEncMemOp>("MxMoveSrcOpEnc_"#AM)> {
+      let isCodeGenOnly = true;
+    }
   } // foreach AM
 } // let Pattern
 


-------------- next part --------------
A non-text attachment was scrubbed...
Name: D125948.430582.patch
Type: text/x-patch
Size: 1706 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20220519/d9e4617f/attachment.bin>


More information about the llvm-commits mailing list