Lines Matching refs:Insn

89 static DecodeStatus decodeFIOARr(MCInst &Inst, unsigned Insn, uint64_t Address,
92 static DecodeStatus decodeFIORdA(MCInst &Inst, unsigned Insn, uint64_t Address,
95 static DecodeStatus decodeFIOBIT(MCInst &Inst, unsigned Insn, uint64_t Address,
98 static DecodeStatus decodeCallTarget(MCInst &Inst, unsigned Insn,
102 static DecodeStatus decodeFRd(MCInst &Inst, unsigned Insn, uint64_t Address,
105 static DecodeStatus decodeFLPMX(MCInst &Inst, unsigned Insn, uint64_t Address,
108 static DecodeStatus decodeFFMULRdRr(MCInst &Inst, unsigned Insn,
112 static DecodeStatus decodeFMOVWRdRr(MCInst &Inst, unsigned Insn,
116 static DecodeStatus decodeFWRdK(MCInst &Inst, unsigned Insn, uint64_t Address,
119 static DecodeStatus decodeFMUL2RdRr(MCInst &Inst, unsigned Insn,
123 static DecodeStatus decodeMemri(MCInst &Inst, unsigned Insn, uint64_t Address,
126 static DecodeStatus decodeLoadStore(MCInst &Inst, unsigned Insn,
132 static DecodeStatus decodeFIOARr(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeFIOARr() argument
135 addr |= fieldFromInstruction(Insn, 0, 4); in decodeFIOARr()
136 addr |= fieldFromInstruction(Insn, 9, 2) << 4; in decodeFIOARr()
137 unsigned reg = fieldFromInstruction(Insn, 4, 5); in decodeFIOARr()
145 static DecodeStatus decodeFIORdA(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeFIORdA() argument
148 addr |= fieldFromInstruction(Insn, 0, 4); in decodeFIORdA()
149 addr |= fieldFromInstruction(Insn, 9, 2) << 4; in decodeFIORdA()
150 unsigned reg = fieldFromInstruction(Insn, 4, 5); in decodeFIORdA()
158 static DecodeStatus decodeFIOBIT(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeFIOBIT() argument
160 unsigned addr = fieldFromInstruction(Insn, 3, 5); in decodeFIOBIT()
161 unsigned b = fieldFromInstruction(Insn, 0, 3); in decodeFIOBIT()
176 static DecodeStatus decodeFRd(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeFRd() argument
178 unsigned d = fieldFromInstruction(Insn, 4, 5); in decodeFRd()
185 static DecodeStatus decodeFLPMX(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeFLPMX() argument
187 if (decodeFRd(Inst, Insn, Address, Decoder) == MCDisassembler::Fail) in decodeFLPMX()
193 static DecodeStatus decodeFFMULRdRr(MCInst &Inst, unsigned Insn, in decodeFFMULRdRr() argument
196 unsigned d = fieldFromInstruction(Insn, 4, 3) + 16; in decodeFFMULRdRr()
197 unsigned r = fieldFromInstruction(Insn, 0, 3) + 16; in decodeFFMULRdRr()
207 static DecodeStatus decodeFMOVWRdRr(MCInst &Inst, unsigned Insn, in decodeFMOVWRdRr() argument
210 unsigned r = fieldFromInstruction(Insn, 4, 4) * 2; in decodeFMOVWRdRr()
211 unsigned d = fieldFromInstruction(Insn, 0, 4) * 2; in decodeFMOVWRdRr()
221 static DecodeStatus decodeFWRdK(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeFWRdK() argument
223 unsigned d = fieldFromInstruction(Insn, 4, 2) * 2 + 24; // starts at r24:r25 in decodeFWRdK()
225 k |= fieldFromInstruction(Insn, 0, 4); in decodeFWRdK()
226 k |= fieldFromInstruction(Insn, 6, 2) << 4; in decodeFWRdK()
237 static DecodeStatus decodeFMUL2RdRr(MCInst &Inst, unsigned Insn, in decodeFMUL2RdRr() argument
240 unsigned rd = fieldFromInstruction(Insn, 4, 4) + 16; in decodeFMUL2RdRr()
241 unsigned rr = fieldFromInstruction(Insn, 0, 4) + 16; in decodeFMUL2RdRr()
251 static DecodeStatus decodeMemri(MCInst &Inst, unsigned Insn, uint64_t Address, in decodeMemri() argument
256 if (Insn > 127) in decodeMemri()
261 MCOperand::createReg((Insn & 0x40) ? AVR::R29R28 : AVR::R31R30)); in decodeMemri()
263 Inst.addOperand(MCOperand::createImm(Insn & 0x3f)); in decodeMemri()
268 static DecodeStatus decodeLoadStore(MCInst &Inst, unsigned Insn, in decodeLoadStore() argument
272 unsigned RegVal = GPRDecoderTable[(Insn >> 4) & 0x1f]; in decodeLoadStore()
275 if ((Insn & 0xf000) == 0x8000) { in decodeLoadStore()
276 unsigned RegBase = (Insn & 0x8) ? AVR::R29R28 : AVR::R31R30; in decodeLoadStore()
277 unsigned Offset = Insn & 7; // We need not consider offset > 7. in decodeLoadStore()
278 if ((Insn & 0x200) == 0) { // Decode LDD. in decodeLoadStore()
310 if ((Insn & 0xfc00) != 0x9000 || (Insn & 0xf) == 0) in decodeLoadStore()
315 switch (Insn & 0xc) { in decodeLoadStore()
330 switch (Insn & 0x203) { in decodeLoadStore()
358 if ((Insn & 0x200) == 0) { // This is a load instruction. in decodeLoadStore()
374 uint64_t &Size, uint32_t &Insn) { in readInstruction16() argument
381 Insn = (Bytes[0] << 0) | (Bytes[1] << 8); in readInstruction16()
387 uint64_t &Size, uint32_t &Insn) { in readInstruction32() argument
395 Insn = in readInstruction32()
417 uint32_t Insn; in getInstruction() local
423 Result = readInstruction16(Bytes, Address, Size, Insn); in getInstruction()
429 Result = decodeInstruction(getDecoderTable(Size), Instr, Insn, Address, in getInstruction()
436 Result = decodeLoadStore(Instr, Insn, Address, this); in getInstruction()
443 Result = readInstruction32(Bytes, Address, Size, Insn); in getInstruction()
448 Result = decodeInstruction(getDecoderTable(Size), Instr, Insn, Address, in getInstruction()