[all-commits] [llvm/llvm-project] 15bf42: [AVR] Implement disassembly of 32-bit instructions

Ayke via All-commits all-commits at lists.llvm.org
Thu Jun 18 02:27:29 PDT 2020


  Branch: refs/heads/master
  Home:   https://github.com/llvm/llvm-project
  Commit: 15bf42d503b9c388135308d37e1d153a05b33699
      https://github.com/llvm/llvm-project/commit/15bf42d503b9c388135308d37e1d153a05b33699
  Author: Ayke van Laethem <aykevanlaethem at gmail.com>
  Date:   2020-06-18 (Thu, 18 Jun 2020)

  Changed paths:
    M llvm/lib/Target/AVR/AVRInstrInfo.td
    M llvm/lib/Target/AVR/Disassembler/AVRDisassembler.cpp
    M llvm/test/MC/AVR/inst-call.s
    M llvm/test/MC/AVR/inst-jmp.s
    M llvm/test/MC/AVR/inst-lds.s
    M llvm/test/MC/AVR/inst-sts.s

  Log Message:
  -----------
  [AVR] Implement disassembly of 32-bit instructions

This needed two fixes:

  * 32-bit instructions were read in the wrong order. The machine code
    swaps the two 16-bit instruction words, which wasn't undone when
    decoding instructions.
  * Jump and call instructions don't encode the lowest address bit,
    which is always zero. Therefore, the address needed to be shifted by
    one to fix that.

Differential Revision: https://reviews.llvm.org/D81961




More information about the All-commits mailing list