llvm-6502/test/CodeGen/X86
Rafael Espindola 6b2c7ae2c9 Add -relocation-model=pic so that the test works
both in Linux and Darwin.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@67191 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-18 09:38:28 +00:00
..
2002-12-23-LocalRAProblem.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2002-12-23-SubProblem.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-08-03-CallArgLiveRanges.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-08-23-DeadBlockTest.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-11-03-GlobalBool.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-12-Memcpy.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
2004-02-13-FrameReturnAddress.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-14-InefficientStackPointer.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-22-Casts.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-03-30-Select-Max.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-04-09-SameValueCoalescing.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-04-13-FPCMOV-Crash.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-06-10-StackifierCrash.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-10-08-SelectSetCCFold.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2005-01-17-CycleInDAG.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-02-14-IllegalAssembler.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-05-08-FPStackifierPHI.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-01-19-ISelFoldingBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-03-01-InstrSchedBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-03-02-InstrSchedBug.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-04-04-CrossBlockCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-27-ISelFoldingBug.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2006-05-01-SchedCausingSpills.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-02-InstrSched1.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-05-02-InstrSched2.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-05-08-CoalesceSubRegClass.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-08-InstrSched.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-11-InstrSched.ll Change these tests to use regular loads instead of llvm.x86.sse2.loadu.dq. 2009-02-16 00:44:23 +00:00
2006-05-17-VectorArg.ll Add nounwind. 2008-05-07 22:59:08 +00:00
2006-05-22-FPSetEQ.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-25-CycleInDAG.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-10-InlineAsmAConstraint.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-12-InlineAsmQConstraint.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-19-ATTAsm.ll Do not use buggy llvm-gcc to generate testcases. 2009-01-22 18:28:11 +00:00
2006-07-20-InlineAsm.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-28-AsmPrint-Long-As-Pointer.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-31-SingleRegClass.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2006-08-07-CycleInDAG.ll
2006-08-16-CycleInDAG.ll
2006-08-21-ExtraMovInst.ll
2006-09-01-CycleInDAG.ll
2006-10-02-BoolRetCrash.ll
2006-10-07-ScalarSSEMiscompile.ll
2006-10-09-CycleInDAG.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-10-FindModifiedNodeSlotBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-12-CycleInDAG.ll
2006-10-13-CycleInDAG.ll
2006-10-19-SwitchUnnecessaryBranching.ll
2006-11-12-CSRetCC.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-11-17-IllegalMove.ll I missed this file in r54223. movzbl is now used instead 2008-07-30 18:23:34 +00:00
2006-11-27-SelectLegalize.ll
2006-11-28-Memcpy.ll test doesn't need eh info 2008-06-27 03:14:20 +00:00
2006-12-19-IntelSyntax.ll
2007-01-08-InstrSched.ll
2007-01-13-StackPtrIndex.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2007-01-29-InlineAsm-ir.ll
2007-02-04-OrAddrMode.ll
2007-02-19-LiveIntervalAssert.ll
2007-02-25-FastCCStack.ll
2007-03-01-SpillerCrash.ll
2007-03-15-GEP-Idx-Sink.ll
2007-03-16-InlineAsm.ll
2007-03-18-LiveIntervalAssert.ll
2007-03-24-InlineAsmMultiRegConstraint.ll
2007-03-24-InlineAsmPModifier.ll
2007-03-24-InlineAsmVectorOp.ll
2007-03-24-InlineAsmXConstraint.ll
2007-03-26-CoalescerBug.ll Avoid commuting a def MI in order to coalesce a copy instruction away if any use of the same val# is a copy instruction that has already been coalesced. 2008-03-26 19:03:01 +00:00
2007-04-08-InlineAsmCrash.ll
2007-04-11-InlineAsmVectorResult.ll
2007-04-17-LiveIntervalAssert.ll
2007-04-24-Huge-Stack.ll
2007-04-24-VectorCrash.ll
2007-04-25-MMX-PADDQ.ll
2007-04-27-InlineAsm-IntMemInput.ll
2007-05-05-VecCastExpand.ll
2007-05-07-InvokeSRet.ll
2007-05-14-LiveIntervalAssert.ll
2007-05-15-maskmovq.ll
2007-05-17-ShuffleISelBug.ll
2007-06-04-tailmerge4.ll
2007-06-04-X86-64-CtorAsmBugs.ll
2007-06-05-LSR-Dominator.ll
2007-06-14-branchfold.ll Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away. 2008-04-10 02:32:10 +00:00
2007-06-15-IntToMMX.ll
2007-06-28-X86-64-isel.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
2007-06-29-DAGCombinerBug.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
2007-06-29-VecFPConstantCSEBug.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
2007-07-03-GR64ToVR64.ll Fix PR2287. Darwin passes mmx values in register in 64-mode, not Linux. 2008-05-06 07:23:50 +00:00
2007-07-10-StackerAssert.ll
2007-07-18-Vector-Extract.ll
2007-08-01-LiveVariablesBug.ll
2007-08-09-IllegalX86-64Asm.ll
2007-08-10-SignExtSubreg.ll Don't force promotion of return arguments on the callee. 2009-03-17 23:43:59 +00:00
2007-08-13-AppendingLinkage.ll
2007-08-13-SpillerReuse.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
2007-09-03-X86-64-EhSelector.ll
2007-09-05-InvalidAsm.ll
2007-09-06-ExtWeakAliasee.ll
2007-09-17-ObjcFrameEH.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2007-09-18-ShuffleXformBug.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
2007-09-27-LDIntrinsics.ll
2007-10-04-AvoidEFLAGSCopy.ll Specify a target so that this tests tests what it's intended to test. 2008-05-27 17:55:57 +00:00
2007-10-05-3AddrConvert.ll Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses. 2009-02-21 02:06:47 +00:00
2007-10-12-CoalesceExtSubReg.ll
2007-10-12-SpillerUnfold1.ll
2007-10-12-SpillerUnfold2.ll
2007-10-14-CoalescerCrash.ll
2007-10-15-CoalescerCrash.ll
2007-10-16-CoalescerCrash.ll
2007-10-16-fp80_select.ll
2007-10-16-IllegalAsm.ll
2007-10-17-IllegalAsm.ll
2007-10-19-SpillerUnfold.ll
2007-10-28-inlineasm-q-modifier.ll
2007-10-29-ExtendSetCC.ll
2007-10-30-LSRCrash.ll
2007-10-31-extractelement-i64.ll
2007-11-01-ISelCrash.ll
2007-11-02-BadAsm.ll
2007-11-03-x86-64-q-constraint.ll
2007-11-04-LiveIntervalCrash.ll
2007-11-04-LiveVariablesBug.ll
2007-11-04-rip-immediate-constant.ll
2007-11-06-InstrSched.ll
2007-11-07-MulBy4.ll
2007-11-14-Coalescer-Bug.ll Update these tests to work by disabling the new correct CFG generation. This flag should ONLY be used to for tests like these. 2008-08-04 23:55:29 +00:00
2007-11-30-LoadFolding-Bug.ll Eliminate another use of -disable-correct-folding. 2008-08-05 18:03:01 +00:00
2007-11-30-TestLoadFolding.ll Remove another -disable-correct-folding use. 2008-08-05 18:05:58 +00:00
2007-12-11-FoldImpDefSpill.ll
2007-12-16-BURRSchedCrash.ll
2007-12-18-LoadCSEBug.ll
2008-01-08-IllegalCMP.ll
2008-01-08-SchedulerCrash.ll Add CMP32mr and friends to the load-unfolding table. Among 2008-03-25 16:53:19 +00:00
2008-01-09-LongDoubleSin.ll
2008-01-16-FPStackifierAssert.ll
2008-01-16-InvalidDAGCombineXform.ll
2008-01-16-Trampoline.ll
2008-01-25-EmptyFunction.ll
2008-02-05-ISelCrash.ll
2008-02-06-LoadFoldingBug.ll
2008-02-08-LoadFoldingBug.ll
2008-02-14-BitMiscompile.ll
2008-02-18-TailMergingBug.ll Considering predecessors of exit blocks gets 2008-07-01 21:50:49 +00:00
2008-02-20-InlineAsmClobber.ll
2008-02-22-LocalRegAllocBug.ll
2008-02-22-ReMatBug.ll Don't use special heuristics for nodes with no data predecessors 2009-02-11 21:29:39 +00:00
2008-02-25-InlineAsmBug.ll
2008-02-25-X86-64-CoalescerBug.ll
2008-02-26-AsmDirectMemOp.ll
2008-02-27-DeadSlotElimBug.ll
2008-02-27-PEICrash.ll
2008-03-06-frem-fpstack.ll
2008-03-07-APIntBug.ll A test case I forgot to check in. 2008-03-13 06:42:46 +00:00
2008-03-10-RegAllocInfLoop.ll Experimental scheduler change to schedule / coalesce the copies added for function livein's. Take 2008-03-10-RegAllocInfLoop.ll, the schedule looks like this after these copies are inserted: 2008-03-12 22:19:41 +00:00
2008-03-12-ThreadLocalAlias.ll Testcase for PR2137 2008-03-11 22:43:42 +00:00
2008-03-13-TwoAddrPassCrash.ll New test case. 2008-03-13 08:05:02 +00:00
2008-03-14-SpillerCrash.ll Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators. 2008-03-14 20:44:01 +00:00
2008-03-18-CoalescerBug.ll Undo spill weight tweak. Need to investigate the performance regressions. 2008-06-21 06:45:54 +00:00
2008-03-19-DAGCombinerBug.ll Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_size - n - m))) 2008-03-20 02:18:41 +00:00
2008-03-23-DarwinAsmComments.ll Use ## for comment delimiter on darwin x86-32, so 2008-03-25 23:29:30 +00:00
2008-03-25-TwoAddrPassBug.ll Fix a memory bug: increment an iterator of a deleted machine instr. 2008-03-27 01:27:25 +00:00
2008-03-31-SpillerFoldingBug.ll It's not safe to fold a load from GV stub or constantpool into a two-address use. 2008-03-31 23:19:51 +00:00
2008-04-02-unnamedEH.ll Testcase for EH with functions whose names are stripped. 2008-04-02 20:16:41 +00:00
2008-04-08-CoalescerCrash.ll Missed a hasInterval check. 2008-04-09 01:30:15 +00:00
2008-04-09-BranchFolding.ll Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away. 2008-04-10 02:32:10 +00:00
2008-04-15-LiveVariableBug.ll Really test what's intended. 2008-04-16 18:21:55 +00:00
2008-04-16-CoalescerBug.ll Fix a sub-register indice propagation bug. 2008-04-17 00:06:42 +00:00
2008-04-16-ReMatBug.ll Don't forget about sub-register indices when rematting instructions. 2008-04-16 23:44:44 +00:00
2008-04-17-CoalescerBug.ll Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
2008-04-24-MemCpyBug.ll Fix bug in x86 memcpy / memset lowering. If there are trailing bytes not handled by rep instructions, a new memcpy / memset is introduced for them. However, since source / destination addresses are already adjusted, their offsets should be zero. 2008-04-25 00:26:43 +00:00
2008-04-24-pblendw-fold-crash.ll Loosen up an assertion to allow intrinsics. I really have no 2008-04-25 05:13:01 +00:00
2008-04-26-Asm-Optimize-Imm.ll Implement a signficant optimization for inline asm: 2008-04-27 00:37:18 +00:00
2008-04-28-CoalescerBug.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2008-04-28-CyclicSchedUnit.ll Add -march=x86. 2008-04-28 23:31:41 +00:00
2008-05-01-InvalidOrdCompare.ll specify an arch for non-x86 hosts. 2008-05-02 15:11:58 +00:00
2008-05-06-SpillerBug.ll Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
2008-05-09-PHIElimBug.ll If all sources of a PHI node are defined by an implicit_def, just emit an implicit_def instead of a copy. 2008-05-10 00:17:50 +00:00
2008-05-09-ShuffleLoweringBug.ll When transforming a vector_shuffle to a load, the base address must not be an undef. 2008-05-10 06:46:49 +00:00
2008-05-12-tailmerge-5.ll New test for tail merging 2008-05-12 22:59:44 +00:00
2008-05-21-CoalescerBug.ll Remove -disable-fast-isel. Use cl::boolOrDefault with -fast-isel 2008-10-07 23:00:56 +00:00
2008-05-22-FoldUnalignedLoad.ll Bug: rcpps can only folds a load if the address is 16-byte aligned. Fixed many 'ps' load folding patterns in X86InstrSSE.td which are missing the proper alignment checks. 2008-05-23 00:37:07 +00:00
2008-05-28-CoalescerBug.ll Fix PR2289: vr defined by multiple implicit_def as result of coalescing. 2008-05-28 17:40:10 +00:00
2008-05-28-LocalRegAllocBug.ll Teach local register allocator to deal with landing pad MBB's. 2008-05-28 17:22:32 +00:00
2008-06-04-MemCpyLoweringBug.ll Fix a memcpy lowering bug. Even though the memcpy alignment is smaller than the desired alignment, the frame destination alignment may still be larger than the desired alignment. Don't change its alignment to something smaller. 2008-06-04 23:37:54 +00:00
2008-06-13-NotVolatileLoadStore.ll Disable some DAG combiner optimizations that may be 2008-06-13 19:07:40 +00:00
2008-06-13-VolatileLoadStore.ll Make test work on non-x86 machines (like my G4 PPC). 2008-06-23 06:16:31 +00:00
2008-06-16-SubregsBug.ll Do not issue identity copies. 2008-06-16 22:52:53 +00:00
2008-06-18-BadShuffle.ll Fix a bug with <8 x i16> shuffle lowering on X86 where parts of the 2008-06-19 06:09:51 +00:00
2008-06-25-VecISelBug.ll - Fix a x86 vector isel bug: illegal transformation of a vector_shuffle into a 2008-06-25 20:52:59 +00:00
2008-07-07-DanglingDeadInsts.ll Fix two serious LSR bugs. 2008-07-07 19:51:32 +00:00
2008-07-09-ELFSectionAttributes.ll Testcase for PR2024 2008-07-09 14:09:41 +00:00
2008-07-11-SHLBy1.ll Port a shift-by-1 optimization from LegalizeDAG: it 2008-07-11 16:54:57 +00:00
2008-07-11-SpillerBug.ll Fix test after Chris' select changes. 2009-03-12 16:10:08 +00:00
2008-07-16-CoalescerCrash.ll Subreg live interval valno may not have a corresponding def machineinstr since it's less precise. 2008-07-17 19:48:53 +00:00
2008-07-19-movups-spills.ll Teach 2addr pass to be do more commuting. If both uses of a two-address instruction are killed, but the first operand has a use before and after the def, commute if the second operand does not suffer from the same issue. 2009-01-25 03:53:59 +00:00
2008-07-22-CombinerCrash.ll Fix pr2566: incorrect assumption about bit_convert. It doesn't not have to output a vector value. Patch by Nicolas Capens! 2008-07-22 20:42:56 +00:00
2008-07-23-VSetCC.ll LegalizeTypes support for VSETCC. Fixes PR2575. 2008-07-22 23:54:03 +00:00
2008-08-05-SpillerBug.ll Replace one of burr scheduling heuristic with something more sensible. Now calcMaxScratches simply compute the number of true data dependencies. This actually improve a couple of tests in dejagnu suite as many tests in llvm nightly test suite. 2009-02-12 08:59:45 +00:00
2008-08-06-RewriterBug.ll Fix PR2596: out of bound reference. 2008-08-05 21:51:46 +00:00
2008-08-17-UComiCodeGenBug.ll Fix a (u)comiss intrinsic lowering bug. It was using anyext which can return junk in higher bits. Patch by Nate Begeman. 2008-08-17 19:22:34 +00:00
2008-08-19-SubAndFetch.ll Add support for the __sync_sub_and_fetch atomics and friends for X86. The code 2008-08-19 23:09:18 +00:00
2008-08-23-64Bit-maskmovq.ll Testcase for 64bit maskmovq 2008-08-23 15:53:47 +00:00
2008-08-23-X86-64AsmBug.ll Re-apply 55467 with fix. If copy is being replaced by remat'ed def, transfer the implicit defs onto the remat'ed instruction. 2008-08-30 09:09:33 +00:00
2008-08-25-AsmRegTypeMismatch.ll Fix another test to not use -mcpu=yonah with 64-bit code. 2009-02-02 23:43:59 +00:00
2008-08-31-EH_RETURN32.ll Revert r56675 - it breaks unwinding runtime everywhere. 2008-10-04 11:09:36 +00:00
2008-08-31-EH_RETURN64.ll Revert r56675 - it breaks unwinding runtime everywhere. 2008-10-04 11:09:36 +00:00
2008-09-05-sinttofp-2xi32.ll Fix for PR2687: Add patterns to match sint_to_fp and fp_to_sint for <2 x 2008-09-05 23:07:03 +00:00
2008-09-09-LinearScanBug.ll Fix PR2757. Ignore liveinterval register allocation preference if the preference register is not in the right register class. This can happen due to sub-register coalescing. 2008-09-09 20:22:01 +00:00
2008-09-10-SpillerBug2.ll Propagate subreg index when promoting a load to a copy. 2008-09-11 01:02:12 +00:00
2008-09-11-CoalescerBug2.ll Fix PR2748. Avoid coalescing physical register with virtual register which would create illegal extract_subreg. e.g. 2008-09-11 20:07:10 +00:00
2008-09-11-CoalescerBug.ll Fix PR2783 - coalescer bug. Missing a TargetRegisterInfo::isVirtualRegister check. 2008-09-11 18:40:32 +00:00
2008-09-17-inline-asm-1.ll Remove SelectionDag early allocation of registers 2008-09-24 23:13:09 +00:00
2008-09-18-inline-asm-2.ll Remove SelectionDag early allocation of registers 2008-09-24 23:13:09 +00:00
2008-09-19-RegAllocBug.ll Fix PR2808. When regalloc runs out of register, it spill a physical register around the live interval being allocated. Do not continue to try to spill another register, just grab the physical register and move on. 2008-09-20 01:28:05 +00:00
2008-09-25-sseregparm-1.ll Accept 'inreg' attribute on x86 functions as 2008-09-25 20:47:45 +00:00
2008-09-26-FrameAddrBug.ll Re-apply 56683 with fixes. 2008-09-27 01:56:22 +00:00
2008-09-29-ReMatBug.ll Re-apply 56835 along with header file changes. 2008-09-30 15:44:16 +00:00
2008-09-29-VolatileBug.ll Fix PR2835. Do not change the width of a volatile load. 2008-09-29 17:26:18 +00:00
2008-10-02-Atomics32-2.ll Handle some 64-bit atomics on x86-32, some of the time. 2008-10-02 18:53:47 +00:00
2008-10-06-MMXISelBug.ll Fix PR2850 and PR2863. Only generate movddup for 128-bit SSE vector shuffles. 2008-10-06 21:13:08 +00:00
2008-10-06-x87ld-nan-1.ll Be more precise about which conversions of NaNs 2008-10-06 22:59:10 +00:00
2008-10-06-x87ld-nan-2.ll Be more precise about which conversions of NaNs 2008-10-06 22:59:10 +00:00
2008-10-07-SSEISelBug.ll Certain patterns involving the "movss" instruction were marked as requiring SSE2, when in reality movss is an SSE1 instruction. 2008-10-07 16:14:11 +00:00
2008-10-11-CallCrash.ll Change CALLSEQ_BEGIN and CALLSEQ_END to take TargetConstant's as 2008-10-11 22:08:30 +00:00
2008-10-13-CoalescerBug.ll Also update sub-register intervals after a trivial computation is rematt'ed for a copy instruction. PR2775. 2008-10-13 18:35:52 +00:00
2008-10-16-SpillerBug.ll Teach CodeGenPrepare to look through Bitcast instructions when attempting to 2008-11-26 00:26:16 +00:00
2008-10-16-VecUnaryOp.ll Turn on LegalizeTypes, the new type legalization 2008-10-27 08:42:46 +00:00
2008-10-17-Asm64bitRConstraint.ll Fix a bug where the x86 backend would reject 64-bit r constraints when 2008-10-17 17:59:52 +00:00
2008-10-20-AsmDoubleInI32.ll Fix gcc.c-torture/compile/920520-1.c by inserting bitconverts 2008-10-21 00:45:36 +00:00
2008-10-24-FlippedCompare.ll Turn on LegalizeTypes, the new type legalization 2008-10-27 08:42:46 +00:00
2008-10-27-CoalescerBug.ll Remove val# defined by a remat'ed def that is now dead. 2008-10-27 23:21:01 +00:00
2008-10-27-StackRealignment.ll Fix a nasty miscompilation of 176.gcc on linux/x86 where we synthesized 2008-10-28 05:49:35 +00:00
2008-10-29-ExpandVAARG.ll Fix PR2977: LegalizeTypes support for expanding 2008-10-29 14:25:28 +00:00
2008-11-03-F80VAARG.ll Make VAARG work with x86 long double (which is 2008-11-03 11:51:11 +00:00
2008-11-06-testb.ll Fix the testb optimization so x86 also bootstraps. 2008-11-12 02:00:35 +00:00
2008-11-13-inlineasm-3.ll testcase for PR 1779. 2008-11-13 22:17:10 +00:00
2008-11-29-DivideConstant16bit.ll Fix for PR2164: allow transforming arbitrary-width unsigned divides into 2008-11-30 06:02:26 +00:00
2008-11-29-DivideConstant16bitSigned.ll Followup to r60283: optimize arbitrary width signed divisions as well 2008-11-30 06:35:39 +00:00
2008-11-29-ULT-Sign.ll APIntify a test which is potentially unsafe otherwise, and fix the 2008-11-30 04:59:26 +00:00
2008-12-01-loop-iv-used-outside-loop.ll Add rdar reference, make this actually fail when the patch isn't applied. 2008-12-01 22:35:31 +00:00
2008-12-01-SpillerAssert.ll Fix PR3124: overly strict assert. 2008-12-02 02:15:36 +00:00
2008-12-02-dagcombine-1.ll testcases for recent dag combiner changes 2008-12-03 00:52:41 +00:00
2008-12-02-dagcombine-2.ll testcases for recent dag combiner changes 2008-12-03 00:52:41 +00:00
2008-12-02-dagcombine-3.ll testcases for recent dag combiner changes 2008-12-03 00:52:41 +00:00
2008-12-02-IllegalResultType.ll Fix PR3117: not all nodes being legalized. The 2008-12-09 21:33:20 +00:00
2008-12-05-SpillerCrash.ll This test also requires -mattr=+sse41. 2008-12-05 19:26:37 +00:00
2008-12-16-BadShift.ll Fix for PR3225: disable a broken optimization in 2008-12-17 03:35:17 +00:00
2008-12-16-dagcombine-4.ll A new dag combine; several permutations of this 2008-12-16 22:13:49 +00:00
2008-12-19-EarlyClobberBug.ll Fix PR3149. If an early clobber def is a physical register and it is tied to an input operand, it effectively extends the live range of the physical register. Currently we do not have a good way to represent this. 2008-12-19 20:58:01 +00:00
2008-12-22-dagcombine-5.ll One more permutation of subtracting off a base value. 2008-12-23 01:59:54 +00:00
2008-12-23-crazy-address.ll Fix a compiler-abort on a testcase where the stack-pointer is added to 2008-12-24 00:27:51 +00:00
2008-12-23-dagcombine-6.ll Add another permutation where we should get rid of a-a. 2008-12-23 23:01:27 +00:00
2009-01-12-CoalescerBug.ll FIX llvm-gcc bootstrap on x86_64 linux. If a virtual register is copied to a physical register, it's not necessarily defined by a copy. We have to watch out it doesn't clobber any sub-register that might be live during its live interval. If the live interval crosses a basic block, then it's not safe to check with the less conservative check (by scanning uses and defs) because it's possible a sub-register might be live out of the block. 2009-01-13 03:57:45 +00:00
2009-01-13-DoubleUpdate.ll When replacing uses and the same node is reached 2009-01-13 15:17:14 +00:00
2009-01-16-SchedulerBug.ll CreateVirtualRegisters does trivial copy coalescing. If a node def is used by a single CopyToReg, it reuses the virtual register assigned to the CopyToReg. This won't work for SDNode that is a clone or is itself cloned. Disable this optimization for those nodes or it can end up with non-SSA machine instructions. 2009-01-16 20:57:18 +00:00
2009-01-16-UIntToFP.ll Testcase for last commit. 2009-01-17 07:42:44 +00:00
2009-01-18-ConstantExprCrash.ll Fix rdar://6505632, an llc crash on 483.xalancbmk 2009-01-18 20:35:00 +00:00
2009-01-25-NoSSE.ll Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack for 2009-02-01 18:15:56 +00:00
2009-01-26-WrongCheck.ll Fix PR3393, which amounts to a bug in the expensive 2009-01-26 21:54:18 +00:00
2009-01-27-NullStrings.ll Make test platform agnostic. 2009-01-28 22:20:56 +00:00
2009-01-29-LocalRegAllocBug.ll Local register allocator shouldn't assume only the entry and landing pad basic blocks have live-ins. 2009-01-29 18:37:30 +00:00
2009-01-31-BigShift2.ll Fix PR3401: when using large integers, the type 2009-01-31 15:50:11 +00:00
2009-01-31-BigShift3.ll Fix PR3401: when using large integers, the type 2009-01-31 15:50:11 +00:00
2009-01-31-BigShift.ll Fix PR3401: when using large integers, the type 2009-01-31 15:50:11 +00:00
2009-02-01-LargeMask.ll Fix PR3453 and probably a bunch of other potential 2009-02-01 18:06:53 +00:00
2009-02-03-AnalyzedTwice.ll Fix PR3411. When replacing values, nodes are analyzed 2009-02-03 10:23:33 +00:00
2009-02-04-sext-i64-gep.ll if we have a large GEP offset on a 32-bit or other target, make 2009-02-05 06:55:21 +00:00
2009-02-05-CoalescerBug.ll Fix test. It produces unexpected code if sse4.1 is on. 2009-02-06 01:49:19 +00:00
2009-02-07-CoalescerBug.ll Re-enable machine sinking pass now that the coalescer bugs and the AnalyzeBrnach bug are fixed. 2009-02-09 08:45:39 +00:00
2009-02-08-CoalescerBug.ll Fix PR3486. Fix a bug in code that manually patch physical register live interval after its sub-register is coalesced with a virtual register. 2009-02-08 11:04:35 +00:00
2009-02-11-codegenprepare-reuse.ll fix PR3537: if resetting bbi back to the start of a block, we need to 2009-02-12 06:56:08 +00:00
2009-02-12-DebugInfoVLA.ll fix the X86 backend to just drop llvm.declare nodes for VLAs instead of 2009-02-12 17:33:11 +00:00
2009-02-12-InlineAsm-nieZ-constraints.ll Arrange to print constants that match "n" and "i" constraints 2009-02-12 20:58:09 +00:00
2009-02-12-SpillerBug.ll add PR 2009-02-12 17:04:57 +00:00
2009-02-20-PreAllocSplit-Crash.ll Fix a crash in the pre-alloc splitter exposed by recent codegen changes. 2009-02-20 10:02:23 +00:00
2009-02-21-ExtWeakInitializer.ll Drop bunch of half-working stuff in the ext_weak linkage support. 2009-02-21 11:53:32 +00:00
2009-02-25-CommuteBug.ll ADDS{D|S}rr_Int and MULS{D|S}rr_Int are not commutable. The users of these intrinsics expect the high bits will not be modified. 2009-02-26 03:12:02 +00:00
2009-02-26-MachineLICMBug.ll MachineLICM CSE should match destination register classes; avoid hoisting implicit_def's. 2009-02-27 00:02:22 +00:00
2009-03-03-BitcastLongDouble.ll Add radar number. 2009-03-10 06:53:54 +00:00
2009-03-03-BTHang.ll The DAG combiner was performing a BT combine. The BT combine had a value of -1, 2009-03-04 00:18:06 +00:00
2009-03-05-burr-list-crash.ll Fix ScheduleDAGRRList::CopyAndMoveSuccessors' handling of nodes 2009-03-06 02:23:01 +00:00
2009-03-07-FPConstSelect.ll reapply my previous patch (r66358) with a tweak to set the 2009-03-11 05:08:08 +00:00
2009-03-09-APIntCrash.ll Fix PR3763 by using proper APInt methods instead of uint64_t's. 2009-03-09 20:22:18 +00:00
2009-03-09-SpillerBug.ll Yet another case where the spiller marked two uses of the same register on the same instruction as kill. This fixes PR3706. 2009-03-09 19:00:05 +00:00
2009-03-10-CoalescerBug.ll Two coalescer fixes in one. 2009-03-11 00:03:21 +00:00
2009-03-11-CoalescerBug.ll My last coalescer fix introduced a subtler one. It's aborting a commuting optimization too late and left the live intervals to be out of sync with instructions. This fixes 8b10b. 2009-03-11 22:18:44 +00:00
2009-03-12-CPAlignBug.ll Fix some significant problems with constant pools that resulted in unnecessary paddings between constant pool entries, larger than necessary alignments (e.g. 8 byte alignment for .literal4 sections), and potentially other issues. 2009-03-13 07:51:59 +00:00
2009-03-13-PHIElimBug.ll Reapply r67049, with the test adjusted for darwin 2009-03-17 09:46:22 +00:00
2009-03-16-PHIElimInLPad.ll Reapply r67049, with the test adjusted for darwin 2009-03-17 09:46:22 +00:00
2009-03-16-SpillerBug.ll Spiller may unfold load / mod / store instructions as an optimization when the would be loaded value is available in a register. It needs to check if it's legal to clobber the register. Also, the register can contain values of multiple spill slots, make sure to check all instead of just the one being unfolded. 2009-03-17 01:23:09 +00:00
20081212.ll Fix bug 3202. 2008-12-19 10:55:56 +00:00
20090313-signext.ll Add -relocation-model=pic so that the test works 2009-03-18 09:38:28 +00:00
abi-isel.ll Add a testcase that covers a wide variety of ABI isel cases. 2009-03-14 02:35:10 +00:00
add-trick32.ll Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
add-trick64.ll Fun x86 encoding tricks: when adding an immediate value of 128, 2008-10-17 01:33:43 +00:00
add-with-overflow.ll X86_COND_C and X86_COND_NC are alternate mnemonics for 2009-01-07 00:15:08 +00:00
aliases.ll Update testcase for recent aliases change 2008-03-11 21:42:20 +00:00
aligned-comm.ll Use common where we mean common, not weak. 2008-05-16 00:52:30 +00:00
all-ones-vector.ll nounwind-ify this test. 2008-10-01 15:07:14 +00:00
alloca-align-rounding.ll this is apparently passing now. Evan/Dan, please check 2009-03-17 20:23:43 +00:00
and-or-fold.ll
arg-cast.ll
asm-block-labels.ll
asm-global-imm.ll
asm-indirect-mem.ll testcase for PR2267 2008-05-22 04:45:22 +00:00
atomic_op.ll Add support for 8 and 16 bit forms of __sync 2008-08-19 18:47:28 +00:00
Atomics-32.ll Test all currently supported atomic builtins on x86-{32,64}. 2008-08-22 22:39:21 +00:00
Atomics-64.ll Test all currently supported atomic builtins on x86-{32,64}. 2008-08-22 22:39:21 +00:00
avoid-loop-align.ll Avoid inserting noop's in the middle of a loop. 2008-11-27 01:16:00 +00:00
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll
break-anti-dependencies.ll Enable anti-dependence breaking by default when post-RA scheduling is enabled. 2008-12-16 06:21:45 +00:00
bswap-inline-asm.ll Recognize bswapl as bswap too. 2009-03-17 02:45:40 +00:00
bswap.ll
bt.ll Add explicit -march=x86 to these tests so that they don't 2009-02-03 00:20:22 +00:00
byval2.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval3.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
byval4.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
byval5.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
byval6.ll
byval7.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval.ll
call-imm.ll Disable the "call to immediate" optimization on x86-64. It is 2009-03-18 00:43:52 +00:00
call-push.ll
clz.ll
cmp0.ll
cmp1.ll
cmp2.ll Swap fp comparison operands and change predicate to allow load folding (safely this time). 2008-08-29 23:22:12 +00:00
cmp-test.ll
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
coalescer-commute4.ll
coalescer-commute5.ll
coalescer-remat.ll Re-materalized definition instructions may be dead. Whack them. 2008-09-19 17:38:47 +00:00
combine-lds.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
commute-cmov.ll Make x86's BT instruction matching more thorough, and add some 2009-01-29 01:59:02 +00:00
commute-intrinsic.ll - Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. 2008-06-16 20:29:38 +00:00
commute-two-addr.ll
compare_folding.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
compare-add.ll
complex-fca.ll Add a test case for _Complex passed as a FCA. 2008-10-13 18:13:07 +00:00
const-select.ll Don't force promotion of return arguments on the callee. 2009-03-17 23:43:59 +00:00
constant-pool-remat-0.ll If SSE2 is available, x86 should pass first 3 f32/f64 arguments in XMM registers for fastcc calls. 2008-09-05 17:24:07 +00:00
convert-2-addr-3-addr-inc64.ll rename test to avoid messing with tab completion of dates. 2009-02-12 06:54:55 +00:00
copysign-zero.ll
critical-edge-split.ll - CodeGenPrepare does not split loop back edges but it only knows about back edges of single block loops. It now does a DFS walk to find loop back edges. 2008-12-19 18:03:11 +00:00
cstring.ll GV with null value initializer shouldn't go to BSS if it's meant for a mergeable strings section. Currently it only checks for Darwin. Someone else please check if it should apply to other targets as well. 2009-02-18 02:19:52 +00:00
dag-rauw-cse.ll At Nick Lewycky's request, rename this test with a more informative name. 2009-01-26 21:36:31 +00:00
dagcombine-buildvector.ll Add newline at end of file. 2009-03-17 17:08:25 +00:00
dagcombine-cse.ll Use target triple in tests, not 'realign-stack=0' option. Per request. 2008-05-06 23:09:29 +00:00
darwin-bzero.ll Moved this option to the front-end. 2008-10-01 01:02:18 +00:00
darwin-no-dead-strip.ll
darwin-stub.ll No need to print function stubs for Mac OS X 10.5 and up. Linker will handle it. 2008-09-20 00:13:45 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
div_const.ll
divrem.ll
dollar-name.ll Fix some tests. 2008-06-12 21:23:38 +00:00
dyn-stackalloc.ll
epilogue.ll
extend.ll
extern_weak.ll
extmul64.ll
extmul128.ll
extract-combine.ll Fix a problem with DAGCombine on 64b targets where folding 2009-03-01 23:44:07 +00:00
extractelement-from-arg.ll Instead of a vector load, shuffle and then extract an element. Load the element from address with an offset. 2008-05-13 08:35:03 +00:00
extractelement-load.ll Yonah does not support x86-64. Change the -mcpu value to one that does. 2009-02-02 22:50:08 +00:00
extractelement-shuffle.ll Fixed a bug when trying to optimize a extract vector element of a 2008-12-10 03:59:02 +00:00
extractps.ll Use MOVSSmr instead of EXTRACTPSmr in the case of extracting 2008-10-31 00:57:24 +00:00
fabs.ll
fast-cc-callee-pops.ll Remove code that pad number of bytes to pop for X86_FastCall CC. The code doesn't do the "aligning" for Cygwin, Mingw, and Windows. But aligning it on Darwin and Linux breaks gcc compatibility. That ruled out all the platforms we support! 2008-09-04 01:04:15 +00:00
fast-cc-merge-stack-adj.ll
fast-cc-pass-in-regs.ll
fast-isel-call.ll Handle calls which produce i1 results: promote to i8 but and it with 1 to get the low bit. 2008-09-08 17:15:42 +00:00
fast-isel-gep-sext.ll Factor out the code for sign-extending/truncating gep indices 2008-12-08 07:57:47 +00:00
fast-isel-i1.ll Fix FastISel's assumption that i1 values are always zero-extended 2009-03-13 20:42:20 +00:00
fast-isel-mem.ll Refactor X86SelectConstAddr, folding it into X86SelectAddress. This 2008-09-19 22:16:54 +00:00
fast-isel-phys.ll Improve FastISel's handling of truncates to i1, and implement 2009-03-13 23:53:06 +00:00
fast-isel-shift-imm.ll Fix fast-isel to not emit invalid assembly when presented with a 2008-12-20 17:19:40 +00:00
fast-isel-tls.ll Fast-isel can't do TLS yet, so it should fall back to SDISel 2009-02-23 22:03:08 +00:00
fast-isel-trunc.ll Improve FastISel's handling of truncates to i1, and implement 2009-03-13 23:53:06 +00:00
fast-isel.ll Add a few more ptrtoint/inttoptr cast tests. 2009-03-13 23:54:51 +00:00
fastcall-correct-mangling.ll
fastcc-2.ll If SSE2 is available, x86 should pass first 3 f32/f64 arguments in XMM registers for fastcc calls. 2008-09-05 17:24:07 +00:00
fastcc-byval.ll Fix byval arguments in the fastcc calling convention. The fastcc convention 2008-12-03 01:28:04 +00:00
fastcc-sret.ll Fix a fastcc + sret bug. If fastcc and sret, callee doesn't need to pop the hidden struct ptr; Re-enable fastcc. 2008-09-10 18:25:29 +00:00
fastcc.ll Fix test. 2008-09-05 20:04:37 +00:00
field-extract-use-trunc.ll Fix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill's testcase that failed for r48491. 2008-03-19 08:30:06 +00:00
fildll.ll
fold-add.ll Enhance address-mode folding of ISD::ADD to handle cases where the 2009-03-13 02:25:09 +00:00
fold-and-shift.ll
fold-call-2.ll Try approach to moving call address load inside of callseq_start. Now it's done during the preprocess of x86 isel. callseq_start's chain is changed to load's chain node; while load's chain is the last of callseq_start or the loads or copytoreg nodes inserted to move arguments to the right spot. 2008-08-25 21:27:18 +00:00
fold-call-3.ll Enhance logic in X86DAGToDAGISel::PreprocessForRMW which move load inside callseq_start to allow it to be folded into a call. It was not considering the cases where a token factor is between the load and the callseq_start. 2009-01-26 18:43:34 +00:00
fold-call.ll Add patterns for CALL32m and CALL64m. They aren't matched in most 2008-05-29 21:50:34 +00:00
fold-imm.ll On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size. 2008-11-27 00:49:46 +00:00
fold-load.ll Add -march=x86. 2008-11-27 00:37:06 +00:00
fold-mul-lohi.ll
fold-pcmpeqd-0.ll make these tests pass when run on a G5. 2009-02-20 07:10:11 +00:00
fold-pcmpeqd-1.ll Mark x86's V_SET0 and V_SETALLONES with isSimpleLoad, and teach X86's 2008-12-03 05:21:24 +00:00
fold-pcmpeqd-2.ll make these tests pass when run on a G5. 2009-02-20 07:10:11 +00:00
fp2sint.ll
fp_constant_op.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
fp_load_cast_fold.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
fp_load_fold.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-stack-2results.ll Add support for calls that return two FP values in 2008-03-21 06:38:26 +00:00
fp-stack-compare.ll
fp-stack-direct-ret.ll
fp-stack-ret-conv.ll
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fp-stack-set-st1.ll Implement FpSET_ST1_*. 2009-02-09 23:32:07 +00:00
fsxor-alignment.ll
full-lsr.ll Implement "superhero" strength reduction, or full strength 2009-02-20 04:17:46 +00:00
ga-offset.ll Teach DAGCombine to fold constant offsets into GlobalAddress nodes, 2008-10-18 02:06:02 +00:00
hidden-vis-2.ll Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols. 2008-12-05 01:06:39 +00:00
hidden-vis-3.ll Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols. 2008-12-05 01:06:39 +00:00
hidden-vis-4.ll Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols. 2008-12-05 01:06:39 +00:00
hidden-vis.ll
i2k.ll Change how extended types are represented in MVTs. Instead of fiddling 2008-11-03 17:56:27 +00:00
i64-mem-copy.ll Typo. 2009-03-12 17:07:39 +00:00
i128-and-beyond.ll Split this test and move it into target-specific directories. 2008-10-01 19:46:30 +00:00
i128-immediate.ll APIntify SelectionDAG's EXTRACT_ELEMENT code. 2008-03-24 16:38:05 +00:00
i128-mul.ll
i128-ret.ll
i256-add.ll Add a testcase for i256 add. i256 isn't fully supported in 2008-10-07 20:39:12 +00:00
iabs.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
illegal-asm.ll Exit with nice warnings when register allocator run out of registers. 2009-01-29 02:20:59 +00:00
illegal-insert.ll
illegal-vector-args-return.ll
imp-def-copies.ll New test case. 2008-04-03 21:25:03 +00:00
imul-lea.ll
inline-asm-flag-clobber.ll Rename test. 2009-03-04 02:47:25 +00:00
inline-asm-fpstack.ll Implement basic support for the 'f' register class constraint. This basically 2008-03-11 19:50:13 +00:00
inline-asm-mrv.ll make the vector conversion magic handle multiple results. 2008-04-29 04:48:56 +00:00
inline-asm-pic.ll Properly handle 'm' inline asm constraints. If a GV is being selected for the addressing mode, it requires the same logic for PIC relative addressing, etc. 2008-09-24 00:05:32 +00:00
inline-asm-x-scalar.ll
inline-asm.ll Support x86 specific inline asm modifier 'J'. 2008-09-22 23:57:37 +00:00
ins_subreg_coalesce-1.ll - More aggressively coalescing away copies whose source is defined by an implicit_def. 2008-04-09 20:57:25 +00:00
ins_subreg_coalesce-2.ll - More aggressively coalescing away copies whose source is defined by an implicit_def. 2008-04-09 20:57:25 +00:00
ins_subreg_coalesce-3.ll Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
insertelement-copytoregs.ll
insertelement-legalize.ll Added support to LegalizeType for expanding the operands of scalar to vector 2008-12-15 06:57:02 +00:00
invalid-shift-immediate.ll
isel-sink2.ll Don't force promotion of return arguments on the callee. 2009-03-17 23:43:59 +00:00
isel-sink3.ll On x86 favors folding short immediate into some arithmetic operations (e.g. add, and, xor, etc.) because materializing an immediate in a register is expensive in turns of code size. 2008-11-27 00:49:46 +00:00
isel-sink.ll
isint.ll Be kind to non-x86 hosts. 2008-10-24 21:20:25 +00:00
isnan2.ll Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too. 2008-05-20 19:52:04 +00:00
isnan.ll Rename the last test with .llx extension to .ll, resolve duplicate test by renaming to isnan2. Now that no test has llx ending there is no need to search for them from dg.exp too. 2008-05-20 19:52:04 +00:00
ispositive.ll
iv-users-in-other-loops.ll Implement "superhero" strength reduction, or full strength 2009-02-20 04:17:46 +00:00
jump_sign.ll
ldzero.ll
lea-2.ll
lea-3.ll Fix MatchAddress bug that's preventing negative displacement from being folded in 64-bit mode. 2009-01-17 07:09:27 +00:00
lea-4.ll Fix MatchAddress bug that's preventing negative displacement from being folded in 64-bit mode. 2009-01-17 07:09:27 +00:00
lea-recursion.ll
lea.ll
legalizedag_vec.ll Revert BuildVectorSDNode related patches: 65426, 65427, and 65296. 2009-02-25 22:49:59 +00:00
lfence.ll
limited-prec.ll Now with RUN line. 2009-01-21 21:28:03 +00:00
local-liveness.ll Remove the FlaggedNodes member from SUnit. Instead of requiring each SUnit 2008-11-13 23:24:17 +00:00
long-setcc.ll Swap fp comparison operands and change predicate to allow load folding. 2008-08-28 23:48:31 +00:00
longlong-deadload.ll
loop-hoist.ll Disable the post-RA scheduler on this test, since it uses a 2009-01-16 21:40:12 +00:00
loop-strength-reduce2.ll Fix some more quoting issues in RUN lines, this time regarding unintended 2008-06-10 16:10:32 +00:00
loop-strength-reduce3.ll
loop-strength-reduce4.ll
loop-strength-reduce5.ll
loop-strength-reduce6.ll
loop-strength-reduce7.ll Fix strange logic in CollectIVUsers used to determine whether all uses are 2009-02-20 22:16:49 +00:00
loop-strength-reduce8.ll Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses. 2009-02-21 02:06:47 +00:00
loop-strength-reduce-2.ll Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses. 2009-02-21 02:06:47 +00:00
loop-strength-reduce-3.ll Make LoopStrengthReduce smarter about hoisting things out of 2008-12-05 21:47:27 +00:00
loop-strength-reduce.ll Make LoopStrengthReduce smarter about hoisting things out of 2008-12-05 21:47:27 +00:00
lsr-negative-stride.ll Make this test more thorough. Not only should there be no %esi, 2009-03-05 19:31:32 +00:00
lsr-sort.ll Fix LSR's IV sorting function to explicitly sort by bitwidth 2009-02-13 00:26:43 +00:00
maskmovdqu.ll Handle llvm.x86.sse2.maskmov.dqu in 64-bit. 2009-02-10 22:06:28 +00:00
memcpy-2.ll The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and 2008-05-26 20:18:56 +00:00
memcpy.ll
memmove-0.ll
memmove-1.ll
memmove-2.ll
memmove-3.ll
memmove-4.ll Expand small memmovs using inline code. Set the X86 threshold for expanding 2008-05-29 19:42:22 +00:00
memset64-on-x86-32.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
memset-2.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
memset.ll The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and 2008-05-26 20:18:56 +00:00
mfence.ll
mingw-alloca.ll Allow for rounding up of stack frame. 2008-06-26 01:55:32 +00:00
mmx-arg-passing2.ll Update tests. 2008-04-25 20:13:47 +00:00
mmx-arg-passing.ll Update tests. 2008-04-25 20:13:47 +00:00
mmx-arith.ll
mmx-bitcast-to-i64.ll Add movd instructions to move from MMX registers 2008-04-15 23:55:07 +00:00
mmx-copy-gprs.ll On x86, if the only use of a i64 load is a i64 store, generate a pair of double load and store instead. 2009-03-12 05:59:15 +00:00
mmx-emms.ll
mmx-insert-element.ll Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq. 2008-05-29 08:22:04 +00:00
mmx-pinsrw.ll Fix for first part of PR2562. Generate the "pinsrw" instruction for inserts 2008-07-20 02:32:23 +00:00
mmx-punpckhdq.ll
mmx-s2v.ll Fix PR2574: implement v2f32 scalar_to_vector. 2008-07-22 18:39:19 +00:00
mmx-shift.ll Select vector shift with non-immediate i32 shift amount operand by first moving the operand into the right register. 2008-05-04 09:15:50 +00:00
mmx-shuffle.ll
mmx-vzmovl-2.ll Use mmx (punpckldq VR64, (mmx_v_set0)) to clear high 32-bits of a VR64 register. 2008-12-03 19:38:05 +00:00
mmx-vzmovl.ll Add more vector move low and zero-extend patterns. 2008-11-05 06:04:51 +00:00
movgs.ll Map address space 256 to gs; similar mappings could be supported for the 2009-01-26 01:24:32 +00:00
mul64.ll
mul128.ll
mul-legalize.ll Move 3 "(add (select cc, 0, c), x) -> (select cc, x, (add, x, c))" 2009-03-12 06:52:53 +00:00
mul-remat.ll
mul-shift-reassoc.ll
multiple-return-values-cross-block.ll Handle getresult instructions in different basic blocks 2008-03-21 21:01:32 +00:00
multiple-return-values.ll Make this test x86-specific for now; targets that don't use 2008-03-12 00:25:14 +00:00
nancvt.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
neg_fp.ll If unsafe FP optimization is not set, don't allow -(A-B) => B-A because 2009-01-31 06:07:45 +00:00
negate-add-zero.ll Don't create ISD::FNEG nodes after legalize if they aren't legal. 2009-01-22 21:58:43 +00:00
negative_zero.ll
negative-sin.ll
negative-subscript.ll Make sure constant subscript is truncated to ptr size if it may not fit. 2009-02-09 20:54:38 +00:00
nobt.ll Make a transformation added in 63266 a bit less aggressive. 2009-02-11 19:19:41 +00:00
nofence.ll
nosse-error1.ll add 2 more testcases for -mattr=-sse (r63495). 2009-02-01 18:24:20 +00:00
nosse-error2.ll add 2 more testcases for -mattr=-sse (r63495). 2009-02-01 18:24:20 +00:00
nosse-varargs.ll Implement -mno-sse: if SSE is disabled on x86-64, don't store XMM on stack for 2009-02-01 18:15:56 +00:00
opt-ext-uses.ll
optimize-smax.ll Teach LSR to optimize away SMAX operations for tripcounts in common 2008-09-15 21:22:06 +00:00
or-branch.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
overlap-shift.ll
packed_struct.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
peep-test-0.ll Fix the "test" optimization to recognize "dec" as an add of 2009-03-05 19:32:48 +00:00
peep-test-1.ll Fix the "test" optimization to recognize "dec" as an add of 2009-03-05 19:32:48 +00:00
peep-test-2.ll Arithmetic instructions don't set EFLAGS bits OF and CF bits 2009-03-07 01:58:32 +00:00
peep-vector-extract-concat.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
peep-vector-extract-insert.ll
phys_subreg_coalesce-2.ll Add test case from PR2659. 2009-01-09 21:01:31 +00:00
phys_subreg_coalesce.ll The coalescer does not coalesce a virtual register to a physical register if any of the physical register's sub-register live intervals overlaps with the virtual register. This is overly conservative. It prevents a extract_subreg from being coalesced away: 2009-01-07 02:08:57 +00:00
pic_jumptable.ll
pic-1.ll
pic-2.ll
pic-3.ll
pic-4.ll
pic-5.ll
pic-6.ll
pic-cpool.ll reapply my previous patch (r66358) with a tweak to set the 2009-03-11 05:08:08 +00:00
pic-jtbl.ll
pic-load-remat.ll
pmul.ll Don't use special heuristics for nodes with no data predecessors 2009-02-11 21:29:39 +00:00
postalloc-coalescing.ll
pr1462.ll APIntify SelectionDAG's EXTRACT_ELEMENT code. 2008-03-24 16:38:05 +00:00
pr1489.ll
pr1505.ll
pr1505b.ll
pr2177.ll Fix a tokenfactor node to use the load chain rather than the 2008-03-28 23:45:16 +00:00
pr2182.ll Fix a DAGCombiner optimization to respect volatile qualification. 2008-03-31 20:32:52 +00:00
pr2326.ll When bit-twiddling CondCode values for integer comparisons produces 2008-05-14 18:17:09 +00:00
pr2623.ll Fix SDISel lowering of PHI nodes to use ComputeValueVTs. 2008-08-04 23:42:46 +00:00
pr2656.ll Make x86 and sse2 explicit for non-x86 hosts. 2008-08-21 21:26:06 +00:00
pr2659.ll PR2659 was fixed by r61847. Add the testcase as a regression test. 2009-01-09 08:16:12 +00:00
pr2849.ll When doing the very-late shift-and address-mode optimization, 2008-10-13 20:52:04 +00:00
pr2924.ll Fix SelectionDAGBuild lowering of Select instructions to 2008-10-21 20:00:42 +00:00
pr2982.ll The ANDMask node folds to a constant, and isn't the node that needs to 2008-11-03 23:43:55 +00:00
pr3154.ll Add test case for PR3154. 2009-01-20 19:29:54 +00:00
pr3216.ll Fix a dagcombine to not generate loads of non-round integer types, 2009-01-20 01:06:45 +00:00
pr3241.ll Use the correct Preds and Succs lists in setHeightDirty() 2008-12-20 16:34:57 +00:00
pr3243.ll Fix PR3243: a LiveVariables bug. When HandlePhysRegKill is checking whether the last reference is also the last def (i.e. dead def), it should also check if last reference is the current machine instruction being processed. This can happen when it is processing a physical register use and setting the current machine instruction as sub-register's last ref. 2009-01-20 21:25:12 +00:00
pr3244.ll Fix PR3241: Currently EmitCopyFromReg emits a copy from the physical register to a virtual register unless it requires an expensive cross class copy. That means we are only treating "expensive to copy" register dependency as physical register dependency. 2009-01-12 03:19:55 +00:00
pr3250.ll Fix a DAGCombiner abort on an invalid shift count constant. This fixes PR3250. 2009-01-03 19:22:06 +00:00
pr3317.ll Simplify ReduceLoadWidth's logic: it doesn't need several different 2009-01-21 15:17:51 +00:00
pr3366.ll Fix a recent regression. ClrOpcode is not set for i8; for i8, if 2009-01-21 14:50:16 +00:00
pr3457.ll Fix PR3457: Ignore control successors when looking for closest scheduled successor. A control successor doesn't read result(s) produced by the scheduling unit being evaluated. 2009-02-10 08:30:11 +00:00
pr3495-2.ll Remove a bogus assertion. It's possible a live-in available value is used by a previous instruction. 2009-02-11 23:41:57 +00:00
pr3495.ll Implement PR3495: local spiller optimization. The local spiller can now keep availability information over BB boundaries. It visits BB's in depth first order. After visiting a BB if it find a successor which has a single predecessor it visits the successor next without clearing the availability information. This allows the successor to omit reloads or change them into copies. 2009-02-11 08:24:21 +00:00
pr3522.ll Fix PR3522. It's not safe to sink into landing pad BB's. 2009-02-15 08:36:12 +00:00
pre-split1.ll XFAIL this test. It only worked before because of a bug in the spill point selection code. Not deleting because 2009-01-29 22:27:56 +00:00
pre-split2.ll Turn on machine LICM in non-fast mode. 2009-02-05 08:46:33 +00:00
pre-split3.ll - More pre-split fixes: spill slot live interval computation bug; restore point bug. 2008-10-29 08:39:34 +00:00
pre-split4.ll If val# def is ~0U, meaning it's defined by a PHI, and it's previously split, spill before the barrier because it's impossible to determine if all the defs are spilled in the same spill slot. 2008-10-25 00:52:41 +00:00
pre-split5.ll Handle cases where there aren't uses in the barrier mbb. 2008-10-25 23:49:39 +00:00
pre-split6.ll Add a restore folder, which shaves a dozen or so machineinstrs off oggenc. Update a testcase to check this. 2009-03-04 08:52:31 +00:00
pre-split7.ll For now, don't split live intervals around x87 stack register barriers. FpGET_ST0_80 must be right after a call instruction (and ADJCALLSTACKUP) so we need to find a way to prevent reload of x87 registers between them. 2008-10-27 07:14:50 +00:00
pre-split8.ll Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb. 2008-10-28 00:47:49 +00:00
pre-split9.ll Avoid putting a split past the end of the live range; always shrink wrap live interval in the barrier mbb. 2008-10-28 00:47:49 +00:00
pre-split10.ll - More pre-split fixes: spill slot live interval computation bug; restore point bug. 2008-10-29 08:39:34 +00:00
prefetch.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
private.ll Add the private linkage. 2009-01-15 20:18:42 +00:00
rdtsc.ll
red-zone.ll Add a regression test for x86-64 red zone usage. 2009-01-27 00:40:27 +00:00
regpressure.ll
rem-2.ll DIVREM isel deficiency: If sign bit is known zero, zero out DX/EDX/RDX instead of sign extending the low part (in AX/EAX/RAX) into it. 2009-01-19 19:06:11 +00:00
rem.ll
remat-constant.ll This test needs -aggressive-remat enabled. 2008-07-25 15:25:32 +00:00
remat-mov0.ll Find loop back edges only after empty blocks are eliminated. 2009-01-05 21:17:27 +00:00
ret-addr.ll Add support for non-zero __builtin_return_address values on X86. 2009-01-16 19:25:27 +00:00
ret-i64-0.ll remove some unneeded eh generation 2008-10-21 03:49:19 +00:00
ret-mmx.ll Make sure this test passes on linux-ppc. 2009-02-27 00:51:50 +00:00
rip-rel-address.ll Use %rip-relative addressing on x86-64 whenever practical, as 2009-03-14 02:33:41 +00:00
rot16.ll Define patterns for shld and shrd that match immediate 2008-10-17 01:23:35 +00:00
rot32.ll Define patterns for shld and shrd that match immediate 2008-10-17 01:23:35 +00:00
rot64.ll Define patterns for shld and shrd that match immediate 2008-10-17 01:23:35 +00:00
rotate2.ll ensure we continue matching x86-64 rotates. 2008-03-17 01:35:03 +00:00
rotate.ll
scalar_sse_minmax.ll Fix parameter spelling: sse not sse1 2008-06-10 17:57:58 +00:00
scalar-extract.ll Simplify extract element of a scalar to vector. 2009-01-17 00:07:25 +00:00
scalar-min-max-fill-operand.ll
select-no-cmov.ll generalize the previous code to use the full generality of LEA 2009-03-13 05:53:31 +00:00
select-zero-one.ll
select.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
setoeq.ll - Add target lowering hooks that specify which setcc conditions are illegal, 2008-10-15 02:05:31 +00:00
setuge.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
sext-load.ll
sext-select.ll Use the correct value for InSignBit. 2008-03-11 21:29:43 +00:00
sext-trunc.ll Don't force promotion of return arguments on the callee. 2009-03-17 23:43:59 +00:00
sfence.ll
shift-and.ll Transform (x << (y&31)) -> (x << y). This takes advantage of the fact x86 shift instructions 2nd operand (shift count) is limited to 0 to 31 (or 63 in the x86-64 case). 2008-08-30 02:03:58 +00:00
shift-coalesce.ll
shift-codegen.ll
shift-combine.ll
shift-double.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
shift-folding.ll
shift-one.ll
shl_elim.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
sincos.ll
small-byval-memcpy.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
smul-with-overflow-2.ll Implement multiple with overflow by 2 with an add instruction. 2009-01-27 03:30:42 +00:00
smul-with-overflow-3.ll Teach LowerBRCOND to recognize (xor (setcc x), 1). The xor inverts the condition. It's normally transformed by the dag combiner, unless the condition is set by a arithmetic op with overflow. 2009-02-02 08:07:36 +00:00
smul-with-overflow.ll - Use patterns instead of creating completely new instruction matching patterns, 2008-12-12 21:15:41 +00:00
soft-fp.ll Teach x86 target -soft-float. 2009-02-13 22:36:38 +00:00
split-eh-lpad-edges.ll Fix PR3784: If the source of a phi comes from a bb ended with an invoke, make sure the copy is inserted before the try range (unless it's used as an input to the invoke, then insert it after the last use), not at the end of the bb. 2009-03-13 22:59:14 +00:00
split-select.ll v2f32 is now a valid (MMX) type which breaks this 2008-06-24 22:03:36 +00:00
split-vector-rem.ll
sret.ll Fix a fastcc + sret bug. If fastcc and sret, callee doesn't need to pop the hidden struct ptr; Re-enable fastcc. 2008-09-10 18:25:29 +00:00
sse41-extractps-bitcast-0.ll Add support for the form of the SSE41 extractps instruction that 2008-04-16 02:32:24 +00:00
sse41-extractps-bitcast-1.ll Add support for the form of the SSE41 extractps instruction that 2008-04-16 02:32:24 +00:00
sse41-pmovx.ll Use explicit target-triples to unbreak this test on non-darwin systems. 2008-10-01 00:25:38 +00:00
sse_reload_fold.ll Don't use special heuristics for nodes with no data predecessors 2009-02-11 21:29:39 +00:00
sse-align-0.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-1.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-2.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-3.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-4.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-5.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-6.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-7.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-8.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-9.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-10.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-11.ll Add nounwind. 2008-05-07 22:59:08 +00:00
sse-align-12.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
sse-fcopysign.ll
sse-load-ret.ll
sse-varargs.ll
stack-align.ll
store_op_load_fold2.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
store_op_load_fold.ll
store-fp-constant.ll
store-global-address.ll
storetrunc-fp.ll
stride-nine-with-base-reg.ll Teach LSR sink to sink the immediate portion of the common expression back into uses if they fit in address modes of all the uses. 2009-02-21 02:06:47 +00:00
stride-reuse.ll
sub-with-overflow.ll X86_COND_C and X86_COND_NC are alternate mnemonics for 2009-01-07 00:15:08 +00:00
subclass-coalesce.ll Update test to reflect command line option name change. 2009-01-23 05:45:31 +00:00
subreg-to-reg-0.ll Re-enable elimination of unnecessary SUBREG_TO_REG instructions in 2008-08-07 02:54:50 +00:00
subreg-to-reg-1.ll Re-enable elimination of unnecessary SUBREG_TO_REG instructions in 2008-08-07 02:54:50 +00:00
swizzle.ll The memory alignment requirement on some of the mov{h|l}p{d|s} patterns are 16-byte. That is overly strict. These instructions read / write f64 memory locations without alignment requirement. 2009-01-28 08:35:02 +00:00
tailcall1.ll
tailcall-stackalign.ll Change the calling convention used when tail call optimization is enabled from CC_X86_32_TailCall to CC_X86_32_FastCC. 2008-09-22 14:50:07 +00:00
tailcallbyval64.ll This patch corrects the handling of byval arguments for tailcall 2008-04-12 18:11:06 +00:00
tailcallbyval.ll Fix byval arguments in the fastcc calling convention. The fastcc convention 2008-12-03 01:28:04 +00:00
tailcallfp2.ll Change the calling convention used when tail call optimization is enabled from CC_X86_32_TailCall to CC_X86_32_FastCC. 2008-09-22 14:50:07 +00:00
tailcallfp.ll Add indirect tail call (function pointer) examples. 2008-09-11 22:24:28 +00:00
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll Really commit the test checking the argument lowering behaviour on x86-64 :). 2008-04-30 09:19:47 +00:00
test-nofold.ll
testl-commute.ll add a testcase. 2009-01-07 01:48:08 +00:00
tls1-pic.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls1.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls2-pic.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls2.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls3-pic.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls3.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls4-pic.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls4.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls5.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls6.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls7.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls8.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls9.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls10.ll Refactor TLS code and add some tests. The tests and expected results are: 2009-02-27 13:37:18 +00:00
tls11.ll Don't force promotion of return arguments on the callee. 2009-03-17 23:43:59 +00:00
tls12.ll Don't force promotion of return arguments on the callee. 2009-03-17 23:43:59 +00:00
tls13.ll Improve sext and zext of TLS variables. 2009-03-13 18:37:06 +00:00
tls14.ll Improve sext and zext of TLS variables. 2009-03-13 18:37:06 +00:00
trap.ll
trunc-to-bool.ll When promoting the result of fp_to_uint/fp_to_sint, 2008-11-10 17:28:30 +00:00
twoaddr-coalesce-2.ll Minor optimization: 2009-03-01 02:03:43 +00:00
twoaddr-coalesce.ll Minor optimization: 2009-03-01 02:03:43 +00:00
twoaddr-delete.ll If two-address def is dead and the instruction does not define other registers, and it doesn't produce side effects, just delete the instruction. 2009-02-21 03:14:25 +00:00
twoaddr-pass-sink.ll TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one. 2008-03-13 06:37:55 +00:00
twoaddr-remat.ll Enable two-address remat by default. 2008-06-25 01:16:38 +00:00
uint_to_fp-2.ll Make linear scan's trivial coalescer slightly more aggressive. 2009-01-20 00:16:18 +00:00
uint_to_fp.ll Now not UINT_TO_FP is legal (it's marked custom), dag combiner won't 2009-01-19 08:08:22 +00:00
umul-with-carry.ll - Use patterns instead of creating completely new instruction matching patterns, 2008-12-12 21:15:41 +00:00
urem-i8-constant.ll Fix for PR2164: allow transforming arbitrary-width unsigned divides into 2008-11-30 06:02:26 +00:00
v4f32-immediate.ll
variable-sized-darwin-bzero.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
variadic-node-pic.ll Fix the position of MemOperands in nodes that use variadic_ops 2008-06-02 17:40:38 +00:00
vec_add.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
vec_align.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_call.ll
vec_clear.ll Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq. 2008-05-29 08:22:04 +00:00
vec_ctbits.ll Add nounwind. 2008-05-29 07:09:24 +00:00
vec_extract-sse4.ll Instead of a vector load, shuffle and then extract an element. Load the element from address with an offset. 2008-05-13 08:35:03 +00:00
vec_extract.ll Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory. 2009-01-02 05:29:08 +00:00
vec_fneg.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
vec_ins_extract-1.ll make these tests pass when run on a G5. 2009-02-20 07:10:11 +00:00
vec_ins_extract.ll rearrange how SRoA handles promotion of allocas to vectors. 2009-02-03 01:30:09 +00:00
vec_insert_4.ll Feedback from chris 2008-04-25 21:47:35 +00:00
vec_insert-2.ll Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory. 2009-01-02 05:29:08 +00:00
vec_insert-3.ll Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory. 2009-01-02 05:29:08 +00:00
vec_insert-5.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_insert-6.ll Add target triples so these tests behave as expected on non-darwin hosts. 2008-07-24 18:08:01 +00:00
vec_insert-7.ll Fix test RUN line 2008-07-25 19:08:59 +00:00
vec_insert-8.ll Expand insert/extract of a <4 x i32> with a variable index. 2009-01-15 21:10:20 +00:00
vec_insert.ll Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory. 2009-01-02 05:29:08 +00:00
vec_loadhl.ll New loadl_pd and loadh_pd tests. 2008-05-24 00:10:02 +00:00
vec_logical.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_return.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_select.ll
vec_set-2.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_set-3.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_set-4.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_set-5.ll Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine. 2008-05-08 00:57:18 +00:00
vec_set-6.ll Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine. 2008-05-08 00:57:18 +00:00
vec_set-7.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_set-8.ll
vec_set-9.ll Prefer movlhps over punpcklqdq, etc. in more cases. 2008-09-25 23:35:16 +00:00
vec_set-A.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_set-B.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_set-C.ll Handle a few more cases of folding load i64 into xmm and zero top bits. 2008-05-09 21:53:03 +00:00
vec_set-D.ll Handle vector move / load which zero the destination register top bits (i.e. movd, movq, movss (addr), movsd (addr)) with X86 specific dag combine. 2008-05-08 00:57:18 +00:00
vec_set-E.ll Simplify test. 2008-05-09 19:56:32 +00:00
vec_set-F.ll Handle a few more cases of folding load i64 into xmm and zero top bits. 2008-05-09 21:53:03 +00:00
vec_set-G.ll Add a pattern to do move the low element of a v4f32 and zero extend the rest. 2008-05-09 23:37:55 +00:00
vec_set-H.ll On x86, it's safe to treat i32 load anyext as a normal i32 load. Ditto for i8 anyext load to i16. 2008-05-13 00:54:02 +00:00
vec_set-I.ll Add missing patterns. 2008-05-22 18:56:56 +00:00
vec_set-J.ll Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector. 2008-07-10 01:08:23 +00:00
vec_set.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_shift2.ll
vec_shift3.ll Select vector shift with non-immediate i32 shift amount operand by first moving the operand into the right register. 2008-05-04 09:15:50 +00:00
vec_shift.ll
vec_shuffle-2.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-3.ll
vec_shuffle-4.ll
vec_shuffle-5.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_shuffle-6.ll
vec_shuffle-7.ll
vec_shuffle-8.ll
vec_shuffle-9.ll
vec_shuffle-10.ll
vec_shuffle-11.ll Add nounwind. 2008-07-17 19:48:04 +00:00
vec_shuffle-12.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-13.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-14.ll
vec_shuffle-15.ll
vec_shuffle-16.ll Use target triple in tests, not 'realign-stack=0' option. Per request. 2008-05-06 23:09:29 +00:00
vec_shuffle-17.ll A better fix for my previous patch, MOVZQI2PQIrr just requires SSE2. 2008-04-20 05:52:46 +00:00
vec_shuffle-18.ll The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and 2008-05-26 20:18:56 +00:00
vec_shuffle-19.ll Add target triples so these tests behave as expected on non-darwin hosts. 2008-07-24 18:08:01 +00:00
vec_shuffle-20.ll Add target triples so these tests behave as expected on non-darwin hosts. 2008-07-24 18:08:01 +00:00
vec_shuffle-21.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-22.ll With sse3 and when the source is a load or has multiple uses, favors movddup over shuffp*, pshufd, etc. Without sse3 or when the source is from a register, make use of movlhps 2008-09-25 20:50:48 +00:00
vec_shuffle-23.ll Remove OptimizeForSize global. Use function attribute optsize. 2008-10-01 23:18:38 +00:00
vec_shuffle-24.ll Remove OptimizeForSize global. Use function attribute optsize. 2008-10-01 23:18:38 +00:00
vec_shuffle-25.ll Improved shuffle normalization to avoid using extract/build when we 2008-11-16 05:06:27 +00:00
vec_shuffle-26.ll Improved shuffle normalization to avoid using extract/build when we 2008-11-16 05:06:27 +00:00
vec_shuffle-27.ll Improved shuffle normalization to avoid using extract/build when we 2008-11-16 05:06:27 +00:00
vec_shuffle-28.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-29.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-30.ll Fixes a case where we generate an incorrect mask for pshfhw in the presence 2009-02-04 01:16:59 +00:00
vec_shuffle-31.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-32.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-33.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-34.ll Generate better code for v8i16 shuffles on SSE2 2009-02-23 08:49:38 +00:00
vec_shuffle-35.ll Use the -stack-alignment option instead of using a target triple 2009-02-23 16:34:46 +00:00
vec_shuffle-36.ll Fixed a v8i16 shuffle case that should generate a pshufb instead of a pshuflw/hw. 2009-03-11 06:35:11 +00:00
vec_shuffle-37.ll For yonah, fix a vector shuffle case for v16i8 where we didn't properly clear some bits. 2009-03-11 18:47:57 +00:00
vec_shuffle.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_splat-2.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_splat-3.ll Added shuffle and splat test cases for r61365. 2008-12-23 04:05:08 +00:00
vec_splat-4.ll Added shuffle and splat test cases for r61365. 2008-12-23 04:05:08 +00:00
vec_splat.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_ss_load_fold.ll Add nounwind. 2008-05-07 22:59:08 +00:00
vec_zero_cse.ll
vec_zero-2.ll
vec_zero.ll
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx.ll Allow SelectionDAG to create EXTRACT_VECTOR_ELT nodes with 2008-08-13 21:51:37 +00:00
vector.ll
vfcmp.ll Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64. 2008-08-05 22:19:15 +00:00
volatile.ll Fix a think-o in isSafeToMove. This fixes it from thinking that 2008-10-02 15:04:30 +00:00
vortex-bug.ll Run vortex-bug as x86-64, which is what the original bug was triggered on. 2008-05-20 00:54:39 +00:00
vshift_scalar.ll Added support for splitting and scalarizing vector shifts. 2008-12-15 21:44:00 +00:00
vshift_split2.ll make these tests pass when run on a G5. 2009-02-20 07:10:11 +00:00
vshift_split.ll Fix getNode to allow a vector for the shift amount for shifts of vectors. 2008-12-09 05:46:39 +00:00
vshift-1.ll Added sse test patterns for r62979 and r63193. 2009-01-28 08:13:56 +00:00
vshift-2.ll Added sse test patterns for r62979 and r63193. 2009-01-28 08:13:56 +00:00
vshift-3.ll Added sse test patterns for r62979 and r63193. 2009-01-28 08:13:56 +00:00
vshift-4.ll Added sse test patterns for r62979 and r63193. 2009-01-28 08:13:56 +00:00
weak.ll
widen_arith-1.ll Use movaps / movd to extract vector element 0 even with sse4.1. It's still cheaper than pextrw especially if the value is in memory. 2009-01-02 05:29:08 +00:00
widen_arith-2.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_arith-3.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_arith-4.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_arith-5.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_arith-6.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_cast-1.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_cast-2.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_cast-3.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_cast-4.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_cast-5.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_cast-6.ll Added missing support to widen an operand from a bit convert. 2009-01-15 22:43:38 +00:00
widen_conv-1.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_conv-2.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_conv-3.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_conv-4.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_select-1.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_shuffle-1.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
widen_shuffle-2.ll Added some basic test cases for r61209 2008-12-18 20:05:58 +00:00
x86-64-and-mask.ll
x86-64-arg.ll
x86-64-asm.ll
x86-64-dead-stack-adjust.ll
x86-64-disp.ll Don't create TargetGlobalAddress nodes with offsets that don't fit 2008-10-21 03:38:42 +00:00
x86-64-frameaddr.ll Re-apply 56683 with fixes. 2008-09-27 01:56:22 +00:00
x86-64-gv-offset.ll
x86-64-malloc.ll Fix codegen to compute the size of an allocation by multiplying the 2009-03-17 19:36:00 +00:00
x86-64-mem.ll Add -disable-required-unwind-tables to tests 2008-04-08 00:14:17 +00:00
x86-64-pic-1.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-2.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-3.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-4.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-5.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-6.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-7.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-8.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-9.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-10.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-11.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-ret0.ll Fix live variables issues: 2008-03-19 00:52:20 +00:00
x86-64-shortint.ll
x86-64-sret-return.ll Implement an x86-64 ABI detail of passing structs by hidden first 2008-04-21 23:59:07 +00:00
x86-64-varargs.ll Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function implicitly reads X86::AL, don't clobber it! 2008-03-18 23:36:35 +00:00
x86-frameaddr2.ll Re-apply 56683 with fixes. 2008-09-27 01:56:22 +00:00
x86-frameaddr.ll Re-apply 56683 with fixes. 2008-09-27 01:56:22 +00:00
xmm-r64.ll
xor_not.ll Favors generating "not" over "xor -1". For example. 2009-01-21 02:09:05 +00:00
xor-undef.ll Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it. 2008-03-25 20:08:07 +00:00
xorl.ll It might be nice to have this run as x86 on non-x86 platforms... 2008-03-18 22:38:22 +00:00
zero-remat.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
zext-inreg-0.ll Re-introduce the 8-bit subreg zext-inreg patterns for x86-32, 2008-08-06 18:27:21 +00:00
zext-inreg-1.ll Add an extra example that shouldn't get an and instruction. 2008-08-07 02:23:06 +00:00