[llvm] [AVR] Remove LPM/ELPM custom decoder (NFC) (PR #156928)
Sergei Barannikov via llvm-commits
llvm-commits at lists.llvm.org
Thu Sep 4 09:56:58 PDT 2025
https://github.com/s-barannikov created https://github.com/llvm/llvm-project/pull/156928
Follow-up to #156361.
>From 4337cebdd77fcebdca2c64046602413c1dd5f034 Mon Sep 17 00:00:00 2001
From: Sergei Barannikov <barannikov88 at gmail.com>
Date: Thu, 4 Sep 2025 19:55:19 +0300
Subject: [PATCH] [AVR] Remove LPM/ELPM custom decoder (NFC)
---
llvm/lib/Target/AVR/AVRInstrFormats.td | 12 +++---------
llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp | 8 --------
2 files changed, 3 insertions(+), 17 deletions(-)
diff --git a/llvm/lib/Target/AVR/AVRInstrFormats.td b/llvm/lib/Target/AVR/AVRInstrFormats.td
index eb4daf74545b0..7ffe2e1058b46 100644
--- a/llvm/lib/Target/AVR/AVRInstrFormats.td
+++ b/llvm/lib/Target/AVR/AVRInstrFormats.td
@@ -201,20 +201,14 @@ class FSTLD<bit type, bits<2> mode, dag outs, dag ins, string asmstr,
//===---------------------------------------------------------------------===//
class FLPMX<bit e, bit p, dag outs, dag ins, string asmstr, list<dag> pattern>
: AVRInst16<outs, ins, asmstr, pattern> {
+ bits<0> z;
bits<5> rd;
- let Inst{15 - 12} = 0b1001;
-
- let Inst{11 - 9} = 0b000;
- let Inst{8} = rd{4};
-
- let Inst{7 - 4} = rd{3 - 0};
-
+ let Inst{15 - 9} = 0b1001000;
+ let Inst{8 - 4} = rd;
let Inst{3 - 2} = 0b01;
let Inst{1} = e;
let Inst{0} = p;
-
- let DecoderMethod = "decodeFLPMX";
}
//===----------------------------------------------------------------------===//
diff --git a/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp b/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
index d874697185fac..a6d4655cb5300 100644
--- a/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
+++ b/llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
@@ -150,14 +150,6 @@ static DecodeStatus decodeFRd(MCInst &Inst, unsigned Insn, uint64_t Address,
return MCDisassembler::Success;
}
-static DecodeStatus decodeFLPMX(MCInst &Inst, unsigned Insn, uint64_t Address,
- const MCDisassembler *Decoder) {
- if (decodeFRd(Inst, Insn, Address, Decoder) == MCDisassembler::Fail)
- return MCDisassembler::Fail;
- Inst.addOperand(MCOperand::createReg(AVR::R31R30));
- return MCDisassembler::Success;
-}
-
static DecodeStatus decodeFFMULRdRr(MCInst &Inst, unsigned Insn,
uint64_t Address,
const MCDisassembler *Decoder) {
More information about the llvm-commits
mailing list