Skip to content

Commit 40d89de

Browse files
committed
[m68k] Implement absolution long addressing mode for ADDA instruction
Reviewed By: myhsu Differential Revision: https://reviews.llvm.org/D143316
1 parent 6595cb1 commit 40d89de

File tree

3 files changed

+8
-0
lines changed

3 files changed

+8
-0
lines changed

llvm/lib/Target/M68k/M68kInstrArithmetic.td

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -293,6 +293,8 @@ multiclass MxBiArOp_AF<string MN, SDNode NODE, bits<4> CMD> {
293293
CMD, MxEncAddrMode_p<"opd">>;
294294
def NAME#"32aj" : MxBiArOp_R_RM<MN, NODE, MxType32a, MxType32.JOp, MxType32.JPat,
295295
CMD, MxEncAddrMode_j<"opd">>;
296+
def NAME#"32ab" : MxBiArOp_R_RM<MN, NODE, MxType32a, MxType32.BOp, MxType32.BPat,
297+
CMD, MxEncAddrMode_abs<"opd", true>>;
296298
def NAME#"32ai" : MxBiArOp_R_RI_xEA<MN, NODE, MxType32a, CMD>;
297299

298300
def NAME#"32ar" : MxBiArOp_R_RR_xEA<MN, NODE, MxType32a, MxType32r, CMD>;

llvm/test/MC/Disassembler/M68k/arithmetic.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -214,3 +214,6 @@
214214

215215
# CHECK: or.l %d1, %d6
216216
0x8c 0x81
217+
218+
# CHECK: adda.l $f0001, %a0
219+
0xd1 0xf9 0x00 0x0f 0x00 0x01

llvm/test/MC/M68k/Arith/Classes/MxBiArOp_RFRM.s

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -67,3 +67,6 @@ add.w (%a2), %d0
6767
; CHECK: adda.l (%a1), %a3
6868
; CHECK-SAME: encoding: [0xd7,0xd1]
6969
adda.l (%a1), %a3
70+
; CHECK: adda.l dst, %a0
71+
; CHECK-SAME: encoding: [0xd1,0xf9,A,A,A,A]
72+
adda.l dst,%a0

0 commit comments

Comments
 (0)