llvm-6502/test/CodeGen/X86
Evan Cheng 400073d546 On recent Intel u-arch's, folding loads into some unary SSE instructions can
be non-optimal. To be precise, we should avoid folding loads if the instructions
only update part of the destination register, and the non-updated part is not
needed. e.g. cvtss2sd, sqrtss. Unfolding the load from these instructions breaks
the partial register dependency and it can improve performance. e.g.

movss (%rdi), %xmm0
cvtss2sd %xmm0, %xmm0

instead of
cvtss2sd (%rdi), %xmm0

An alternative method to break dependency is to clear the register first. e.g.
xorps %xmm0, %xmm0
cvtss2sd (%rdi), %xmm0


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@91672 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-18 07:40:29 +00:00
..
3addr-16bit.ll Disable r91104 for x86. It causes partial register stall which pessimize code in 32-bit. 2009-12-12 20:03:14 +00:00
2003-08-03-CallArgLiveRanges.ll
2003-08-23-DeadBlockTest.ll
2003-11-03-GlobalBool.ll
2004-02-12-Memcpy.ll
2004-02-13-FrameReturnAddress.ll
2004-02-14-InefficientStackPointer.ll
2004-02-22-Casts.ll
2004-03-30-Select-Max.ll
2004-04-09-SameValueCoalescing.ll
2004-04-13-FPCMOV-Crash.ll
2004-06-10-StackifierCrash.ll
2004-10-08-SelectSetCCFold.ll
2005-01-17-CycleInDAG.ll
2005-02-14-IllegalAssembler.ll
2005-05-08-FPStackifierPHI.ll
2006-01-19-ISelFoldingBug.ll
2006-03-01-InstrSchedBug.ll
2006-03-02-InstrSchedBug.ll
2006-04-04-CrossBlockCrash.ll Fix PR5315, original patch by Nicolas Capens! 2009-11-06 00:11:57 +00:00
2006-04-27-ISelFoldingBug.ll
2006-05-01-SchedCausingSpills.ll Fix PR5315, original patch by Nicolas Capens! 2009-11-06 00:11:57 +00:00
2006-05-02-InstrSched1.ll
2006-05-02-InstrSched2.ll
2006-05-08-CoalesceSubRegClass.ll
2006-05-08-InstrSched.ll
2006-05-11-InstrSched.ll
2006-05-17-VectorArg.ll
2006-05-22-FPSetEQ.ll
2006-05-25-CycleInDAG.ll
2006-07-10-InlineAsmAConstraint.ll
2006-07-12-InlineAsmQConstraint.ll
2006-07-19-ATTAsm.ll
2006-07-20-InlineAsm.ll
2006-07-28-AsmPrint-Long-As-Pointer.ll
2006-07-31-SingleRegClass.ll
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
2006-10-10-FindModifiedNodeSlotBug.ll
2006-10-12-CycleInDAG.ll
2006-10-13-CycleInDAG.ll
2006-10-19-SwitchUnnecessaryBranching.ll Instead of printing unnecessary basic block labels as labels in 2009-10-06 17:38:38 +00:00
2006-11-12-CSRetCC.ll
2006-11-17-IllegalMove.ll
2006-11-27-SelectLegalize.ll
2006-11-28-Memcpy.ll
2006-12-19-IntelSyntax.ll
2007-01-08-InstrSched.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
2007-01-13-StackPtrIndex.ll
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
2007-04-08-InlineAsmCrash.ll Add nounwind. 2009-09-23 18:20:27 +00:00
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 Fix PR5315, original patch by Nicolas Capens! 2009-11-06 00:11:57 +00:00
2007-06-04-tailmerge4.ll
2007-06-04-X86-64-CtorAsmBugs.ll
2007-06-05-LSR-Dominator.ll
2007-06-14-branchfold.ll
2007-06-15-IntToMMX.ll
2007-06-28-X86-64-isel.ll
2007-06-29-DAGCombinerBug.ll
2007-06-29-VecFPConstantCSEBug.ll
2007-07-03-GR64ToVR64.ll
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
2007-08-13-AppendingLinkage.ll
2007-08-13-SpillerReuse.ll
2007-09-05-InvalidAsm.ll
2007-09-06-ExtWeakAliasee.ll
2007-09-17-ObjcFrameEH.ll
2007-09-18-ShuffleXformBug.ll
2007-09-27-LDIntrinsics.ll
2007-10-04-AvoidEFLAGSCopy.ll
2007-10-05-3AddrConvert.ll
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
2007-11-30-LoadFolding-Bug.ll Re-apply 85799. It turns out my code isn't buggy. 2009-11-03 21:40:02 +00:00
2007-11-30-TestLoadFolding.ll
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
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 Reimplement BranchFolding change to avoid tail merging for a 1 instruction 2009-10-28 22:10:20 +00:00
2008-02-20-InlineAsmClobber.ll
2008-02-22-LocalRegAllocBug.ll
2008-02-22-ReMatBug.ll Fix a pasto. Also simplify for Bill's benefit. 2009-09-22 01:48:19 +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
2008-03-10-RegAllocInfLoop.ll
2008-03-12-ThreadLocalAlias.ll
2008-03-13-TwoAddrPassCrash.ll
2008-03-14-SpillerCrash.ll
2008-03-18-CoalescerBug.ll
2008-03-19-DAGCombinerBug.ll
2008-03-23-DarwinAsmComments.ll
2008-03-25-TwoAddrPassBug.ll
2008-03-31-SpillerFoldingBug.ll
2008-04-02-unnamedEH.ll
2008-04-08-CoalescerCrash.ll
2008-04-09-BranchFolding.ll
2008-04-15-LiveVariableBug.ll Enable -split-phi-edges by default, except when -regalloc=local. 2009-11-17 19:15:50 +00:00
2008-04-16-CoalescerBug.ll
2008-04-16-ReMatBug.ll
2008-04-17-CoalescerBug.ll
2008-04-24-MemCpyBug.ll
2008-04-24-pblendw-fold-crash.ll
2008-04-26-Asm-Optimize-Imm.ll
2008-04-28-CoalescerBug.ll
2008-04-28-CyclicSchedUnit.ll
2008-05-01-InvalidOrdCompare.ll
2008-05-09-PHIElimBug.ll
2008-05-09-ShuffleLoweringBug.ll
2008-05-12-tailmerge-5.ll Reimplement BranchFolding change to avoid tail merging for a 1 instruction 2009-10-28 22:10:20 +00:00
2008-05-21-CoalescerBug.ll
2008-05-22-FoldUnalignedLoad.ll
2008-05-28-CoalescerBug.ll
2008-05-28-LocalRegAllocBug.ll
2008-06-04-MemCpyLoweringBug.ll
2008-06-13-NotVolatileLoadStore.ll
2008-06-13-VolatileLoadStore.ll
2008-06-16-SubregsBug.ll
2008-06-18-BadShuffle.ll
2008-06-25-VecISelBug.ll
2008-07-07-DanglingDeadInsts.ll
2008-07-09-ELFSectionAttributes.ll
2008-07-11-SHLBy1.ll
2008-07-11-SpillerBug.ll Turn on post-alloc scheduling for x86. 2009-10-18 19:57:27 +00:00
2008-07-16-CoalescerCrash.ll
2008-07-19-movups-spills.ll
2008-07-22-CombinerCrash.ll
2008-07-23-VSetCC.ll
2008-08-05-SpillerBug.ll New virtual registers created for spill intervals should inherit allocation hints from the original register. 2009-11-30 22:55:54 +00:00
2008-08-06-RewriterBug.ll
2008-08-17-UComiCodeGenBug.ll
2008-08-19-SubAndFetch.ll
2008-08-23-64Bit-maskmovq.ll
2008-08-23-X86-64AsmBug.ll
2008-08-25-AsmRegTypeMismatch.ll
2008-08-31-EH_RETURN32.ll
2008-08-31-EH_RETURN64.ll
2008-09-05-sinttofp-2xi32.ll
2008-09-09-LinearScanBug.ll
2008-09-11-CoalescerBug2.ll
2008-09-11-CoalescerBug.ll
2008-09-17-inline-asm-1.ll
2008-09-18-inline-asm-2.ll
2008-09-19-RegAllocBug.ll
2008-09-25-sseregparm-1.ll
2008-09-26-FrameAddrBug.ll
2008-09-29-ReMatBug.ll
2008-09-29-VolatileBug.ll
2008-10-02-Atomics32-2.ll
2008-10-06-MMXISelBug.ll
2008-10-06-x87ld-nan-1.ll
2008-10-06-x87ld-nan-2.ll
2008-10-07-SSEISelBug.ll
2008-10-11-CallCrash.ll
2008-10-13-CoalescerBug.ll
2008-10-16-SpillerBug.ll Add support for using the FLAGS result of or, xor, and and instructions 2009-09-18 19:59:53 +00:00
2008-10-16-VecUnaryOp.ll
2008-10-17-Asm64bitRConstraint.ll
2008-10-20-AsmDoubleInI32.ll
2008-10-24-FlippedCompare.ll
2008-10-27-CoalescerBug.ll
2008-10-27-StackRealignment.ll
2008-10-29-ExpandVAARG.ll
2008-11-03-F80VAARG.ll
2008-11-06-testb.ll
2008-11-13-inlineasm-3.ll
2008-11-29-DivideConstant16bit.ll
2008-11-29-DivideConstant16bitSigned.ll
2008-11-29-ULT-Sign.ll
2008-12-01-loop-iv-used-outside-loop.ll
2008-12-01-SpillerAssert.ll
2008-12-02-dagcombine-1.ll
2008-12-02-dagcombine-2.ll
2008-12-02-dagcombine-3.ll
2008-12-02-IllegalResultType.ll
2008-12-05-SpillerCrash.ll
2008-12-12-PrivateEHSymbol.ll
2008-12-16-BadShift.ll
2008-12-16-dagcombine-4.ll
2008-12-19-EarlyClobberBug.ll
2008-12-22-dagcombine-5.ll
2008-12-23-crazy-address.ll
2008-12-23-dagcombine-6.ll
2009-01-12-CoalescerBug.ll Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail. 2009-12-05 07:30:23 +00:00
2009-01-13-DoubleUpdate.ll
2009-01-16-SchedulerBug.ll
2009-01-16-UIntToFP.ll
2009-01-18-ConstantExprCrash.ll
2009-01-25-NoSSE.ll
2009-01-26-WrongCheck.ll
2009-01-27-NullStrings.ll
2009-01-29-LocalRegAllocBug.ll
2009-01-31-BigShift2.ll
2009-01-31-BigShift3.ll
2009-01-31-BigShift.ll
2009-02-01-LargeMask.ll
2009-02-03-AnalyzedTwice.ll
2009-02-04-sext-i64-gep.ll
2009-02-05-CoalescerBug.ll
2009-02-07-CoalescerBug.ll
2009-02-08-CoalescerBug.ll
2009-02-11-codegenprepare-reuse.ll
2009-02-12-DebugInfoVLA.ll
2009-02-12-InlineAsm-nieZ-constraints.ll
2009-02-12-SpillerBug.ll
2009-02-20-PreAllocSplit-Crash.ll
2009-02-21-ExtWeakInitializer.ll
2009-02-25-CommuteBug.ll
2009-02-26-MachineLICMBug.ll
2009-03-03-BitcastLongDouble.ll
2009-03-03-BTHang.ll
2009-03-05-burr-list-crash.ll
2009-03-07-FPConstSelect.ll
2009-03-09-APIntCrash.ll
2009-03-09-SpillerBug.ll
2009-03-10-CoalescerBug.ll
2009-03-11-CoalescerBug.ll
2009-03-12-CPAlignBug.ll
2009-03-13-PHIElimBug.ll Convert a few tests to FileCheck for PR5307. 2009-11-22 11:45:44 +00:00
2009-03-16-PHIElimInLPad.ll Convert a few tests to FileCheck for PR5307. 2009-11-22 11:45:44 +00:00
2009-03-16-SpillerBug.ll
2009-03-23-i80-fp80.ll
2009-03-23-LinearScanBug.ll
2009-03-23-MultiUseSched.ll
2009-03-25-TestBug.ll
2009-03-26-NoImplicitFPBug.ll
2009-04-09-InlineAsmCrash.ll
2009-04-12-FastIselOverflowCrash.ll
2009-04-12-picrel.ll
2009-04-13-2AddrAssert-2.ll
2009-04-13-2AddrAssert.ll
2009-04-14-IllegalRegs.ll
2009-04-16-SpillerUnfold.ll
2009-04-20-LinearScanOpt.ll Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are 2009-10-20 04:50:37 +00:00
2009-04-21-NoReloadImpDef.ll Turn on post-alloc scheduling for x86. 2009-10-18 19:57:27 +00:00
2009-04-24.ll
2009-04-25-CoalescerBug.ll
2009-04-27-CoalescerAssert.ll
2009-04-27-LiveIntervalsAssert2.ll
2009-04-27-LiveIntervalsAssert.ll
2009-04-27-LiveIntervalsBug.ll
2009-04-29-IndirectDestOperands.ll
2009-04-29-LinearScanBug.ll
2009-04-29-RegAllocAssert.ll
2009-04-scale.ll
2009-05-08-InlineAsmIOffset.ll
2009-05-11-tailmerge-crash.ll
2009-05-19-SingleElementExtractElement.ll
2009-05-23-available_externally.ll
2009-05-23-dagcombine-shifts.ll
2009-05-28-DAGCombineCrash.ll
2009-05-30-ISelBug.ll
2009-06-02-RewriterBug.ll
2009-06-03-Win64DisableRedZone.ll
2009-06-03-Win64SpillXMM.ll
2009-06-04-VirtualLiveIn.ll
2009-06-05-ScalarToVectorByteMMX.ll
2009-06-05-sitofpCrash.ll
2009-06-05-VariableIndexInsert.ll
2009-06-05-VZextByteShort.ll
2009-06-06-ConcatVectors.ll
2009-06-07-ExpandMMXBitcast.ll
2009-06-12-x86_64-tail-call-conv-out-of-sync-bug.ll
2009-06-15-not-a-tail-call.ll
2009-06-18-movlp-shuffle-register.ll
2009-07-06-TwoAddrAssert.ll
2009-07-07-SplitICmp.ll
2009-07-09-ExtractBoolFromVector.ll
2009-07-15-CoalescerBug.ll
2009-07-16-CoalescerBug.ll
2009-07-16-LoadFoldingBug.ll
2009-07-17-StackColoringBug.ll
2009-07-19-AsmExtraOperands.ll
2009-07-20-CoalescerBug.ll
2009-07-20-DAGCombineBug.ll
2009-08-02-mmx-scalar-to-vector.ll
2009-08-06-branchfolder-crash.ll
2009-08-06-inlineasm.ll
2009-08-08-CastError.ll
2009-08-12-badswitch.ll
2009-08-14-Win64MemoryIndirectArg.ll
2009-08-19-LoadNarrowingMiscompile.ll
2009-08-23-linkerprivate.ll
2009-08-23-SubRegReuseUndo.ll
2009-09-07-CoalescerBug.ll
2009-09-10-LoadFoldingBug.ll
2009-09-10-SpillComments.ll Use FileCheck and set nounwind on calls. 2009-12-07 19:40:26 +00:00
2009-09-16-CoalescerBug.ll Fix PR4910: Broken logic in coalescer means when a physical register liveness is being shortened, the sub-registers were not. The symptom is the register allocator could not find a free register for this particular test. 2009-09-17 00:57:15 +00:00
2009-09-19-earlyclobber.ll When computing live intervals for earlyclobber operands, 2009-09-20 00:36:41 +00:00
2009-09-19-SchedCustomLoweringBug.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
2009-09-21-NoSpillLoopCount.ll Clean up spill weight computation. Also some changes to give loop induction 2009-09-21 21:12:25 +00:00
2009-09-22-CoalescerBug.ll Fix a obvious logic error. 2009-09-23 05:23:19 +00:00
2009-09-23-LiveVariablesBug.ll Clean up LiveVariables and change how it deals with partial updates and kills. This also eliminate the horrible check which scan forward to the end of the basic block. It should be faster and more accurate. 2009-09-24 02:15:22 +00:00
2009-10-08-MachineLICMBug.ll Enable hoisting load from constant memories. 2009-11-20 23:31:34 +00:00
2009-10-14-LiveVariablesBug.ll When LiveVariables is adding implicit-def to model "partial dead", add the earlyclobber marker if the superreg def has it. 2009-10-14 23:39:27 +00:00
2009-10-19-atomic-cmp-eflags.ll Fix PR5247, "lock addq" pattern (and other atomics), it DOES modify EFLAGS. 2009-10-19 11:00:58 +00:00
2009-10-19-EmergencySpill.ll If the physical register being spilled does not have an interval, spill its sub-registers instead. 2009-10-20 01:31:09 +00:00
2009-10-25-RewriterBug.ll - Revert some changes from 85044, 85045, and 85047 that broke x86_64 tests and 2009-10-26 04:56:07 +00:00
2009-11-04-SubregCoalescingBug.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
2009-11-13-VirtRegRewriterBug.ll Added getSubRegIndex(A,B) that returns subreg index of A to B. Use it to replace broken code in VirtRegRewriter. 2009-11-14 03:42:17 +00:00
2009-11-16-MachineLICM.ll MOV64rm should be marked isReMaterializable. 2009-11-17 00:55:55 +00:00
2009-11-16-UnfoldMemOpBug.ll - Check memoperand alignment instead of checking stack alignment. Most load / store folding instructions are not referencing spill stack slots. 2009-11-16 21:56:03 +00:00
2009-11-17-UpdateTerminator.ll Fix inverted test and add testcase from failing self-host. 2009-11-18 00:02:18 +00:00
2009-11-18-TwoAddrKill.ll Fix PR5300. 2009-11-18 21:33:35 +00:00
2009-11-25-ImpDefBug.ll Test for 89905. 2009-11-26 00:35:01 +00:00
2009-12-01-EarlyClobberBug.ll Fix PR5391: support early clobber physical register def tied with a use (ewwww) 2009-12-01 22:25:00 +00:00
2009-12-11-TLSNoRedZone.ll Honour setHasCalls() set from isel. 2009-12-11 19:39:55 +00:00
2009-12-12-CoalescerBug.ll It's not safe to coalesce a move where src and dst registers have different subregister indices. e.g.: 2009-12-10 20:59:45 +00:00
20090313-signext.ll
abi-isel.ll Remove "tail" keywords. These calls are not intended to be tail calls. 2009-12-18 01:02:18 +00:00
add-trick32.ll
add-trick64.ll
add-with-overflow.ll
aliases.ll
aligned-comm.ll
all-ones-vector.ll
alloca-align-rounding.ll
and-or-fold.ll
and-su.ll
anyext-uses.ll
anyext.ll
arg-cast.ll
asm-block-labels.ll
asm-global-imm.ll
asm-indirect-mem.ll
asm-modifier-P.ll
asm-modifier.ll
atomic_add.ll
atomic_op.ll
Atomics-32.ll
Atomics-64.ll
attribute-sections.ll
avoid-lea-scale2.ll
avoid-loop-align-2.ll Make CodePlacementOpt align loops, rather than loop headers. The 2009-10-15 00:36:22 +00:00
avoid-loop-align.ll Make CodePlacementOpt align loops, rather than loop headers. The 2009-10-15 00:36:22 +00:00
bigstructret.ll x86 users can now return arbitrary sized structs. Structs too large to fit in return registers will be returned through a hidden sret parameter introduced during SelectionDAG construction. 2009-11-11 19:59:24 +00:00
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll
break-anti-dependencies.ll Break anti-dependence breaking out into its own class. 2009-10-26 16:59:04 +00:00
break-sse-dep.ll On recent Intel u-arch's, folding loads into some unary SSE instructions can 2009-12-18 07:40:29 +00:00
bss_pagealigned.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
bswap-inline-asm.ll
bswap.ll
bt.ll
byval2.ll
byval3.ll
byval4.ll
byval5.ll
byval6.ll
byval7.ll
byval.ll
call-imm.ll
call-push.ll
change-compare-stride-0.ll
change-compare-stride-1.ll
clz.ll
cmov.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
cmp0.ll merge cmp1 into cmp0 and filecheckize. 2009-11-07 06:19:20 +00:00
cmp2.ll
cmp-test.ll
coalesce-esp.ll
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll
coalescer-commute4.ll
coalescer-commute5.ll
coalescer-cross.ll
coalescer-remat.ll
code_placement.ll
codegen-prepare-cast.ll
codegen-prepare-extload.ll Move zext and sext casts fed by loads into the same block as the 2009-10-16 20:59:35 +00:00
codemodel.ll
combine-lds.ll
combiner-aa-0.ll
combiner-aa-1.ll
commute-intrinsic.ll
commute-two-addr.ll
compare_folding.ll
compare-add.ll
compare-inf.ll Convert comparisons like (x == infinity) to (x >= infinity) on targets 2009-09-26 15:24:17 +00:00
compiler_used.ll
complex-fca.ll
const-select.ll
constant-pool-remat-0.ll
constant-pool-sharing.ll Allow constants of different types to share constant pool entries 2009-10-28 01:12:16 +00:00
constpool.ll
convert-2-addr-3-addr-inc64.ll Reimplement BranchFolding change to avoid tail merging for a 1 instruction 2009-10-28 22:10:20 +00:00
copysign-zero.ll
critical-edge-split.ll
cstring.ll
dag-rauw-cse.ll
dagcombine-buildvector.ll
dagcombine-cse.ll
darwin-bzero.ll
darwin-no-dead-strip.ll
darwin-quote.ll
darwin-stub.ll
dg.exp
discontiguous-loops.ll Re-apply r84295, with fixes to how the loop "top" and "bottom" blocks are 2009-10-20 04:50:37 +00:00
div_const.ll
divrem.ll
dll-linkage.ll
dollar-name.ll
dyn-stackalloc.ll
empty-struct-return-type.ll
epilogue.ll
extend.ll
extern_weak.ll
extmul64.ll
extmul128.ll
extract-combine.ll
extract-extract.ll
extractelement-from-arg.ll
extractelement-load.ll
extractelement-shuffle.ll
extractps.ll
fabs.ll
fast-cc-callee-pops.ll
fast-cc-merge-stack-adj.ll
fast-cc-pass-in-regs.ll
fast-isel-bail.ll
fast-isel-bc.ll
fast-isel-call.ll
fast-isel-constpool.ll
fast-isel-fneg.ll
fast-isel-gep.ll fix PR4984 by ensuring that fastisel adds properly sign extended GEP displacement 2009-09-15 18:27:02 +00:00
fast-isel-gv.ll
fast-isel-i1.ll
fast-isel-mem.ll
fast-isel-phys.ll
fast-isel-shift-imm.ll
fast-isel-tailcall.ll
fast-isel-tls.ll
fast-isel-trunc.ll
fast-isel.ll
fastcall-correct-mangling.ll
fastcc3struct.ll For fastcc on x86, let ECX be used as a return register after EAX and EDX 2009-12-15 03:27:52 +00:00
fastcc-2.ll
fastcc-byval.ll
fastcc-sret.ll
fastcc.ll Turn on post-alloc scheduling for x86. 2009-10-18 19:57:27 +00:00
field-extract-use-trunc.ll
fildll.ll
fmul-zero.ll
fold-add.ll
fold-and-shift.ll
fold-call-2.ll
fold-call-3.ll
fold-call.ll
fold-imm.ll
fold-load.ll
fold-mul-lohi.ll
fold-pcmpeqd-0.ll
fold-pcmpeqd-1.ll
fold-pcmpeqd-2.ll
fold-sext-trunc.ll
fp2sint.ll
fp_constant_op.ll Fix for bad FileCheck converts in revision 89584. 2009-11-22 12:50:05 +00:00
fp_load_cast_fold.ll
fp_load_fold.ll
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-stack-2results.ll
fp-stack-compare.ll
fp-stack-direct-ret.ll
fp-stack-O0-crash.ll
fp-stack-ret-conv.ll
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fp-stack-set-st1.ll
fsxor-alignment.ll
full-lsr.ll
ga-offset.ll
global-sections-tls.ll
global-sections.ll
h-register-addressing-32.ll
h-register-addressing-64.ll
h-register-store.ll
h-registers-0.ll
h-registers-1.ll
h-registers-2.ll
h-registers-3.ll
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis-4.ll
hidden-vis-5.ll Fix test to work on every platform. 2009-11-11 01:41:32 +00:00
hidden-vis.ll
i2k.ll
i64-mem-copy.ll
i128-and-beyond.ll
i128-immediate.ll
i128-mul.ll
i128-ret.ll
i256-add.ll
iabs.ll
illegal-asm.ll
illegal-insert.ll
illegal-vector-args-return.ll
imp-def-copies.ll
imul-lea-2.ll
imul-lea.ll
inline-asm-2addr.ll
inline-asm-flag-clobber.ll
inline-asm-fpstack2.ll
inline-asm-fpstack3.ll
inline-asm-fpstack4.ll
inline-asm-fpstack5.ll
inline-asm-fpstack.ll
inline-asm-modifier-n.ll
inline-asm-mrv.ll
inline-asm-out-regs.ll
inline-asm-pic.ll
inline-asm-q-regs.ll
inline-asm-R-constraint.ll Fix handling of x86 'R' constraint. 2009-10-07 22:47:20 +00:00
inline-asm-tied.ll
inline-asm-x-scalar.ll
inline-asm.ll
ins_subreg_coalesce-1.ll
ins_subreg_coalesce-2.ll
ins_subreg_coalesce-3.ll
insertelement-copytoregs.ll
insertelement-legalize.ll
invalid-shift-immediate.ll
isel-sink2.ll
isel-sink3.ll
isel-sink.ll
isint.ll
isnan2.ll
isnan.ll
ispositive.ll
iv-users-in-other-loops.ll
jump_sign.ll
large-gep-scale.ll APInt-ify the gep scaling code, so that it correctly handles the case where 2009-10-23 17:57:43 +00:00
ldzero.ll
lea-2.ll
lea-3.ll
lea-4.ll
lea-recursion.ll
lea.ll
legalize-fmp-oeq-vector-select.ll Make TranslateX86CC return COND_INVALID instead of aborting when it 2009-10-20 16:22:37 +00:00
legalizedag_vec.ll
lfence.ll
limited-prec.ll
live-out-reg-info.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
local-liveness.ll
long-setcc.ll
longlong-deadload.ll
loop-blocks.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
loop-hoist.ll
loop-strength-reduce2.ll Add nounwind. 2009-11-11 07:11:02 +00:00
loop-strength-reduce3.ll Add nounwind. 2009-11-11 07:11:02 +00:00
loop-strength-reduce4.ll
loop-strength-reduce5.ll Add nounwind. 2009-11-11 07:11:02 +00:00
loop-strength-reduce6.ll Add nounwind. 2009-11-11 07:11:02 +00:00
loop-strength-reduce7.ll
loop-strength-reduce8.ll
loop-strength-reduce-2.ll
loop-strength-reduce-3.ll
loop-strength-reduce.ll
lsr-loop-exit-cond.ll
lsr-negative-stride.ll
lsr-sort.ll
masked-iv-safe.ll
masked-iv-unsafe.ll
maskmovdqu.ll
memcpy-2.ll
memcpy.ll
memmove-0.ll
memmove-1.ll
memmove-2.ll
memmove-3.ll
memmove-4.ll
memset64-on-x86-32.ll
memset-2.ll
memset.ll
mfence.ll
mingw-alloca.ll
mmx-arg-passing2.ll
mmx-arg-passing.ll
mmx-arith.ll
mmx-bitcast-to-i64.ll
mmx-copy-gprs.ll
mmx-emms.ll
mmx-insert-element.ll
mmx-pinsrw.ll
mmx-punpckhdq.ll
mmx-s2v.ll
mmx-shift.ll
mmx-shuffle.ll
mmx-vzmovl-2.ll
mmx-vzmovl.ll
movfs.ll
movgs.ll
mul64.ll
mul128.ll
mul-legalize.ll
mul-remat.ll
mul-shift-reassoc.ll
multiple-return-values-cross-block.ll
multiple-return-values.ll
nancvt.ll
narrow_op-1.ll
narrow_op-2.ll
neg_fp.ll
negate-add-zero.ll
negative_zero.ll
negative-sin.ll Add readonly to some sin and cos calls; transformations 2009-09-25 18:15:29 +00:00
negative-stride-fptosi-user.ll Make LSR's OptimizeShadowIV ignore induction variables with negative 2009-10-26 15:32:57 +00:00
negative-subscript.ll
nobt.ll
nofence.ll
nosse-error1.ll
nosse-error2.ll
nosse-varargs.ll
object-size.ll Add testcase for recent checkin. 2009-11-09 23:10:49 +00:00
omit-label.ll
opt-ext-uses.ll
optimize-max-0.ll
optimize-max-1.ll
optimize-max-2.ll
or-branch.ll
overlap-shift.ll
packed_struct.ll
palignr-2.ll Recommitting PALIGNR shift width fixes. 2009-11-20 22:28:42 +00:00
palignr.ll Add support for matching shuffle patterns with palignr. 2009-10-19 02:17:23 +00:00
peep-test-0.ll
peep-test-1.ll
peep-test-2.ll
peep-test-3.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
peep-vector-extract-concat.ll
peep-vector-extract-insert.ll
personality.ll Make a new X8632_MachoTargetObjectFile TLOF implementation whose 2009-09-18 20:22:52 +00:00
phys_subreg_coalesce-2.ll
phys_subreg_coalesce.ll
phys-reg-local-regalloc.ll Do better with physical reg operands (typically, from inline asm) 2009-12-16 00:29:41 +00:00
pic_jumptable.ll
pic-load-remat.ll Enable hoisting load from constant memories. 2009-11-20 23:31:34 +00:00
pic.ll Turn on post-alloc scheduling for x86. 2009-10-18 19:57:27 +00:00
pmul.ll
postalloc-coalescing.ll
pr1462.ll
pr1489.ll
pr1505.ll
pr1505b.ll
pr2177.ll
pr2182.ll
pr2326.ll
pr2623.ll
pr2656.ll
pr2659.ll
pr2849.ll
pr2924.ll
pr2982.ll
pr3154.ll
pr3216.ll
pr3241.ll
pr3243.ll
pr3244.ll
pr3250.ll
pr3317.ll
pr3366.ll
pr3457.ll
pr3495-2.ll
pr3495.ll
pr3522.ll
pre-split1.ll
pre-split2.ll
pre-split3.ll
pre-split4.ll
pre-split5.ll
pre-split6.ll
pre-split7.ll
pre-split8.ll
pre-split9.ll
pre-split10.ll
pre-split11.ll Reset kill markers after live interval is reconstructed. 2009-10-09 01:17:11 +00:00
prefetch.ll
private-2.ll
private.ll
ptrtoint-constexpr.ll
rdtsc.ll
red-zone2.ll
red-zone.ll
regpressure.ll
rem-2.ll
rem.ll
remat-constant.ll
remat-mov-1.ll
remat-scalar-zero.ll Add support for rematerializing FsFLD0SS and FsFLD0SD as constant-pool 2009-09-21 18:30:38 +00:00
ret-addr.ll
ret-i64-0.ll
ret-mmx.ll
rip-rel-address.ll
rodata-relocs.ll
rot16.ll
rot32.ll
rot64.ll
rotate2.ll
rotate.ll
scalar_sse_minmax.ll
scalar_widen_div.ll Add test case for r90108 2009-11-30 02:42:27 +00:00
scalar-extract.ll
scalar-min-max-fill-operand.ll Recognize SSE min and max opportunities in even more cases. 2009-09-21 18:03:22 +00:00
scalarize-bitcast.ll
scev-interchange.ll
select-aggregate.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
select-zero-one.ll
select.ll
setcc.ll Re-enable 91381 with fixes. 2009-12-16 00:53:11 +00:00
setoeq.ll
setuge.ll
sext-load.ll
sext-ret-val.ll
sext-select.ll
sext-trunc.ll
sfence.ll
shift-and.ll
shift-coalesce.ll
shift-codegen.ll
shift-combine.ll
shift-double.ll
shift-folding.ll
shift-i128.ll
shift-i256.ll
shift-one.ll
shift-parts.ll
shl_elim.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
sincos.ll Add readonly to some sin and cos calls; transformations 2009-09-25 18:15:29 +00:00
sink-hoist.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
small-byval-memcpy.ll
smul-with-overflow-2.ll
smul-with-overflow-3.ll
smul-with-overflow.ll
soft-fp.ll
splat-scalar-load.ll Fix test. 2009-12-09 22:24:42 +00:00
split-eh-lpad-edges.ll
split-select.ll
split-vector-rem.ll
sret.ll
sse2.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
sse3.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
sse41.ll
sse42.ll
sse_reload_fold.ll
sse-align-0.ll
sse-align-1.ll
sse-align-2.ll
sse-align-3.ll
sse-align-4.ll
sse-align-5.ll
sse-align-6.ll
sse-align-7.ll
sse-align-8.ll
sse-align-9.ll
sse-align-10.ll
sse-align-11.ll
sse-align-12.ll
sse-fcopysign.ll
sse-load-ret.ll
sse-minmax.ll Recognize SSE min and max opportunities in even more cases. 2009-09-21 18:03:22 +00:00
sse-varargs.ll
stack-align.ll
stack-color-with-reg-2.ll
stack-color-with-reg.ll Remove fragile test. 2009-11-17 21:52:40 +00:00
stdarg.ll
store_op_load_fold2.ll
store_op_load_fold.ll
store-empty-member.ll
store-fp-constant.ll
store-global-address.ll
storetrunc-fp.ll
stride-nine-with-base-reg.ll
stride-reuse.ll
sub-with-overflow.ll
subreg-to-reg-0.ll
subreg-to-reg-1.ll
subreg-to-reg-2.ll
subreg-to-reg-3.ll
subreg-to-reg-4.ll
subreg-to-reg-5.ll
subreg-to-reg-6.ll
switch-zextload.ll
swizzle.ll
tail-opts.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
tailcall1.ll Tidy up this testcase and add test for tailcall optimization 2009-12-18 01:05:06 +00:00
tailcall-fastisel.ll Fix fast-isel to avoid selecting the return instruction if a 2009-11-20 02:51:26 +00:00
tailcall-i1.ll
tailcall-stackalign.ll Convert a few tests to FileCheck for PR5307. 2009-11-22 11:45:44 +00:00
tailcall-structret.ll
tailcall-void.ll
tailcallbyval64.ll
tailcallbyval.ll
tailcallfp2.ll
tailcallfp.ll
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
test-nofold.ll
test-shrink-bug.ll Fix the x86 test-shrink optimization so that it doesn't shrink comparisons 2009-10-09 20:35:19 +00:00
test-shrink.ll
testl-commute.ll
tls1.ll
tls2.ll
tls3.ll
tls4.ll
tls5.ll
tls6.ll
tls7.ll
tls8.ll
tls9.ll
tls10.ll
tls11.ll
tls12.ll
tls13.ll
tls14.ll
tls15.ll
tls-pic.ll
trap.ll
trunc-to-bool.ll Turns out stuff gets allocated to different registers depending on the subtarget. 2009-11-22 15:15:52 +00:00
twoaddr-coalesce-2.ll
twoaddr-coalesce.ll Temporarily revert r90502. It was causing the llvm-gcc bootstrap on PPC to fail. 2009-12-05 07:30:23 +00:00
twoaddr-delete.ll
twoaddr-pass-sink.ll
twoaddr-remat.ll
uint_to_fp-2.ll
uint_to_fp.ll
umul-with-carry.ll
umul-with-overflow.ll
unaligned-load.ll Remove unnecessary check. 2009-12-02 22:02:20 +00:00
urem-i8-constant.ll
v4f32-immediate.ll
variable-sized-darwin-bzero.ll
variadic-node-pic.ll
vec_add.ll
vec_align.ll
vec_call.ll
vec_clear.ll
vec_compare-2.ll Don't pull vector sext through both hands of a logical operation, since doing so prevents the fusion of vector sext and setcc into vsetcc. 2009-12-03 07:11:29 +00:00
vec_compare.ll
vec_ctbits.ll
vec_ext_inreg.ll Implement vector widening, splitting, and scalarizing for SIGN_EXTEND_INREG. 2009-12-11 21:31:27 +00:00
vec_extract-sse4.ll
vec_extract.ll
vec_fneg.ll
vec_i64.ll
vec_ins_extract-1.ll
vec_ins_extract.ll Make opt default to not adding a target data string and update tests that depend on target data to supply it within the test 2009-11-03 15:29:06 +00:00
vec_insert_4.ll
vec_insert-2.ll
vec_insert-3.ll
vec_insert-5.ll
vec_insert-6.ll
vec_insert-7.ll
vec_insert-8.ll
vec_insert.ll
vec_loadsingles.ll
vec_logical.ll
vec_return.ll
vec_select.ll
vec_set-2.ll
vec_set-3.ll
vec_set-4.ll
vec_set-5.ll
vec_set-6.ll
vec_set-7.ll
vec_set-8.ll
vec_set-9.ll
vec_set-A.ll
vec_set-B.ll
vec_set-C.ll
vec_set-D.ll
vec_set-E.ll
vec_set-F.ll
vec_set-G.ll
vec_set-H.ll
vec_set-I.ll
vec_set-J.ll
vec_set.ll
vec_shift2.ll
vec_shift3.ll
vec_shift.ll
vec_shuffle-3.ll x86 vector shuffle cleanup/fixes: 2009-11-07 23:17:15 +00:00
vec_shuffle-4.ll
vec_shuffle-5.ll
vec_shuffle-6.ll
vec_shuffle-7.ll
vec_shuffle-8.ll
vec_shuffle-9.ll Add support for matching shuffle patterns with palignr. 2009-10-19 02:17:23 +00:00
vec_shuffle-10.ll
vec_shuffle-11.ll
vec_shuffle-14.ll
vec_shuffle-15.ll
vec_shuffle-16.ll
vec_shuffle-17.ll
vec_shuffle-18.ll
vec_shuffle-19.ll
vec_shuffle-20.ll
vec_shuffle-22.ll Add support for matching shuffle patterns with palignr. 2009-10-19 02:17:23 +00:00
vec_shuffle-23.ll
vec_shuffle-24.ll
vec_shuffle-25.ll
vec_shuffle-26.ll
vec_shuffle-27.ll
vec_shuffle-28.ll
vec_shuffle-30.ll
vec_shuffle-31.ll
vec_shuffle-34.ll
vec_shuffle-35.ll
vec_shuffle-36.ll
vec_shuffle.ll
vec_splat-2.ll
vec_splat-3.ll
vec_splat-4.ll
vec_splat.ll
vec_ss_load_fold.ll
vec_zero_cse.ll
vec_zero-2.ll Fix PR5315, original patch by Nicolas Capens! 2009-11-06 00:11:57 +00:00
vec_zero.ll
vec-trunc-store.ll Fix integer cast code to handle vector types. 2009-12-14 23:40:38 +00:00
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx.ll
vector.ll
vfcmp.ll
volatile.ll
vortex-bug.ll
vshift_scalar.ll
vshift_split2.ll
vshift_split.ll
vshift-1.ll Update tests for 84931. 2009-10-23 05:58:34 +00:00
vshift-2.ll Update tests for 84931. 2009-10-23 05:58:34 +00:00
vshift-3.ll Update tests for 84931. 2009-10-23 05:58:34 +00:00
vshift-4.ll
vshift-5.ll Update tests for 84931. 2009-10-23 05:58:34 +00:00
weak.ll
wide-integer-fold.ll
widen_arith-1.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_arith-2.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_arith-3.ll Don't enable the post-RA scheduler on x86 except at -O3. In its 2009-12-07 19:04:31 +00:00
widen_arith-4.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_arith-5.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_arith-6.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_cast-1.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_cast-2.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_cast-3.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_cast-4.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_cast-5.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_cast-6.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_conv-1.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_conv-2.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_conv-3.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_conv-4.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_extract-1.ll Add test case for r84279 2009-10-16 22:07:19 +00:00
widen_load-0.ll
widen_load-1.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
widen_select-1.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_shuffle-1.ll Update tests to use FileCheck 2009-10-16 22:09:05 +00:00
widen_shuffle-2.ll Update tests to use FileCheck 2009-10-16 22:09:05 +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
x86-64-frameaddr.ll
x86-64-gv-offset.ll
x86-64-jumps.ll improve x86 codegen support for blockaddress. We now compile 2009-11-01 03:25:03 +00:00
x86-64-malloc.ll
x86-64-mem.ll
x86-64-pic-1.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
x86-64-pic-2.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
x86-64-pic-3.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
x86-64-pic-4.ll
x86-64-pic-5.ll
x86-64-pic-6.ll
x86-64-pic-7.ll
x86-64-pic-8.ll
x86-64-pic-9.ll
x86-64-pic-10.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
x86-64-pic-11.ll Instruction fixes, added instructions, and AsmString changes in the 2009-12-18 00:01:26 +00:00
x86-64-ret0.ll
x86-64-shortint.ll
x86-64-sret-return.ll Don't forget to mark RAX as live-out of the function when arranging for 2009-10-12 16:36:12 +00:00
x86-64-varargs.ll
x86-frameaddr2.ll
x86-frameaddr.ll
x86-store-gv-addr.ll
xmm-r64.ll
xor.ll implement and document support for filecheck variables. This 2009-09-27 07:56:52 +00:00
zero-remat.ll
zext-inreg-0.ll
zext-inreg-1.ll
zext-shl.ll Make 91378 more conservative. 2009-12-15 03:00:32 +00:00