llvm-6502/lib/Target/Mips
Daniel Sanders 959f0c3f44 [mips][msa] Fix a corner case in performORCombine() when combining nodes into VSELECT.
Mask == ~InvMask asserts if the width of Mask and InvMask differ.
The combine isn't valid (with two exceptions, see below) if the widths differ
so test for this before testing Mask == ~InvMask.

In the specific cases of Mask=~0 and InvMask=0, as well as Mask=0 and
InvMask=~0, the combine is still valid. However, there are more appropriate
combines that could be used in these cases such as folding x & 0 to 0, or
x & ~0 to x.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195364 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-21 16:11:31 +00:00
..
AsmParser reverts 195057 per request 2013-11-19 20:53:28 +00:00
Disassembler [mips][msa] Fix immediate value of LSA instruction as it was being wrongly encoded. 2013-11-18 12:32:49 +00:00
InstPrinter
MCTargetDesc reverts 195057 per request 2013-11-19 20:53:28 +00:00
TargetInfo
CMakeLists.txt
LLVMBuild.txt
Makefile
MicroMipsInstrFormats.td Use instr mapping for microMIPS in llvm-mc. 2013-11-15 08:07:34 +00:00
MicroMipsInstrInfo.td Support for microMIPS trap instruction with immediate operands. 2013-11-13 13:15:03 +00:00
Mips16FrameLowering.cpp
Mips16FrameLowering.h [mips] Align the stack to 16-bytes for mfp64. 2013-10-29 19:29:03 +00:00
Mips16HardFloat.cpp Add fabsf to the list of inlined functions; otherwise 2013-10-08 19:55:01 +00:00
Mips16HardFloat.h
Mips16InstrFormats.td
Mips16InstrInfo.cpp Make all the conditional Mips 16 branches get initially set for the 2013-11-15 02:21:52 +00:00
Mips16InstrInfo.h Allow the code which returns the length for inline assembler to know 2013-11-13 04:37:52 +00:00
Mips16InstrInfo.td Add, to constant islands, long jumps similar to ARM far branch. 2013-11-21 05:13:23 +00:00
Mips16ISelDAGToDAG.cpp
Mips16ISelDAGToDAG.h
Mips16ISelLowering.cpp Make all the conditional Mips 16 branches get initially set for the 2013-11-15 02:21:52 +00:00
Mips16ISelLowering.h
Mips16RegisterInfo.cpp
Mips16RegisterInfo.h
Mips64InstrInfo.td Support for microMIPS branch instructions. 2013-11-04 14:53:22 +00:00
Mips.h
Mips.td [mips] Compute stack alignment on the fly. 2013-10-30 02:29:43 +00:00
MipsAnalyzeImmediate.cpp
MipsAnalyzeImmediate.h Even more spelling fixes for "instruction". 2013-09-28 13:42:22 +00:00
MipsAsmPrinter.cpp reverts 195057 per request 2013-11-19 20:53:28 +00:00
MipsAsmPrinter.h [mips][msa] Added support for matching bclr, and bclri from normal IR (i.e. not intrinsics) 2013-11-12 10:45:18 +00:00
MipsCallingConv.td
MipsCodeEmitter.cpp [mips][msa] Fix immediate value of LSA instruction as it was being wrongly encoded. 2013-11-18 12:32:49 +00:00
MipsCondMov.td
MipsConstantIslandPass.cpp Add, to constant islands, long jumps similar to ARM far branch. 2013-11-21 05:13:23 +00:00
MipsDelaySlotFiller.cpp [mips] Coding style clean up. 2013-10-07 19:33:02 +00:00
MipsDSPInstrFormats.td
MipsDSPInstrInfo.td [mips] Define a pseudo instruction which writes to both the lower and higher 2013-10-15 01:48:30 +00:00
MipsFrameLowering.cpp
MipsFrameLowering.h
MipsInstrFormats.td Support for microMIPS trap instruction with immediate operands. 2013-11-13 13:15:03 +00:00
MipsInstrFPU.td
MipsInstrInfo.cpp [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
MipsInstrInfo.h [weak vtables] Remove a bunch of weak vtables 2013-11-19 00:57:56 +00:00
MipsInstrInfo.td Use instr mapping for microMIPS in llvm-mc. 2013-11-15 08:07:34 +00:00
MipsISelDAGToDAG.cpp [mips][msa] Added support for matching bclr, and bclri from normal IR (i.e. not intrinsics) 2013-11-12 10:45:18 +00:00
MipsISelDAGToDAG.h [mips][msa] Added support for matching bclr, and bclri from normal IR (i.e. not intrinsics) 2013-11-12 10:45:18 +00:00
MipsISelLowering.cpp [mips] Fix a bug in function CC_MipsO32_FP64. The second double precision 2013-11-12 22:16:18 +00:00
MipsISelLowering.h [mips] Rename isel nodes. 2013-10-15 01:12:50 +00:00
MipsJITInfo.cpp
MipsJITInfo.h
MipsLongBranch.cpp [mips] Simplify and optimize code. 2013-10-08 18:13:24 +00:00
MipsMachineFunction.cpp [mips] Simplify and optimize code. 2013-10-08 18:13:24 +00:00
MipsMachineFunction.h [mips] Define a derived class of PseudoSourceValue that represents a GOT entry 2013-09-27 22:30:36 +00:00
MipsMCInstLower.cpp Add a helper getSymbol to AsmPrinter. 2013-10-29 17:07:16 +00:00
MipsMCInstLower.h The asm printer has a mangler. Use it. 2013-10-29 16:24:21 +00:00
MipsModuleISelDAGToDAG.cpp
MipsModuleISelDAGToDAG.h
MipsMSAInstrFormats.td [mips][msa] Pseudo instructions require HasMSA too. Inherit from MSAPseudo instead of MipsPseudo 2013-11-20 14:32:28 +00:00
MipsMSAInstrInfo.td [mips][msa] Pseudo instructions require HasMSA too. Inherit from MSAPseudo instead of MipsPseudo 2013-11-20 14:32:28 +00:00
MipsOs16.cpp
MipsOs16.h
MipsRegisterInfo.cpp Remove getEHExceptionRegister and getEHHandlerRegister. 2013-10-07 13:39:22 +00:00
MipsRegisterInfo.h Remove getEHExceptionRegister and getEHHandlerRegister. 2013-10-07 13:39:22 +00:00
MipsRegisterInfo.td [mips][msa] Direct Object Emission support for CTCMSA and CFCMSA. 2013-10-21 12:26:50 +00:00
MipsRelocations.h
MipsSchedule.td
MipsSEFrameLowering.cpp [mips] Fix definition of mfhi and mflo instructions to read from the whole 2013-10-07 18:49:46 +00:00
MipsSEFrameLowering.h [mips] Align the stack to 16-bytes for mfp64. 2013-10-29 19:29:03 +00:00
MipsSEInstrInfo.cpp [mips] Fix 'ran out of registers' in MIPS32 with FP64 when generating code for (ConstantFP 0.0) 2013-11-18 13:12:43 +00:00
MipsSEInstrInfo.h [mips] Define a pseudo instruction which writes to both the lower and higher 2013-10-15 01:48:30 +00:00
MipsSEISelDAGToDAG.cpp [mips] Fix 'ran out of registers' in MIPS32 with FP64 when generating code for (ConstantFP 0.0) 2013-11-18 13:12:43 +00:00
MipsSEISelDAGToDAG.h [mips][msa] Added support for matching bclr, and bclri from normal IR (i.e. not intrinsics) 2013-11-12 10:45:18 +00:00
MipsSEISelLowering.cpp [mips][msa] Fix a corner case in performORCombine() when combining nodes into VSELECT. 2013-11-21 16:11:31 +00:00
MipsSEISelLowering.h [mips][msa] Added support for matching fexp2 from normal IR (i.e. not intrinsics) 2013-10-23 10:36:52 +00:00
MipsSelectionDAGInfo.cpp
MipsSelectionDAGInfo.h
MipsSERegisterInfo.cpp
MipsSERegisterInfo.h
MipsSubtarget.cpp [Mips] Adjust float ABI settings in case of MIPS16 mode. 2013-11-19 12:20:17 +00:00
MipsSubtarget.h [mips] Partially revert r193641. Stack alignment should not be determined by 2013-11-11 21:49:03 +00:00
MipsTargetMachine.cpp [mips] Disable tail merging when long branch pass is enabled. 2013-10-07 19:13:53 +00:00
MipsTargetMachine.h
MipsTargetObjectFile.cpp
MipsTargetObjectFile.h
MipsTargetStreamer.h reverts 195057 per request 2013-11-19 20:53:28 +00:00
MSA.txt [mips][msa] Added support for matching bclr, and bclri from normal IR (i.e. not intrinsics) 2013-11-12 10:45:18 +00:00