大于64位的支持

Text Only
BigEncoder.td

新的getBinaryCodeForInstr通过使用APINT来支持大于64位的指令,可参考AMDGPU和M18k的用法

C++
  void getBinaryCodeForInstr(const MCInst &MI, SmallVectorImpl<MCFixup> &Fixups,
                             APInt &Inst, APInt &Scratch,
                             const MCSubtargetInfo &STI) const;

旧版函数只支持64位的定义

C++
// getBinaryCodeForInstr - TableGen'erated function for getting the
  // binary encoding for an instruction.
  uint64_t getBinaryCodeForInstr(const MCInst &MI,
                                 SmallVectorImpl<MCFixup> &Fixups,
                                 const MCSubtargetInfo &STI) const;