llvm-6502/lib/Target/Mips
Jack Carter 42d9ca6299 [mips][msa] Direct Object Emission support for the MSA instruction set.
In more detail, this patch adds the ability to parse, encode and decode MSA registers ($w0-$w31). The format of 2RF instructions (MipsMSAInstrFormat.td) was updated so that we could attach a test case to this patch i.e., the test case parses, encodes and decodes 2 MSA instructions. Following patches will add the remainder of the instructions.

Note that DecodeMSA128BRegisterClass is missing from MipsDisassembler.td because it's not yet required at this stage and having it would cause a compiler warning (unused function).

Patch by Matheus Almeida


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191412 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-25 23:50:44 +00:00
..
AsmParser [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
Disassembler [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
InstPrinter [mips][msa] Added support for matching shf from normal IR (i.e. not intrinsics) 2013-09-24 14:20:00 +00:00
MCTargetDesc Generate compact unwind encoding from CFI directives. 2013-09-09 02:37:14 +00:00
TargetInfo
CMakeLists.txt Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td Support for misc microMIPS instructions. 2013-09-14 06:49:25 +00:00
MicroMipsInstrInfo.td Support for microMIPS DIV instructions. 2013-09-14 07:15:21 +00:00
Mips16FrameLowering.cpp
Mips16FrameLowering.h
Mips16HardFloat.cpp Fix a bad typo in the inline assembly code for mips16 pic fp stubs 2013-09-25 20:58:50 +00:00
Mips16HardFloat.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp
Mips16InstrInfo.h
Mips16InstrInfo.td Fix two issues regarding Got pointer (GP) setup. 2013-09-18 22:46:09 +00:00
Mips16ISelDAGToDAG.cpp Fix two issues regarding Got pointer (GP) setup. 2013-09-18 22:46:09 +00:00
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Revert r191350. 2013-09-25 00:52:34 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp
Mips16RegisterInfo.h
Mips64InstrInfo.td [mips] Add definition of instruction "drotr32" (double rotate right plus 32). 2013-09-07 00:18:01 +00:00
Mips.h Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
Mips.td
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h
MipsAsmPrinter.cpp
MipsAsmPrinter.h
MipsCallingConv.td
MipsCodeEmitter.cpp [mips] Define "trap" as a pseudo instruction that turns into "break 0, 0". 2013-09-06 23:52:46 +00:00
MipsCondMov.td [mips] Set instruction itineraries of loads, stores and conditional moves. 2013-09-06 23:28:24 +00:00
MipsConstantIslandPass.cpp
MipsDelaySlotFiller.cpp
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td [mips] Use uimm5 and uimm6 instead of shamt and imm, if the immediate has to fit 2013-09-07 00:02:02 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsInstrFormats.td Fixed bug when generating Load Upper Immediate microMIPS instruction. 2013-09-14 07:35:41 +00:00
MipsInstrFPU.td This patch implements Mips load/store instructions from/to coprocessor 2. Test cases are added. 2013-09-16 10:29:42 +00:00
MipsInstrInfo.cpp
MipsInstrInfo.h
MipsInstrInfo.td [mips] MUL should clobber HI0 and LO0. 2013-09-20 21:22:28 +00:00
MipsISelDAGToDAG.cpp [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching BUILD_VECTOR. 2013-09-24 13:33:07 +00:00
MipsISelDAGToDAG.h [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching BUILD_VECTOR. 2013-09-24 13:33:07 +00:00
MipsISelLowering.cpp Revert r191350. 2013-09-25 00:52:34 +00:00
MipsISelLowering.h Revert r191350. 2013-09-25 00:52:34 +00:00
MipsJITInfo.cpp [test commit] Minor comment change. 2013-07-24 13:02:35 +00:00
MipsJITInfo.h
MipsLongBranch.cpp
MipsMachineFunction.cpp
MipsMachineFunction.h [mips] Move public functions to the beginning of the class definition. 2013-09-25 00:34:42 +00:00
MipsMCInstLower.cpp
MipsMCInstLower.h
MipsModuleISelDAGToDAG.cpp
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
MipsMSAInstrInfo.td [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
MipsOs16.cpp Make nomips16 mask not repeat if it ends with a '.'. 2013-09-23 22:36:11 +00:00
MipsOs16.h
MipsRegisterInfo.cpp [mips][msa] Added cfcmsa, and ctcmsa 2013-08-28 10:26:24 +00:00
MipsRegisterInfo.h
MipsRegisterInfo.td [mips][msa] Direct Object Emission support for the MSA instruction set. 2013-09-25 23:50:44 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp
MipsSEFrameLowering.h
MipsSEInstrInfo.cpp [mips] Enhance command line option "-mno-ldc1-sdc1" to expand base+index double 2013-09-07 00:52:30 +00:00
MipsSEInstrInfo.h [mips] Enhance command line option "-mno-ldc1-sdc1" to expand base+index double 2013-09-07 00:52:30 +00:00
MipsSEISelDAGToDAG.cpp [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching BUILD_VECTOR. 2013-09-24 13:33:07 +00:00
MipsSEISelDAGToDAG.h [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching BUILD_VECTOR. 2013-09-24 13:33:07 +00:00
MipsSEISelLowering.cpp [mips][msa] Added support for matching pckev, and pckod from normal IR (i.e. not intrinsics) 2013-09-24 14:53:25 +00:00
MipsSEISelLowering.h [mips][msa] Added support for matching vshf from normal IR (i.e. not intrinsics) 2013-09-24 14:02:15 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp
MipsSERegisterInfo.h
MipsSubtarget.cpp Fix a problem with dual mips16/mips32 mode. When the underlying processor 2013-08-30 19:40:56 +00:00
MipsSubtarget.h Fix a problem with dual mips16/mips32 mode. When the underlying processor 2013-08-30 19:40:56 +00:00
MipsTargetMachine.cpp Turn MipsOptimizeMathLibCalls into a target-independent scalar transform 2013-08-23 10:27:02 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h