diff --git a/llvm/lib/Target/M68k/M68kInstrData.td b/llvm/lib/Target/M68k/M68kInstrData.td --- a/llvm/lib/Target/M68k/M68kInstrData.td +++ b/llvm/lib/Target/M68k/M68kInstrData.td @@ -205,7 +205,9 @@ foreach TYPE = [MxType16, MxType32] in def MOV # TYPE.Size # REG # AM # _TC : MxMove_RM("MxOp"#TYPE.Size#"AddrMode_"#AM), - !cast("MxMoveSrcOpEnc_"#AM)>; + !cast("MxMoveSrcOpEnc_"#AM)> { + let isCodeGenOnly = true; + } } // foreach AM } // let Pattern diff --git a/llvm/test/MC/Disassembler/M68k/data.txt b/llvm/test/MC/Disassembler/M68k/data.txt --- a/llvm/test/MC/Disassembler/M68k/data.txt +++ b/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