llvm-6502/lib/Target/Mips
Daniel Sanders 672996e18e [mips] Generate code for insert/extract operations when using the N64 ABI and MSA.
Summary:
When using the N64 ABI, element-indices use the i64 type instead of i32.
In many cases, we can use iPTR to account for this but additional patterns
and pseudo's are also required.

This fixes most (but not quite all) failures in the test-suite when using
N64 and MSA together.

Reviewers: vkalintiris

Reviewed By: vkalintiris

Subscribers: llvm-commits

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


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@236494 91177308-0d34-0410-b5e6-96231b3b80d8
2015-05-05 10:32:24 +00:00
..
AsmParser [mips] [IAS] Fix error messages for using LI with 64-bit immediates. 2015-05-01 12:19:27 +00:00
Disassembler [mips][microMIPSr6] Implement disassembler support 2015-04-20 14:40:38 +00:00
InstPrinter [MCInstPrinter] Enable MCInstPrinter to change its behavior based on the 2015-03-27 20:36:02 +00:00
MCTargetDesc [mips][microMIPSr6] Implement mips32 to microMIPSr6 mapping support 2015-04-22 13:27:34 +00:00
TargetInfo
CMakeLists.txt MipsABIInfo class is used in different libraries. Moving the files to MCTargetDesc folder(LLVMMipsDesc library) prevents linkage errors. There are no functional changes. 2014-12-17 11:49:56 +00:00
LLVMBuild.txt Prune redundant libdeps. 2014-07-24 11:45:27 +00:00
Makefile Reinstate "Nuke the old JIT." 2014-09-02 22:28:02 +00:00
MicroMips32r6InstrFormats.td [mips][microMIPSr6] Implement ADD, ADDU and ADDIU instructions 2015-04-29 15:11:07 +00:00
MicroMips32r6InstrInfo.td [mips][microMIPSr6] Implement MUL, MUH, MULU and MUHU instructions 2015-04-29 17:23:22 +00:00
MicroMipsInstrFormats.td [mips][microMIPS] Implement movep instruction 2015-02-10 16:36:20 +00:00
MicroMipsInstrFPU.td [mips][microMIPS] Fix opcodes of MFHC1 and MTHC1 instructions. 2014-11-19 13:37:51 +00:00
MicroMipsInstrInfo.td [mips][microMIPS] Make usage of NOT16 by code generator 2015-03-11 20:28:31 +00:00
Mips16FrameLowering.cpp [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
Mips16FrameLowering.h [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
Mips16HardFloat.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
Mips16HardFloatInfo.cpp [C++] Use 'nullptr'. Target edition. 2014-04-25 05:30:21 +00:00
Mips16HardFloatInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16InstrFormats.td Fix a whole bunch of binary literals which were the wrong size. All were being silently zero extended to the correct width. 2014-08-07 05:46:54 +00:00
Mips16InstrInfo.cpp [mips] Make sure that we don't adjust the stack pointer by zero amount. 2015-04-02 10:14:54 +00:00
Mips16InstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
Mips16InstrInfo.td Replace neverHasSideEffects=1 with hasSideEffects=0 in all .td files. 2014-11-26 00:46:26 +00:00
Mips16ISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
Mips16ISelDAGToDAG.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
Mips16ISelLowering.cpp Remove an argument-less call to getSubtargetImpl from TargetLoweringBase. 2015-02-26 00:00:24 +00:00
Mips16ISelLowering.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
Mips16RegisterInfo.cpp Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips16RegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
Mips32r6InstrFormats.td [mips][microMIPSr6] Implement initial mapping support 2015-04-20 12:42:08 +00:00
Mips32r6InstrInfo.td [mips][microMIPSr6] Implement MUL, MUH, MULU and MUHU instructions 2015-04-29 17:23:22 +00:00
Mips64InstrInfo.td [mips][msa] Test basic operations for the N32 ABI too. 2015-05-05 08:48:35 +00:00
Mips64r6InstrInfo.td [mips] Fix two patterns that select i32's (for MIPS32r6) / i64's (for MIPS64r6) 2014-07-22 13:36:02 +00:00
Mips.h [mips] Remove trivial header for the MipsModuleISelDAGToDAG pass. NFC. 2015-03-14 09:20:52 +00:00
Mips.td [mips] Remove redundant periods from -mattr=help descriptions for MIPS. 2015-02-27 10:44:02 +00:00
MipsAnalyzeImmediate.cpp Remove unnecessary copying or replace it with moves in a bunch of places. 2014-10-04 16:55:56 +00:00
MipsAnalyzeImmediate.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsAsmPrinter.cpp [AsmPrinter] Make AsmPrinter's OutStreamer member a unique_ptr. 2015-04-24 19:11:51 +00:00
MipsAsmPrinter.h Remove obsolete comment. 2015-02-21 08:48:23 +00:00
MipsCallingConv.td Mips fast-isel - handle functions which return i8 or i6 . 2015-04-29 14:17:14 +00:00
MipsCCState.cpp AArch64: Safely handle the incoming sret call argument. 2015-02-16 18:10:47 +00:00
MipsCCState.h Removing LLVM_DELETED_FUNCTION, as MSVC 2012 was the last reason for requiring the macro. NFC; LLVM edition. 2015-02-15 22:54:22 +00:00
MipsCondMov.td [mips] Enable code generation for MIPS-III. 2014-12-12 15:16:46 +00:00
MipsConstantIslandPass.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsDelaySlotFiller.cpp [mips] Teach the delay slot filler to remove needless KILL instructions. 2015-04-17 12:01:02 +00:00
MipsDSPInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsDSPInstrInfo.td
MipsFastISel.cpp Mips fast-isel - handle functions which return i8 or i6 . 2015-04-29 14:17:14 +00:00
MipsFrameLowering.cpp [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
MipsFrameLowering.h [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
MipsInstrFormats.td [mips][microMIPSr6] Implement mips32 to microMIPSr6 mapping support 2015-04-22 13:27:34 +00:00
MipsInstrFPU.td [mips] Cleanup old floating-point flag conditions definitions. NFC. 2015-04-21 10:53:57 +00:00
MipsInstrInfo.cpp Update include - this class doesn't use the target machine, but 2015-01-08 18:18:54 +00:00
MipsInstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
MipsInstrInfo.td [mips][microMIPSr6] Implement ADD, ADDU and ADDIU instructions 2015-04-29 15:11:07 +00:00
MipsISelDAGToDAG.cpp [mips] Distinguish 'R', 'ZC', and 'm' inline assembly memory constraint. 2015-03-24 11:26:34 +00:00
MipsISelDAGToDAG.h Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
MipsISelLowering.cpp [mips] Correct 128-bit shifts on 64-bit targets. 2015-04-29 12:28:58 +00:00
MipsISelLowering.h [mips] Distinguish 'R', 'ZC', and 'm' inline assembly memory constraint. 2015-03-24 11:26:34 +00:00
MipsLongBranch.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsMachineFunction.cpp [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMachineFunction.h [Mips] Use unique_ptr to manage ownership. 2015-04-16 12:43:33 +00:00
MipsMCInstLower.cpp Remove MCStreamer.h include from MCContext.h and explictly include it where necessary. NFC 2015-03-04 01:24:11 +00:00
MipsMCInstLower.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsModuleISelDAGToDAG.cpp Purge unused includes throughout libSupport. 2015-03-23 18:07:13 +00:00
MipsMSAInstrFormats.td Make it possible for the Subtarget to change between function 2014-07-10 17:26:51 +00:00
MipsMSAInstrInfo.td [mips] Generate code for insert/extract operations when using the N64 ABI and MSA. 2015-05-05 10:32:24 +00:00
MipsOptimizePICCall.cpp Remove most of the TargetMachine::getSubtarget/getSubtargetImpl 2015-01-29 23:27:36 +00:00
MipsOptionRecord.h Use 'override/final' instead of 'virtual' for overridden methods 2015-04-11 02:11:45 +00:00
MipsOs16.cpp Re-sort includes with sort-includes.py and insert raw_ostream.h where it's used. 2015-03-23 19:32:43 +00:00
MipsRegisterInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsRegisterInfo.h Mips: Remove dead declaration 2015-04-30 19:35:43 +00:00
MipsRegisterInfo.td [mips] Honour -mno-odd-spreg for vector insert/extract when MSA is enabled. 2015-02-23 17:22:16 +00:00
MipsSchedule.td [mips] Add itineraries for ext and ins instructions. 2015-03-18 06:28:38 +00:00
MipsSEFrameLowering.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEFrameLowering.h [mips] Implement eliminateCallFramePseudoInstr() in MipsFrameLowering. NFC. 2015-04-02 11:09:40 +00:00
MipsSEInstrInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSEInstrInfo.h [mips] Expose adjustStackPtr() from MipsInstrInfo. NFC. 2015-04-02 10:42:44 +00:00
MipsSEISelDAGToDAG.cpp Reapply r235977 "[DebugInfo] Add debug locations to constant SD nodes" 2015-04-28 14:05:47 +00:00
MipsSEISelDAGToDAG.h [mips] Distinguish 'R', 'ZC', and 'm' inline assembly memory constraint. 2015-03-24 11:26:34 +00:00
MipsSEISelLowering.cpp [mips] Generate code for insert/extract operations when using the N64 ABI and MSA. 2015-05-05 10:32:24 +00:00
MipsSEISelLowering.h Re-commit r221056 and others with fix, "[mips] Move F128 argument handling into MipsCCState as we did for returns. NFC." 2014-11-02 16:09:29 +00:00
MipsSelectionDAGInfo.cpp Have MipsSelectionDAGInfo constructor take a DataLayout rather 2014-06-27 04:38:30 +00:00
MipsSelectionDAGInfo.h Canonicalize header guards into a common format. 2014-08-13 16:26:38 +00:00
MipsSERegisterInfo.cpp [mips] Move ABI-dependent register selections to MipsABIInfo. NFC. 2015-04-17 09:50:21 +00:00
MipsSERegisterInfo.h Remove the need to cache the subtarget in the Mips TargetRegisterInfo 2015-03-12 05:43:57 +00:00
MipsSubtarget.cpp Fix wording and grammar in Mips subtarget options. 2015-02-20 08:42:34 +00:00
MipsSubtarget.h [mips][microMIPSr6] Implement initial subtarget support 2015-04-20 12:23:06 +00:00
MipsTargetMachine.cpp [mips] Remove trivial header for the MipsModuleISelDAGToDAG pass. NFC. 2015-03-14 09:20:52 +00:00
MipsTargetMachine.h Remove the target independent TargetMachine::getSubtarget and 2015-03-21 04:22:23 +00:00
MipsTargetObjectFile.cpp Grab a subtarget off of a MipsTargetMachine rather than a 2015-03-21 03:13:05 +00:00
MipsTargetObjectFile.h Grab a subtarget off of a MipsTargetMachine rather than a 2015-03-21 03:13:05 +00:00
MipsTargetStreamer.h [mips] [IAS] Add support for the .insn directive. 2015-04-16 09:53:47 +00:00
MSA.txt Revert r221048 - Test commit 2014-11-01 16:08:03 +00:00