llvm-6502/test/CodeGen/Mips
Daniel Sanders ea28aafa83 Fix illegal DAG produced by SelectionDAG::getConstant() for v2i64 type
Summary:
When getConstant() is called for an expanded vector type, it is split into
multiple scalar constants which are then combined using appropriate build_vector
and bitcast operations.

In addition to the usual big/little endian differences, the case where the
element-order of the vector does not have the same endianness as the elements
themselves is also accounted for.  For example, for v4i32 on big-endian MIPS,
the byte-order of the vector is <3210,7654,BA98,FEDC>. For little-endian, it is
<0123,4567,89AB,CDEF>.
Handling this case turns out to be a nop since getConstant() returns a splatted
vector (so reversing the element order doesn't change the value)

This fixes a number of cases in MIPS MSA where calling getConstant() during
operation legalization introduces illegal types (e.g. to legalize v2i64 UNDEF
into a v2i64 BUILD_VECTOR of illegal i64 zeros). It should also handle bigger
differences between illegal and legal types such as legalizing v2i64 into v8i16.

lowerMSASplatImm() in the MIPS backend no longer needs to avoid calling
getConstant() so this function has been updated in the same patch.

For the sake of transparency, the steps I've taken since the review are:
* Added 'virtual' to isVectorEltOrderLittleEndian() as requested. This revealed
  that the MIPS tests were falsely passing because a polymorphic function was
  not actually polymorphic in the reviewed patch.
* Fixed the tests that were now failing. This involved deleting the code to
  handle the MIPS MSA element-order (which was previously doing an byte-order
  swap instead of an element-order swap). This left
  isVectorEltOrderLittleEndian() unused and it was deleted.
* Fixed build failures caused by rebasing beyond r194467-r194472. These build
  failures involved the bset, bneg, and bclr instructions added in these commits
  using lowerMSASplatImm() in a way that was no longer valid after this patch.
  Some of these were fixed by calling SelectionDAG::getConstant() instead,
  others were fixed by a new function getBuildVectorSplat() that provided the
  removed functionality of lowerMSASplatImm() in a more sensible way.

Reviewers: bkramer

Reviewed By: bkramer

CC: llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1973

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@194811 91177308-0d34-0410-b5e6-96231b3b80d8
2013-11-15 12:56:49 +00:00
..
msa Fix illegal DAG produced by SelectionDAG::getConstant() for v2i64 type 2013-11-15 12:56:49 +00:00
2008-06-05-Carry.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-03-SRet.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-06-fadd64.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-07-Float2Int.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-07-FPExtend.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-07-IntDoubleConvertions.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-15-InternalConstant.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-07-15-SmallSection.ll Remove +. 2011-09-21 17:43:48 +00:00
2008-07-16-SignExtInReg.ll Add Mips16 patterns for sign extend byte and sign extend halfword. 2013-10-07 20:46:19 +00:00
2008-07-22-Cstpool.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-07-23-fpcmp.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2008-07-29-icmp.ll Fix the remaining TCL-style quotes found in the testsuite. This is 2012-07-02 19:09:46 +00:00
2008-07-31-fcopysign.ll Custom-lower FCOPYSIGN nodes. 2011-05-25 19:32:07 +00:00
2008-08-01-AsmInline.ll [mips] Properly parse registers that appear in inline-asm constraints. 2013-08-14 00:21:25 +00:00
2008-08-03-fabs64.ll Drop support for Allegrex. Allegrex implements a variant of Mips2. 2011-09-09 19:00:51 +00:00
2008-08-03-ReturnDouble.ll
2008-08-04-Bitconvert.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-08-06-Alloca.ll Fix test cases to use FileCheck. 2011-12-02 22:28:09 +00:00
2008-08-07-CC.ll
2008-08-07-FPRound.ll Re-enable some of the disabled tests. Use FileCheck instead of grep to check 2011-09-21 17:36:30 +00:00
2008-08-08-bswap.ll Drop support for Allegrex. Allegrex implements a variant of Mips2. 2011-09-09 19:00:51 +00:00
2008-08-08-ctlz.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
2008-10-13-LegalizerBug.ll
2008-11-10-xint_to_fp.ll Remove the no longer existent psp triple from a test. 2012-03-08 21:22:27 +00:00
2009-11-16-CstPoolLoad.ll Fix LowerConstantPool to produce instructions with the correct relocation 2012-04-04 18:26:12 +00:00
2010-07-20-Switch.ll [mips] Custom-legalize BR_JT. 2013-03-06 21:32:03 +00:00
2010-11-09-CountLeading.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
2010-11-09-Mul.ll Fix test cases. 2011-09-09 23:14:58 +00:00
2011-05-26-BranchKillsVreg.ll Fix PR10046 by updating LiveVariables kill info when splitting live ranges. 2011-05-29 20:10:28 +00:00
2012-12-12-ExpandMemcpy.ll Fix a logic bug in inline expansion of memcpy / memset with an overlapping 2012-12-12 20:43:23 +00:00
addc.ll
addi.ll Add the 16 bit version of addiu. To the assembler, the 16 and 32 bit are the 2013-02-08 21:42:56 +00:00
addressing-mode.ll Initial implementation of MipsTargetLowering::isLegalAddressingMode. 2012-11-17 00:25:41 +00:00
align16.ll Add the saving of S2. This is needed for some of the floating point 2013-08-04 23:56:53 +00:00
alloca16.ll Add the saving of S2. This is needed for some of the floating point 2013-08-04 23:56:53 +00:00
alloca.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
analyzebranch.ll Fix test cases. 2012-05-12 03:25:16 +00:00
and1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
asm-large-immediate.ll The inline asm operand modifier 'n' is suppose 2012-06-21 21:37:54 +00:00
atomic.ll [mips] Print instructions "beq", "bne" and "or" using assembler pseudo 2013-07-26 18:34:25 +00:00
atomicops.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
beqzc1.ll Make all the conditional Mips 16 branches get initially set for the 2013-11-15 02:21:52 +00:00
beqzc.ll Make all the conditional Mips 16 branches get initially set for the 2013-11-15 02:21:52 +00:00
biggot.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
blez_bgez.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
blockaddr.ll Support tblockaddr for static compilation in Mips16. 2013-10-04 22:01:40 +00:00
br-jmp.ll Expand pseudos/macros for Selt. This is the last of the complex 2013-02-23 03:09:56 +00:00
brconeq.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconeqk.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconeqz.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconge.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brcongt.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconle.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconlt.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconne.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconnek.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brconnez.ll Add conditional branch instructions and their patterns. 2012-10-17 22:29:54 +00:00
brdelayslot.ll [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
brind.ll Implement brind operator for mips16. 2012-10-28 23:08:07 +00:00
brsize3.ll Take care of long short branch immediate instructions for mips16 in 2013-11-13 23:52:18 +00:00
brsize3a.ll Take care of long short branch immediate instructions for mips16 in 2013-11-13 23:52:18 +00:00
bswap.ll Let rotr and bswap be handled by expansion for Mips16 since we don't 2013-10-08 17:32:33 +00:00
buildpairextractelementf64.ll [mips] Add support for mfhc1 and mthc1. 2013-08-20 23:47:25 +00:00
check-noat.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
cmov.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
cmplarge.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-09-30 18:17:35 +00:00
const1.ll Make first substantial checkin of my port of ARM constant islands code to Mips. 2013-10-27 21:57:36 +00:00
const4a.ll Mostly finish up constant islands port for Mips for load constants. 2013-11-10 00:09:26 +00:00
const6.ll Mostly finish up constant islands port for Mips for load constants. 2013-11-10 00:09:26 +00:00
const6a.ll Allow the code which returns the length for inline assembler to know 2013-11-13 04:37:52 +00:00
const-mult.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
constantfp0.ll Test case for 137484 2011-08-12 18:12:06 +00:00
cprestore.ll Fix test cases. 2012-05-12 03:25:16 +00:00
ctlz.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
DbgValueOtherTargets.test Remove unnecessary leading comment characters in lit-only file 2013-03-18 22:08:16 +00:00
disable-tail-merge.ll [mips] Test case for r192124. 2013-10-07 21:32:57 +00:00
div_rem.ll Div, Rem int/unsigned int 2012-10-12 02:01:09 +00:00
div.ll Div, Rem int/unsigned int 2012-10-12 02:01:09 +00:00
divrem.ll [mips] Transfer kill flag to the newly created operand. 2013-10-15 01:06:30 +00:00
divu_remu.ll Div, Rem int/unsigned int 2012-10-12 02:01:09 +00:00
divu.ll Div, Rem int/unsigned int 2012-10-12 02:01:09 +00:00
double2int.ll Fix test cases. 2011-09-09 23:14:58 +00:00
dsp-patterns-cmp-vselect.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
dsp-patterns.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
dsp-r1.ll [mips] Split the DSP control register and define one register for each field of 2013-05-03 18:37:49 +00:00
dsp-r2.ll MIPS DSP: add operands to make sure instruction strings are being matched. 2012-09-28 21:23:16 +00:00
dsp-vec-load-store.ll [mips] Expand vector truncating stores and extending loads. 2013-08-02 19:23:33 +00:00
eh-dwarf-cfa.ll [mips] Custom-lower ISD::FRAME_TO_ARGS_OFFSET node. 2012-11-07 19:10:58 +00:00
eh-return32.ll [mips] Small update to the implementation of eh.return for Mips. 2013-04-02 23:02:07 +00:00
eh-return64.ll More test coverage for addFrameMove. 2013-05-16 19:44:40 +00:00
eh.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
emit-big-cst.ll Teach AsmPrinter how to print odd constants. 2013-06-07 18:36:03 +00:00
ex2.ll Add the saving of S2. This is needed for some of the floating point 2013-08-04 23:56:53 +00:00
extins.ll [mips] Do not generate INS/EXT nodes if target does not have support for 2013-10-09 23:36:17 +00:00
f16abs.ll Add fabsf to the list of inlined functions; otherwise 2013-10-08 19:55:01 +00:00
fabs.ll Add test triples to fix win32 failures. Revert workaround from r161292. 2012-08-08 20:31:37 +00:00
fastcc.ll Implement fastcc calling convention for MIPS. 2012-06-13 18:06:00 +00:00
fcopysign-f32-f64.ll [mips] Implement MipsTargetMachine::getInstrItineraryData(). 2013-07-12 23:33:22 +00:00
fcopysign.ll Fix bugs in lowering of FCOPYSIGN nodes. 2012-04-11 22:13:04 +00:00
fixdfsf.ll Add another intrinsic that LLVM gives an incorrect prototype to. 2013-08-09 21:33:41 +00:00
fmadd1.ll Add definitions of floating point multiply add/sub and negative multiply 2012-02-25 00:21:52 +00:00
fneg.ll Revert changes that were accidentally committed. 2012-04-11 23:19:55 +00:00
fp16instrinsmc.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
fp16mix.ll Make nomips16 mask not repeat if it ends with a '.'. 2013-09-23 22:36:11 +00:00
fp16static.ll Make sure we call externals from libraries properly when -static. 2013-02-07 04:34:51 +00:00
fp-indexed-ls.ll Fix type of LUXC1 and SUXC1. These instructions were incorrectly defined as 2012-07-31 18:16:49 +00:00
fp-spill-reload.ll Make register FP allocatable if the compiled function does not have dynamic 2012-05-09 01:38:13 +00:00
fpbr.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
fpneeded.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
fpnotneeded.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
fptr2.ll Set .reorder for the stub so that gas takes care of delay slot processing. 2013-09-21 01:37:52 +00:00
frame-address.ll Add more addFrameMove test coverage. 2013-05-16 14:51:26 +00:00
frem.ll Expand FREM. 2012-03-29 18:43:11 +00:00
global-address.ll Add lines in global-address.ll to test N32 and N64 code generation. 2012-04-06 20:23:36 +00:00
global-pointer-reg.ll Make the following changes in MipsAsmPrinter.cpp: 2012-05-12 00:48:43 +00:00
gpreg-lazy-binding.ll [mips] Print move instructions. 2013-03-04 22:25:01 +00:00
gprestore.ll Fix test cases. 2012-05-12 03:25:16 +00:00
helloworld.ll Fix two issues regarding Got pointer (GP) setup. 2013-09-18 22:46:09 +00:00
hf1_body.ll Fix a bad typo in the inline assembly code for mips16 pic fp stubs 2013-09-25 20:58:50 +00:00
hf16_1.ll The next phase of Mips16 hard float implementation. 2013-01-24 04:24:02 +00:00
hf16call32_body.ll Fix a bad typo in the inline assembly code for mips16 pic fp stubs 2013-09-25 20:58:50 +00:00
hf16call32.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
hfptrcall.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
i32k.ll For Mips16, start to consolidate all forms of 32 bit literal loading so that 2013-10-12 02:19:08 +00:00
i64arg.ll [mips] Make sure there is a chain edge dependency between loads that read 2013-11-09 02:38:51 +00:00
imm.ll Add a test case for r146900. 2011-12-19 20:24:28 +00:00
indirectcall.ll jalr should use t9 ($25) for indirect calls regardless of the relocation model 2011-12-09 01:45:12 +00:00
init-array.ll Fix UseInitArray option for MIPS target. 2012-09-05 06:17:17 +00:00
inlineasm64.ll Have getRegForInlineAsmConstraint return the correct register class when target 2012-01-04 02:45:01 +00:00
inlineasm_constraint.ll Mips specific inline assembler constraint 'R' 2013-03-04 21:33:15 +00:00
inlineasm-cnstrnt-bad-I-1.ll Add support for the 'I' inline asm constraint. Also add tests 2012-05-07 03:13:32 +00:00
inlineasm-cnstrnt-bad-J.ll Support the 'J' constraint. 2012-05-07 03:13:42 +00:00
inlineasm-cnstrnt-bad-K.ll Add support for the inline asm constraint 'K'. 2012-05-07 05:46:29 +00:00
inlineasm-cnstrnt-bad-L.ll Add support for the 'L' inline asm constraint. 2012-05-07 05:46:37 +00:00
inlineasm-cnstrnt-bad-N.ll Add support for the 'N' inline asm constraint. 2012-05-07 05:46:43 +00:00
inlineasm-cnstrnt-bad-O.ll Add support for the 'O' constraint. 2012-05-07 05:46:48 +00:00
inlineasm-cnstrnt-bad-P.ll Add support for the 'P' constraint. 2012-05-07 06:25:02 +00:00
inlineasm-cnstrnt-reg64.ll Add support for the 'I' inline asm constraint. Also add tests 2012-05-07 03:13:32 +00:00
inlineasm-cnstrnt-reg.ll Add support for the 'l' constraint. 2012-05-07 06:25:15 +00:00
inlineasm-operand-code.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
inlineasmmemop.ll Mips specific inline asm memory operand modifier test case 2013-04-11 19:39:19 +00:00
int-to-float-conversion.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
internalfunc.ll Fix test cases. 2012-05-12 03:25:16 +00:00
jtstat.ll Test case hygiene. 2013-03-09 18:25:40 +00:00
largefr1.ll Add the saving of S2. This is needed for some of the floating point 2013-08-04 23:56:53 +00:00
largeimm1.ll [mips] Use register number instead of name to print register $AT. 2012-11-02 21:26:03 +00:00
largeimmprinting.ll [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
lazy-binding.ll [mips] Make sure loads from lazy-binding entries do not get CSE'd or hoisted out 2013-09-28 00:12:32 +00:00
lb1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
lbu1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
lh1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
lhu1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
lit.local.cfg [tests] Cleanup initialization of test suffixes. 2013-08-16 00:37:11 +00:00
llcarry.ll Implement carry for subtract/add for mips16 2012-10-26 04:46:26 +00:00
load-store-left-right.ll Rename test/CodeGen/Mips/load-shift-left-right.ll. 2012-06-04 17:50:36 +00:00
longbranch.ll [mips] Fix a bug in MipsLongBranch::replaceBranch, which was erasing 2013-10-04 20:51:40 +00:00
machineverifier.ll Make machine verifier check the first instruction of the last bundle instead of 2012-06-14 20:51:13 +00:00
madd-msub.ll [mips] Fix DSP instructions to have explicit accumulator register operands. 2013-03-30 01:58:00 +00:00
memcpy.ll Set a higher value for maxStoresPerMemcpy in MipsISelLowering.cpp. 2012-06-13 19:33:32 +00:00
mips16_32_1.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_3.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_4.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_5.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_6.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_7.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_8.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_9.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_32_10.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
mips16_fpret.ll Allocate local registers in order for optimal coloring. 2013-07-25 18:35:14 +00:00
mips16ex.ll This patch is needed to make c++ exceptions work for mips16. 2012-12-16 04:00:45 +00:00
mips16fpe.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
mips64-f128-call.ll [mips] Add a line which checks function name. Rename file. 2013-03-06 01:58:03 +00:00
mips64-f128.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
mips64-fp-indexed-ls.ll Fix type of LUXC1 and SUXC1. These instructions were incorrectly defined as 2012-07-31 18:16:49 +00:00
mips64-libcall.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
mips64-sret.ll [mips] Print move instructions. 2013-03-04 22:25:01 +00:00
mips64countleading.ll Expand 64-bit CTLZ nodes if target architecture does not support it. Add test 2011-12-21 00:20:27 +00:00
mips64directive.ll 64-bit data directive. 2011-12-20 22:52:19 +00:00
mips64ext.ll Pattern for f32 to i64 conversion. 2012-01-24 22:05:25 +00:00
mips64extins.ll Add definitions of 64-bit extract and insert instrucions and make 2011-12-05 21:26:34 +00:00
mips64fpimm0.ll Add code in MipsDAGToDAGISel for selecting constant +0.0. 2011-12-20 22:25:50 +00:00
mips64fpldst.ll Reapply 154038 without the failing test. 2012-04-04 22:16:36 +00:00
mips64imm.ll Lower 64-bit immediates using MipsAnalyzeImmediate that has just been added. 2012-01-25 03:01:35 +00:00
mips64instrs.ll [mips] Transfer kill flag to the newly created operand. 2013-10-15 01:06:30 +00:00
mips64intldst.ll Reapply 154038 without the failing test. 2012-04-04 22:16:36 +00:00
mips64lea.ll Test case for r147232. 2011-12-24 03:05:43 +00:00
mips64load-store-left-right.ll Add a test case for mips64 unaligned load/store instructions. 2012-06-04 17:57:06 +00:00
mips64muldiv.ll Add function MipsDAGToDAGISel::SelectMULT and factor out code that generates 2011-12-20 23:10:57 +00:00
mips64shift.ll Remove definitions of double word shift plus 32 instructions. Assembler or 2011-12-19 19:44:09 +00:00
mipslopat.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
misha.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
mno-ldc1-sdc1.ll [mips] Fix typos. 2013-09-07 01:14:42 +00:00
mul.ll Patch for integer multiply, signed/unsigned, long/long long. 2012-10-05 18:27:54 +00:00
mulll.ll Patch for integer multiply, signed/unsigned, long/long long. 2012-10-05 18:27:54 +00:00
mulull.ll Patch for integer multiply, signed/unsigned, long/long long. 2012-10-05 18:27:54 +00:00
neg1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
nomips16.ll Fix a problem with dual mips16/mips32 mode. When the underlying processor 2013-08-30 19:40:56 +00:00
not1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
null.ll Change mips16 delay slot jumps to non delay slot forms by default. 2012-10-30 00:54:49 +00:00
o32_cc_byval.ll [mips] Set instruction itineraries of loads, stores and conditional moves. 2013-09-06 23:28:24 +00:00
o32_cc_vararg.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
o32_cc.ll [mips] Fix a bug in function CC_MipsO32_FP64. The second double precision 2013-11-12 22:16:18 +00:00
optimize-fp-math.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
or1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
powif64_16.ll Make sure we don't generate stubs for any of these functions because they 2013-09-01 04:12:59 +00:00
private.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
ra-allocatable.ll TBAA: remove !tbaa from testing cases when they are not needed. 2013-08-21 22:20:53 +00:00
rdhwr-directives.ll test case for r159770. 2012-07-05 19:29:31 +00:00
rem.ll Div, Rem int/unsigned int 2012-10-12 02:01:09 +00:00
remat-immed-load.ll [mips] Set flag isAsCheapAsAMove flag on instruction LUi. 2012-11-03 00:26:02 +00:00
remu.ll Div, Rem int/unsigned int 2012-10-12 02:01:09 +00:00
return_address.ll [mips] Print move instructions. 2013-03-04 22:25:01 +00:00
return-vector.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
rotate.ll Let rotr and bswap be handled by expansion for Mips16 since we don't 2013-10-08 17:32:33 +00:00
sb1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
sel1c.ll Make all the conditional Mips 16 branches get initially set for the 2013-11-15 02:21:52 +00:00
sel2c.ll Make all the conditional Mips 16 branches get initially set for the 2013-11-15 02:21:52 +00:00
select.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00
selectcc.ll Track IR ordering of SelectionDAG nodes 4/4. 2013-05-25 03:26:51 +00:00
seleq.ll Beginning of expanding all current mips16 macro/pseudo instruction sequences. 2013-02-18 00:59:04 +00:00
seleqk.ll Expand pseudos BteqzT8CmpiX16 and BtnezT8CmpiX16. 2013-02-19 00:20:58 +00:00
selgek.ll Expand mips16 SelT form pseudso/macros. 2013-02-22 05:10:51 +00:00
selgt.ll Expand pseudo/macro BteqzT8SltX16. 2013-02-18 04:04:26 +00:00
selle.ll Expand macro/pseudo instructions BtnezT8SltX16 and BtnezT8SltuX16. 2013-02-18 05:43:03 +00:00
selltk.ll Expand mips16 SelT form pseudso/macros. 2013-02-22 05:10:51 +00:00
selne.ll Expand mips16 SelT form pseudso/macros. 2013-02-22 05:10:51 +00:00
selnek.ll Convert CodeGen/*/*.ll tests to use the new CHECK-LABEL for easier debugging. No functionality change and all tests pass after conversion. 2013-07-13 20:38:47 +00:00
selpat.ll Expand pseudos/macros for Selt. This is the last of the complex 2013-02-23 03:09:56 +00:00
selTBteqzCmpi.ll Expand mips16 SelT form pseudso/macros. 2013-02-22 05:10:51 +00:00
selTBtnezCmpi.ll Expand mips16 SelT form pseudso/macros. 2013-02-22 05:10:51 +00:00
selTBtnezSlti.ll Expand mips16 SelT form pseudso/macros. 2013-02-22 05:10:51 +00:00
setcc-se.ll [mips] Print instructions "beq", "bne" and "or" using assembler pseudo 2013-07-26 18:34:25 +00:00
seteq.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
seteqz.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setge.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setgek.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setle.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setlt.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setltk.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setne.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setuge.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setugt.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setule.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setult.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
setultk.ll Expand pseudos/macros: 2013-02-20 05:45:15 +00:00
sh1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
shift-parts.ll Expand 64-bit shifts if target ABI is O32. 2012-05-09 00:55:21 +00:00
simplebr.ll Change the default branch instruction to be the 16 bit variety for mips16. 2013-11-12 02:27:12 +00:00
sint-fp-store_pattern.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
sitofp-selectcc-opt.ll Test case for r160036. 2012-07-11 19:50:46 +00:00
sll1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
sll2.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
small-section-reserve-gp.ll In MipsDAGToDAGISel::SelectAddr, fold add node into address operand, if its 2012-08-24 20:21:49 +00:00
spill-copy-acreg.ll [mips] Handle reading, writing or copying of ccond field of DSP control 2013-05-02 23:07:05 +00:00
sra1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
sra2.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
srl1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
srl2.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
stack-alignment.ll [mips] Partially revert r193641. Stack alignment should not be determined by 2013-11-11 21:49:03 +00:00
stackcoloring.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
stacksize.ll Test case for r159240. 2012-06-27 00:40:34 +00:00
stchar.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
stldst.ll checking test case for r164811. was an omission to not check this in. this was already approved 2012-10-01 21:35:06 +00:00
sub1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
sub2.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
swzero.ll Don't modify MO while use_iterator is still pointing to it. 2012-08-09 22:08:24 +00:00
tailcall.ll [mips] Make sure there is a chain edge dependency between loads that read 2013-11-09 02:38:51 +00:00
tls16_2.ll Implement MipsHi for mips16 2012-10-27 00:57:14 +00:00
tls16.ll implement mips16 tls global addr 2012-10-26 22:57:32 +00:00
tls-alias.ll [mips] Implement MipsTargetMachine::getInstrItineraryData(). 2013-07-12 23:33:22 +00:00
tls-models.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
tls.ll Mass update to CodeGen tests to use CHECK-LABEL for labels corresponding to function definitions for more informative error messages. No functionality change and all updated tests passed locally. 2013-07-14 06:24:09 +00:00
tnaked.ll Update to remove the no-frame-pointer-elim-non-leaf flag if it was set to 'false'. 2013-08-22 21:28:54 +00:00
trap1.ll Create a pattern for the "trap" instruction. 2013-08-07 04:00:26 +00:00
trap.ll [mips] Implement llvm.trap intrinsic. 2013-07-26 20:58:55 +00:00
uitofp.ll Fix bug 13532. 2012-08-28 02:12:42 +00:00
ul1.ll Handled unaligned load/stores properly in Mips16 2012-09-15 01:02:03 +00:00
unalignedload.ll [mips] Implement MipsTargetMachine::getInstrItineraryData(). 2013-07-12 23:33:22 +00:00
vector-load-store.ll MIPS DSP: add vector load/store patterns. 2012-09-27 01:50:59 +00:00
vector-setcc.ll [mips] MipsTargetLowering::getSetCCResultType should return a vector type if 2013-01-04 20:06:01 +00:00
weak.ll Define WeakRefDirective. 2011-05-25 23:30:30 +00:00
xor1.ll 1. Redo mips16 instructions to avoid multiple opcodes for same instruction. 2012-08-03 22:57:02 +00:00
zeroreg.ll TBAA: remove !tbaa from testing cases if not used. 2013-04-30 17:52:57 +00:00