[mips][microMIPS] MicroMIPS 16-bit unconditional branch instruction B
authorJozef Kolek <jozef.kolek@imgtec.com>
Wed, 21 Jan 2015 12:39:30 +0000 (12:39 +0000)
committerJozef Kolek <jozef.kolek@imgtec.com>
Wed, 21 Jan 2015 12:39:30 +0000 (12:39 +0000)
commitdb8552c8340546d687c7f8c3127b845315eafde5
treea52b49cb1ebe845c92c69b7f6ffdde47e871a570
parent16dbcd741fc8c81f899ab6c84e8febb674d987ac
[mips][microMIPS] MicroMIPS 16-bit unconditional branch instruction B

Implement microMIPS 16-bit unconditional branch instruction B.

Implemented 16-bit microMIPS unconditional instruction has real name B16, and
B is an alias which expands to either B16 or BEQ according to the rules:
b 256 --> b16 256 # R_MICROMIPS_PC10_S1
b 12256 --> beq $zero, $zero, 12256 # R_MICROMIPS_PC16_S1
b label --> beq $zero, $zero, label # R_MICROMIPS_PC16_S1

Differential Revision: http://reviews.llvm.org/D3514

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@226657 91177308-0d34-0410-b5e6-96231b3b80d8
19 files changed:
lib/Target/Mips/AsmParser/MipsAsmParser.cpp
lib/Target/Mips/Disassembler/MipsDisassembler.cpp
lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h
lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h
lib/Target/Mips/MicroMipsInstrFormats.td
lib/Target/Mips/MicroMipsInstrInfo.td
lib/Target/Mips/MipsInstrInfo.td
test/MC/Disassembler/Mips/micromips.txt
test/MC/Disassembler/Mips/micromips_le.txt
test/MC/Mips/micromips-16-bit-instructions.s
test/MC/Mips/micromips-branch-fixup.s [new file with mode: 0644]
test/MC/Mips/micromips-branch-instructions.s
test/MC/Mips/micromips-branch16.s [deleted file]
test/MC/Mips/micromips-branch7.s [deleted file]
test/MC/Mips/micromips-diagnostic-fixup.s