1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-10-21 03:53:04 +02:00
llvm-mirror/test/MC
Daniel Sanders 82d0942fd2 [mips][mips64r6] Add b[on]vc
Summary:
This required me to implement the disassembler for MIPS64r6 since the encodings
are ambiguous with other instructions. This in turn revealed a few
assembly/disassembly bugs which I have fixed.

* da[ht]i only take two operands according to the spec, not three.
* DecodeBranchTarget2[16] correctly handles wider immediates than simm16
  * Also made non-functional change to DecodeBranchTarget and
    DecodeBranchTargetMM to keep implementation style consistent between
    them.
* Difficult encodings are handled by a custom decode method on the most
  general encoding in the group. This method will convert the MCInst to a
  different opcode if necessary.

DecodeBranchTarget is not currently the inverse of getBranchTargetOpValue
so disassembling some branch instructions emit incorrect output. This seems
to affect branches with delay slots on all MIPS ISA's. I've left this bug
for now and temporarily removed the check for the immediate on
bc[12]eqz/bc[12]nez in the MIPS32r6/MIPS64r6 tests.

jialc and jic crash the disassembler for some reason. I've left these
instructions commented out for the moment.

Depends on D3760

Reviewers: jkolek, zoran.jovanovic, vmedic

Reviewed By: vmedic

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

llvm-svn: 209415
2014-05-22 11:23:21 +00:00
..
AArch64 [ARM64] Port basic-a64-diagnostics.s over to ARM64 2014-05-20 13:33:41 +00:00
ARM MC: correct IMAGE_REL_ARM_MOV32T relocation emission 2014-05-21 23:17:56 +00:00
ARM64 TableGen: convert InstAlias's Emit bit to an int. 2014-05-20 09:17:16 +00:00
AsmParser MC: loosen an overzealous assertion 2014-05-21 17:53:18 +00:00
COFF MC: formalise some assertions into proper errors 2014-05-22 02:18:10 +00:00
Disassembler [mips][mips64r6] Add b[on]vc 2014-05-22 11:23:21 +00:00
ELF Move MCOptions that aren't shared between programs into their specific 2014-05-21 21:05:09 +00:00
MachO This command line option is only used in one place. Move it there and 2014-05-21 00:20:01 +00:00
Markup
Mips [mips][mips64r6] Add b[on]vc 2014-05-22 11:23:21 +00:00
PowerPC [MC] Emit an error if cfi_startproc is used before a symbol is defined. 2014-04-15 01:17:45 +00:00
Sparc TableGen: fix operand counting for aliases 2014-05-16 09:42:04 +00:00
SystemZ [SystemZ] Add support for z196 float<->unsigned conversions 2014-03-21 10:56:30 +00:00
X86 TableGen: use PrintMethods to print more aliases 2014-05-12 18:04:06 +00:00