[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)
commit5cfebdde2bf73e610146aff74067e538d5a89df3
treec3abbe7e682a08b288ce1851fb12d4bac5a92011
parent2c6d73207ec948ed62433818e6ce197ca571c795
[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

llvm-svn: 226657
18 files changed:
llvm/lib/Target/Mips/AsmParser/MipsAsmParser.cpp
llvm/lib/Target/Mips/Disassembler/MipsDisassembler.cpp
llvm/lib/Target/Mips/InstPrinter/MipsInstPrinter.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsAsmBackend.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsELFObjectWriter.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsFixupKinds.h
llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.cpp
llvm/lib/Target/Mips/MCTargetDesc/MipsMCCodeEmitter.h
llvm/lib/Target/Mips/MicroMipsInstrFormats.td
llvm/lib/Target/Mips/MicroMipsInstrInfo.td
llvm/lib/Target/Mips/MipsInstrInfo.td
llvm/test/MC/Disassembler/Mips/micromips.txt
llvm/test/MC/Disassembler/Mips/micromips_le.txt
llvm/test/MC/Mips/micromips-16-bit-instructions.s
llvm/test/MC/Mips/micromips-branch-fixup.s [moved from llvm/test/MC/Mips/micromips-branch16.s with 77% similarity]
llvm/test/MC/Mips/micromips-branch-instructions.s
llvm/test/MC/Mips/micromips-branch7.s [deleted file]
llvm/test/MC/Mips/micromips-diagnostic-fixup.s