llvm-6502/test/CodeGen/X86
Benjamin Kramer 444dccecfc X86: Promote i8 cmov when both operands are coming from truncates of the same width.
X86 doesn't have i8 cmovs so isel would emit a branch. Emitting branches at this
level is often not a good idea because it's too late for many optimizations to
kick in. This solution doesn't add any extensions (truncs are free) and tries
to avoid introducing partial register stalls by filtering direct copyfromregs.

I'm seeing a ~10% speedup on reading a random .png file with libpng15 via
graphicsmagick on x86_64/westmere, but YMMV depending on the microarchitecture.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@165868 91177308-0d34-0410-b5e6-96231b3b80d8
2012-10-13 10:39:49 +00:00
..
GC
3addr-16bit.ll
3addr-or.ll
3dnow-intrinsics.ll
4char-promote.ll
2003-08-03-CallArgLiveRanges.ll
2003-08-23-DeadBlockTest.ll
2003-11-03-GlobalBool.ll
2004-02-13-FrameReturnAddress.ll
2004-02-14-InefficientStackPointer.ll
2004-02-22-Casts.ll
2004-03-30-Select-Max.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
2006-04-27-ISelFoldingBug.ll
2006-05-01-SchedCausingSpills.ll
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-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
2006-11-12-CSRetCC.ll During the CodeGenPrepare we often lower intrinsics (such as objsize) 2012-08-14 05:19:07 +00:00
2006-11-17-IllegalMove.ll During the CodeGenPrepare we often lower intrinsics (such as objsize) 2012-08-14 05:19:07 +00:00
2006-11-27-SelectLegalize.ll
2006-12-16-InlineAsmCrash.ll
2006-12-19-IntelSyntax.ll
2007-01-08-InstrSched.ll
2007-01-08-X86-64-Pointer.ll
2007-01-13-StackPtrIndex.ll
2007-01-29-InlineAsm-ir.ll
2007-02-04-OrAddrMode.ll
2007-02-16-BranchFold.ll
2007-02-19-LiveIntervalAssert.ll
2007-02-23-DAGCombine-Miscompile.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
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-Personality.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-X86-64-CtorAsmBugs.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-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-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-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-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-30-LoadFolding-Bug.ll
2007-12-16-BURRSchedCrash.ll
2007-12-18-LoadCSEBug.ll
2008-01-08-IllegalCMP.ll
2008-01-08-SchedulerCrash.ll During the CodeGenPrepare we often lower intrinsics (such as objsize) 2012-08-14 05:19:07 +00:00
2008-01-09-LongDoubleSin.ll
2008-01-16-FPStackifierAssert.ll
2008-01-16-InvalidDAGCombineXform.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
2008-02-20-InlineAsmClobber.ll
2008-02-22-LocalRegAllocBug.ll
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-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
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
2008-05-21-CoalescerBug.ll
2008-05-22-FoldUnalignedLoad.ll
2008-05-28-CoalescerBug.ll
2008-05-28-LocalRegAllocBug.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-16-CoalescerCrash.ll
2008-07-19-movups-spills.ll
2008-07-22-CombinerCrash.ll
2008-07-23-VSetCC.ll
2008-08-06-CmpStride.ll
2008-08-06-RewriterBug.ll
2008-08-17-UComiCodeGenBug.ll
2008-08-19-SubAndFetch.ll
2008-08-23-64Bit-maskmovq.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-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-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-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-12-PrivateEHSymbol.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-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-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-08-CoalescerBug.ll
2009-02-09-ivs-different-sizes.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-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-12-CPAlignBug.ll
2009-03-13-PHIElimBug.ll
2009-03-16-PHIElimInLPad.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-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-21-NoReloadImpDef.ll
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-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-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-10-LoadFoldingBug.ll
2009-09-10-SpillComments.ll
2009-09-16-CoalescerBug.ll
2009-09-19-earlyclobber.ll
2009-09-21-NoSpillLoopCount.ll
2009-09-22-CoalescerBug.ll
2009-09-23-LiveVariablesBug.ll
2009-10-14-LiveVariablesBug.ll
2009-10-16-Scope.ll
2009-10-19-atomic-cmp-eflags.ll
2009-10-19-EmergencySpill.ll
2009-10-25-RewriterBug.ll
2009-11-04-SubregCoalescingBug.ll
2009-11-13-VirtRegRewriterBug.ll
2009-11-16-MachineLICM.ll
2009-11-16-UnfoldMemOpBug.ll
2009-11-17-UpdateTerminator.ll
2009-11-18-TwoAddrKill.ll
2009-11-25-ImpDefBug.ll
2009-12-01-EarlyClobberBug.ll
2009-12-11-TLSNoRedZone.ll
2010-01-05-ZExt-Shl.ll
2010-01-07-ISelBug.ll
2010-01-07-UAMemFeature.ll
2010-01-08-Atomic64Bug.ll Specify CPu to prevent failure on ATOM due to different code scheduling 2012-09-20 03:34:04 +00:00
2010-01-11-ExtraPHIArg.ll
2010-01-13-OptExtBug.ll
2010-01-15-SelectionDAGCycle.ll
2010-01-18-DbgValue.ll
2010-01-19-OptExtBug.ll
2010-02-01-DbgValueCrash.ll
2010-02-01-TaillCallCrash.ll
2010-02-03-DualUndef.ll
2010-02-04-SchedulerBug.ll
2010-02-11-NonTemporal.ll
2010-02-12-CoalescerBug-Impdef.ll
2010-02-15-ImplicitDefBug.ll
2010-02-19-TailCallRetAddrBug.ll
2010-02-23-DAGCombineBug.ll
2010-02-23-DIV8rDefinesAX.ll
2010-02-23-RematImplicitSubreg.ll
2010-02-23-SingleDefPhiJoin.ll
2010-03-04-Mul8Bug.ll
2010-03-05-ConstantFoldCFG.ll
2010-03-05-EFLAGS-Redef.ll
2010-03-17-ISelBug.ll
2010-04-06-SSEDomainFixCrash.ll
2010-04-07-DbgValueOtherTargets.ll
2010-04-08-CoalescerBug.ll
2010-04-13-AnalyzeBranchCrash.ll
2010-04-21-CoalescerBug.ll
2010-04-23-mmx-movdq2q.ll
2010-04-29-CoalescerCrash.ll
2010-04-30-LocalAlloc-LandingPad.ll
2010-05-03-CoalescerSubRegClobber.ll
2010-05-05-LocalAllocEarlyClobber.ll
2010-05-06-LocalInlineAsmClobber.ll
2010-05-07-ldconvert.ll
2010-05-10-DAGCombinerBug.ll
2010-05-12-FastAllocKills.ll
2010-05-16-nosseconversion.ll
2010-05-25-DotDebugLoc.ll
2010-05-26-DotDebugLoc.ll
2010-05-26-FP_TO_INT-crash.ll
2010-05-28-Crash.ll
2010-06-01-DeadArg-DbgInfo.ll
2010-06-09-FastAllocRegisters.ll
2010-06-14-fast-isel-fs-load.ll
2010-06-15-FastAllocEarlyCLobber.ll
2010-06-24-g-constraint-crash.ll
2010-06-25-asm-RA-crash.ll
2010-06-25-CoalescerSubRegDefDead.ll
2010-06-28-FastAllocTiedOperand.ll
2010-06-28-matched-g-constraint.ll
2010-07-02-asm-alignstack.ll
2010-07-02-UnfoldBug.ll
2010-07-06-asm-RIP.ll
2010-07-06-DbgCrash.ll
2010-07-11-FPStackLoneUse.ll
2010-07-13-indirectXconstraint.ll
2010-07-15-Crash.ll
2010-07-29-SetccSimplify.ll
2010-08-04-MaskedSignedCompare.ll
2010-08-04-MingWCrash.ll
2010-08-04-StackVariable.ll
2010-08-10-DbgConstant.ll
2010-09-01-RemoveCopyByCommutingDef.ll
2010-09-16-asmcrash.ll
2010-09-16-EmptyFilename.ll
2010-09-17-SideEffectsInChain.ll
2010-09-30-CMOV-JumpTable-PHI.ll
2010-10-08-cmpxchg8b.ll
2010-11-02-DbgParameter.ll
2010-11-09-MOVLPS.ll
2010-11-18-SelectOfExtload.ll
2010-12-02-MC-Set.ll
2011-01-07-LegalizeTypesCrash.ll
2011-01-10-DagCombineHang.ll
2011-01-24-DbgValue-Before-Use.ll
2011-02-04-FastRegallocNoFP.ll
2011-02-12-shuffle.ll
2011-02-21-VirtRegRewriter-KillSubReg.ll
2011-02-23-UnfoldBug.ll
2011-02-27-Fpextend.ll
2011-03-02-DAGCombiner.ll
2011-03-08-Sched-crash.ll
2011-03-09-Physreg-Coalescing.ll
2011-03-30-CreateFixedObjCrash.ll
2011-04-13-SchedCmpJmp.ll
2011-04-19-sclr-bb.ll
2011-05-09-loaduse.ll
2011-05-26-UnreachableBlockElim.ll
2011-05-27-CrossClassCoalescing.ll
2011-06-01-fildll.ll
2011-06-03-x87chain.ll
2011-06-06-fgetsign80bit.ll
2011-06-12-FastAllocSpill.ll
2011-06-14-mmx-inlineasm.ll
2011-06-14-PreschedRegalias.ll
2011-06-19-QuicksortCoalescerBug.ll
2011-07-13-BadFrameIndexDisplacement.ll
2011-08-23-PerformSubCombine128.ll
2011-08-23-Trampoline.ll
2011-08-29-BlockConstant.ll
2011-08-29-InitOrder.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
2011-09-14-valcoalesce.ll
2011-09-18-sse2cmp.ll
2011-09-21-setcc-bug.ll
2011-10-11-SpillDead.ll
2011-10-11-srl.ll
2011-10-12-MachineCSE.ll
2011-10-18-FastISel-VectorParams.ll
2011-10-19-LegelizeLoad.ll
2011-10-19-widen_vselect.ll
2011-10-21-widen-cmp.ll
2011-10-27-tstore.ll
2011-10-30-padd.ll
2011-11-07-LegalizeBuildVector.ll
2011-11-22-AVX2-Domains.ll
2011-11-30-or.ll
2011-12-8-bitcastintprom.ll
2011-12-06-AVXVectorExtractCombine.ll
2011-12-06-BitcastVectorGlobal.ll
2011-12-08-AVXISelBugs.ll
2011-12-15-vec_shift.ll
2011-12-26-extractelement-duplicate-load.ll
2011-12-28-vselecti8.ll
2011-20-21-zext-ui2fp.ll
2012-1-10-buildvector.ll
2012-01-10-UndefExceptionEdge.ll
2012-01-11-split-cv.ll
2012-01-12-extract-sv.ll
2012-01-16-mfence-nosse-flags.ll
2012-01-18-vbitcast.ll
2012-02-12-dagco.ll
2012-02-14-scalar.ll
2012-02-20-MachineCPBug.ll
2012-02-23-mmx-inlineasm.ll
2012-02-29-CoalescerBug.ll
2012-03-15-build_vector_wl.ll
2012-03-20-LargeConstantExpr.ll
2012-03-26-PostRALICMBug.ll
2012-04-09-TwoAddrPassBug.ll
2012-04-26-sdglue.ll Merge AVX_SET0PSY/AVX_SET0PDY/AVX2_SET0 into a single post-RA pseudo. 2012-08-28 07:05:28 +00:00
2012-05-17-TwoAddressBug.ll
2012-05-19-avx2-store.ll
2012-05-19-CoalescerCrash.ll
2012-07-10-extload64.ll
2012-07-10-shufnorm.ll
2012-07-15-broadcastfold.ll
2012-07-15-tconst_shl.ll
2012-07-15-vshl.ll
2012-07-16-fp2ui-i1.ll
2012-07-16-LeaUndef.ll
2012-07-17-vtrunc.ll
2012-07-23-select_cc.ll
2012-08-07-CmpISelBug.ll
2012-08-16-setcc.ll Reapply r162160 with a fix: Optimize Arith->Trunc->SETCC sequence to allow better compare/branch code. 2012-08-18 17:53:03 +00:00
2012-08-17-legalizer-crash.ll TargetLowering: Use the large shift amount during legalize types. The legalizer may call us with an overly large type. 2012-08-17 15:54:21 +00:00
2012-08-28-UnsafeMathCrash.ll The commutative flag is already correctly set within the multiclass. If we set 2012-08-28 07:36:46 +00:00
2012-09-13-dagco-fneg.ll Fix a dagcombine optimization. The optimization attempts to optimize a bitcast of fneg to integers 2012-09-13 14:54:28 +00:00
2012-09-28-CGPBug.ll Do not delete BBs if their addresses are taken. rdar://12396696 2012-09-28 23:58:57 +00:00
2012-10-02-DAGCycle.ll Follow up to r165072. Try a different approach: only move the load when it's going to be folded into the call. rdar://12437604 2012-10-05 01:48:22 +00:00
2012-10-03-DAGCycle.ll Fix a cycle in the DAG. In this code we replace multiple loads with a single load and 2012-10-03 19:30:31 +00:00
9601.ll
20090313-signext.ll
abi-isel.ll
add-of-carry.ll
add.ll
adde-carry.ll
addr-label-difference.ll
aliases.ll
aligned-comm.ll
alignment-2.ll X86: when we are auto-detecting the subtarget features, make sure we turn on 2012-08-10 23:43:32 +00:00
alignment.ll
all-ones-vector.ll
alldiv-divdi3.ll
alloca-align-rounding-32.ll
alloca-align-rounding.ll
allrem-moddi3.ll
and-or-fold.ll
and-su.ll
andimm8.ll
anyext.ll
apm.ll
arg-cast.ll
asm-block-labels.ll
asm-global-imm.ll
asm-indirect-mem.ll
asm-label2.ll
asm-label.ll
asm-modifier-P.ll
asm-modifier.ll
asm-reg-type-mismatch.ll
atom-bypass-slow-division.ll Generic Bypass Slow Div 2012-09-04 18:22:17 +00:00
atom-lea-sp.ll
atom-sched.ll
atomic8.ll Add missing i8 max/min/umax/umin support 2012-09-21 03:18:52 +00:00
atomic16.ll Revise test to avoid using of 'grep' 2012-09-23 02:41:47 +00:00
atomic32.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
atomic64.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
atomic6432.ll Add missing i64 max/min/umax/umin on 32-bit target 2012-09-25 18:08:13 +00:00
atomic_add.ll Unify the logic in SelectAtomicLoadAdd and SelectAtomicLoadArith 2012-09-19 19:36:58 +00:00
atomic_op.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
atomic-load-store-wide.ll
atomic-load-store.ll
atomic-minmax-i6432.ll When expanding atomic load arith instructions, do not lose target flags. rdar://12453106 2012-10-09 23:48:33 +00:00
atomic-or.ll
atomic-pointer.ll Make atomic load and store of pointers work. Tighten verification of atomic operations 2012-08-17 23:24:29 +00:00
Atomics-64.ll
attribute-sections.ll
avoid-lea-scale2.ll
avoid-loop-align-2.ll
avoid-loop-align.ll
avx2-arith.ll
avx2-cmp.ll
avx2-conversions.ll
avx2-intrinsics-x86.ll
avx2-logic.ll
avx2-nontemporal.ll
avx2-palignr.ll
avx2-phaddsub.ll
avx2-shift.ll
avx2-shuffle.ll Fix broken check lines. 2012-09-20 19:54:13 +00:00
avx2-unpack.ll
avx2-vbroadcast.ll
avx2-vperm2i128.ll
avx2-vperm.ll
avx-arith.ll
avx-basic.ll Teach DAG combiner to constant fold fneg of a BUILD_VECTOR of constants. 2012-09-09 22:58:45 +00:00
avx-bitcast.ll
avx-blend.ll
avx-cast.ll
avx-cmp.ll
avx-cvt.ll
avx-fp2int.ll
avx-intrinsics-x86_64.ll
avx-intrinsics-x86.ll
avx-load-store.ll
avx-logic.ll
avx-minmax.ll
avx-movdup.ll
avx-select.ll
avx-sext.ll
avx-shift.ll
avx-shuffle-x86_32.ll
avx-shuffle.ll This patch optimizes shuffle instruction - generates 2 instructions instead of 4. 2012-09-04 12:49:02 +00:00
avx-splat.ll
avx-trunc.ll
avx-unpack.ll
avx-varargs-x86_64.ll
avx-vbroadcast.ll
avx-vextractf128.ll Add patterns for converting stores of subvector_extracts of lower 128-bits of a 256-bit vector to VMOVAPSmr/VMOVUPSmr. 2012-09-06 05:15:01 +00:00
avx-vinsertf128.ll
avx-vmovddup.ll
avx-vperm2f128.ll
avx-vpermil.ll
avx-vshufp.ll
avx-vzeroupper.ll
avx-win64-args.ll
avx-win64.ll
avx-zext.ll
barrier-sse.ll
barrier.ll
basic-promote-integers.ll
bc-extract.ll
bigstructret2.ll
bigstructret.ll
bit-test-shift.ll
bitcast2.ll
bitcast-i256.ll Enhance type legalization on bitcast from vector to integer 2012-09-13 19:58:21 +00:00
bitcast-int-to-vector.ll
bitcast.ll
blend-msb.ll
block-placement.ll
bmi.ll
bool-simplify.ll Add boolean simplification support from CMOV 2012-09-10 16:36:16 +00:00
bool-zext.ll
br-fold.ll Update edge weights correctly in replaceSuccessor(). 2012-08-10 03:23:27 +00:00
brcond.ll
break-anti-dependencies.ll
break-sse-dep.ll
bss_pagealigned.ll
bswap-inline-asm.ll
bswap.ll
bt.ll
btq.ll
byval2.ll
byval3.ll
byval4.ll
byval5.ll
byval6.ll
byval7.ll
byval-align.ll
byval.ll
call-imm.ll
call-push.ll
cfstring.ll
change-compare-stride-1.ll
change-compare-stride-trickiness-0.ll
change-compare-stride-trickiness-1.ll
change-compare-stride-trickiness-2.ll
clz.ll
cmov-fp.ll X86: fcmov doesn't handle all possible EFLAGS, fall back to a branch for the others. 2012-10-07 15:34:27 +00:00
cmov-into-branch.ll
cmov.ll
cmp.ll
cmpxchg16b.ll
coalesce-esp.ll
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll
coalescer-commute4.ll
coalescer-commute5.ll
coalescer-cross.ll
coalescer-dce2.ll
coalescer-dce.ll
coalescer-identity.ll
coalescer-remat.ll
code_placement_eh.ll
code_placement.ll
codegen-prepare-cast.ll
codegen-prepare-extload.ll
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
compiler_used.ll
complex-asm.ll
complex-fca.ll
conditional-indecrement.ll
constant-pool-remat-0.ll
constant-pool-sharing.ll
constpool.ll
constructor.ll
convert-2-addr-3-addr-inc64.ll
copysign-zero.ll
crash-nosse.ll
crash-O0.ll
crash.ll Fix coalescing with IMPLICIT_DEF values. 2012-10-12 18:03:04 +00:00
critical-edge-split-2.ll
cstring.ll
ctpop-combine.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
dbg-at-specficiation.ll
dbg-byval-parameter.ll
dbg-const-int.ll
dbg-const.ll
dbg-declare-arg.ll
dbg-declare.ll
dbg-file-name.ll
dbg-i128-const.ll
dbg-large-unsigned-const.ll
dbg-merge-loc-entry.ll
dbg-prolog-end.ll
dbg-subrange.ll
dbg-value-dag-combine.ll
dbg-value-inlined-parameter.ll
dbg-value-isel.ll
dbg-value-location.ll
dbg-value-range.ll
discontiguous-loops.ll
div8.ll
divide-by-constant.ll
divrem.ll
dll-linkage.ll
dllexport.ll
dollar-name.ll
dwarf-comp-dir.ll
dyn-stackalloc.ll
dynamic-allocas-VLAs.ll
early-ifcvt-crash.ll Pass an explicit operand number to addLiveIns. 2012-10-11 16:46:07 +00:00
early-ifcvt.ll Don't crash on extra evil irreducible control flow. 2012-10-08 22:06:44 +00:00
eh_frame.ll
empty-functions.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
f16c-intrinsics.ll
fabs.ll
fast-cc-callee-pops.ll
fast-cc-merge-stack-adj.ll
fast-cc-pass-in-regs.ll
fast-isel-agg-constant.ll
fast-isel-atomic.ll
fast-isel-avoid-unnecessary-pic-base.ll
fast-isel-bail.ll
fast-isel-bc.ll
fast-isel-call.ll
fast-isel-cmp-branch.ll
fast-isel-constpool.ll
fast-isel-extract.ll
fast-isel-fneg.ll
fast-isel-gep.ll
fast-isel-gv.ll
fast-isel-i1.ll
fast-isel-mem.ll
fast-isel-ret-ext.ll
fast-isel-tailcall.ll
fast-isel-tls.ll
fast-isel-x86-64.ll Make sure to put our sret argument into %rax on x86-64. Fixes PR13563! 2012-10-02 22:45:06 +00:00
fast-isel-x86.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
fast-isel.ll
fastcall-correct-mangling.ll
fastcc3struct.ll
fastcc-2.ll
fastcc-byval.ll
fastcc-sret.ll
fastcc.ll
fdiv.ll
field-extract-use-trunc.ll
fildll.ll
fltused_function_pointer.ll
fltused.ll
fma3-intrinsics.ll FMA3 tests on bdver2 target for changes made in rev 162012. Also made 2012-08-27 06:59:01 +00:00
fma4-intrinsics-x86_64.ll FMA3 tests on bdver2 target for changes made in rev 162012. Also made 2012-08-27 06:59:01 +00:00
fma_patterns.ll Mark FMA4 instructions as commutable and add them to the folding tables. 2012-08-31 23:10:34 +00:00
fma.ll llvm/test/CodeGen/X86/fma.ll: Add -march=x86, or two tests would fail on non-x86 hosts. 2012-08-27 11:50:26 +00:00
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 Reapply r162160 with a fix: Optimize Arith->Trunc->SETCC sequence to allow better compare/branch code. 2012-08-18 17:53:03 +00:00
fold-mul-lohi.ll
fold-pcmpeqd-0.ll
fold-pcmpeqd-1.ll
fold-pcmpeqd-2.ll
fold-sext-trunc.ll
fold-xmm-zero.ll
fold-zext-trunc.ll
force-align-stack-alloca.ll
force-align-stack.ll
fp2sint.ll
fp_constant_op.ll
fp_load_cast_fold.ll
fp_load_fold.ll
fp-elim.ll
fp-fast.ll llvm/test/CodeGen/X86/fp-fast.ll: Suppress FMA4 on AMD Bulldozer host, corresponding to r162999. 2012-09-01 00:26:28 +00:00
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-load-trunc.ll Specify CPU model to avoid breaking ATOM builds 2012-10-10 18:04:52 +00:00
fp-stack-2results.ll
fp-stack-compare-cmov.ll
fp-stack-compare.ll
fp-stack-direct-ret.ll
fp-stack-O0-crash.ll
fp-stack-O0.ll
fp-stack-ret-conv.ll
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fp-stack-set-st1.ll
fp-stack.ll
fp-trunc.ll Specify CPU model to avoid breaking ATOM builds 2012-10-10 18:04:52 +00:00
fsgsbase.ll
fsxor-alignment.ll
full-lsr.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
ga-offset.ll
gather-addresses.ll
gcc_except_table.ll
ghc-cc64.ll
ghc-cc.ll
global-sections-tls.ll
global-sections.ll
gs-fold.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
haddsub.ll
handle-move.ll Fix buildbots: -misched=shuffle is only available in +Asserts builds. 2012-10-12 23:01:33 +00:00
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis-4.ll
hidden-vis-pic.ll
hidden-vis.ll
hoist-common.ll
hoist-invariant-load.ll
i2k.ll
i64-mem-copy.ll
i128-and-beyond.ll
i128-immediate.ll
i128-mul.ll
i128-ret.ll
i128-sdiv.ll
i256-add.ll
iabs.ll
illegal-insert.ll
illegal-vector-args-return.ll
imul-lea-2.ll
imul-lea.ll
inline-asm-2addr.ll
inline-asm-error.ll
inline-asm-flag-clobber.ll
inline-asm-fpstack.ll
inline-asm-h.ll
inline-asm-modifier-n.ll
inline-asm-mrv.ll
inline-asm-out-regs.ll
inline-asm-pic.ll
inline-asm-ptr-cast.ll
inline-asm-q-regs.ll
inline-asm-R-constraint.ll
inline-asm-tied.ll Don't enforce ordered inline asm operands. 2012-08-31 15:34:59 +00:00
inline-asm-x-scalar.ll
inline-asm.ll
inreg.ll
ins_subreg_coalesce-1.ll
ins_subreg_coalesce-2.ll
ins_subreg_coalesce-3.ll
insert-positions.ll
insertelement-copytoregs.ll
insertelement-legalize.ll
int-intrinsic.ll
invalid-shift-immediate.ll
isel-sink2.ll
isel-sink3.ll
isel-sink.ll
isint.ll
isnan2.ll
isnan.ll
ispositive.ll
jump_sign.ll Testcase for r164835 2012-09-28 20:26:33 +00:00
label-redefinition.ll
large-gep-scale.ll
large-global.ll
ldzero.ll
lea-2.ll
lea-3.ll
lea-4.ll
lea-recursion.ll
lea.ll
leaf-fp-elim.ll
legalize-fmp-oeq-vector-select.ll
legalize-libcalls.ll
legalize-shift-64.ll
legalize-sub-zero-2.ll
legalize-sub-zero.ll
legalizedag_vec.ll
lfence.ll
licm-dominance.ll
licm-nested.ll
licm-symbol.ll
limited-prec.ll
lit.local.cfg
live-out-reg-info.ll
liveness-local-regalloc.ll
lock-inst-encoding.ll
log2_not_readnone.ll
long-setcc.ll
longlong-deadload.ll
loop-blocks.ll
loop-hoist.ll
loop-strength-reduce2.ll
loop-strength-reduce4.ll
loop-strength-reduce5.ll
loop-strength-reduce6.ll
loop-strength-reduce7.ll
loop-strength-reduce8.ll
loop-strength-reduce-2.ll Revert r164910 because it causes failures to several phase2 builds. 2012-09-30 07:17:56 +00:00
loop-strength-reduce-3.ll Revert r164910 because it causes failures to several phase2 builds. 2012-09-30 07:17:56 +00:00
loop-strength-reduce.ll Revert r164910 because it causes failures to several phase2 builds. 2012-09-30 07:17:56 +00:00
lsr-delayed-fold.ll
lsr-i386.ll
lsr-interesting-step.ll
lsr-loop-exit-cond.ll PR13578: Teach MachineCSE that instructions that use a constant register can be CSE'd safely. 2012-08-11 19:05:13 +00:00
lsr-negative-stride.ll
lsr-nonaffine.ll
lsr-normalization.ll
lsr-overflow.ll
lsr-quadratic-expand.ll
lsr-redundant-addressing.ll
lsr-reuse-trunc.ll
lsr-reuse.ll
lsr-sort.ll
lsr-static-addr.ll
lsr-wrap.ll
lzcnt.ll
machine-cp.ll
machine-cse.ll PR13578: Teach MachineCSE that instructions that use a constant register can be CSE'd safely. 2012-08-11 19:05:13 +00:00
MachineSink-CritEdge.ll
MachineSink-DbgValue.ll
MachineSink-eflags.ll
MachineSink-PHIUse.ll
masked-iv-safe.ll
masked-iv-unsafe.ll
maskmovdqu.ll
mcinst-avx-lowering.ll
mcinst-lowering.ll
mem-promote-integers.ll
membarrier.ll
memcmp.ll
memcpy-2.ll
memcpy.ll Fix broken check lines. 2012-08-17 12:28:26 +00:00
memset64-on-x86-32.ll
memset-2.ll
memset-3.ll
memset.ll
MergeConsecutiveStores.ll When merging connsecutive stores, use vectors to store the constant zero. 2012-10-04 22:35:15 +00:00
mfence.ll
mingw-alloca.ll
misaligned-memset.ll
misched-new.ll
mmx-arg-passing2.ll
mmx-arg-passing.ll
mmx-arith.ll
mmx-bitcast-to-i64.ll
mmx-builtins.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
movbe.ll
movfs.ll
movgs.ll
movmsk.ll
movntdq-no-avx.ll
ms-inline-asm.ll [ms-inline asm] Add support in the X86AsmPrinter for printing memory references 2012-10-03 22:06:44 +00:00
mul64.ll
mul128.ll
mul-legalize.ll
mul-remat.ll
mul-shift-reassoc.ll
muloti.ll
mult-alt-generic-i686.ll
mult-alt-generic-x86_64.ll
mult-alt-x86.ll
multiple-loop-post-inc.ll
multiple-return-values-cross-block.ll
mulx32.ll llvm/test/CodeGen/X86/mulx*.ll: Fix copypasto. 2012-09-26 09:24:12 +00:00
mulx64.ll llvm/test/CodeGen/X86/mulx*.ll: Fix copypasto. 2012-09-26 09:24:12 +00:00
nancvt.ll
narrow_op-1.ll
narrow-shl-cst.ll
narrow-shl-load.ll
neg_cmp.ll
neg_fp.ll
neg-shl-add.ll
negate-add-zero.ll
negative_zero.ll
negative-sin.ll
negative-stride-fptosi-user.ll
negative-subscript.ll
no-cfi.ll
nobt.ll
non-lazy-bind.ll
nontemporal.ll
norex-subreg.ll
nosse-error1.ll
nosse-error2.ll
nosse-varargs.ll
null-streamer.ll
objc-gc-module-flags.ll
object-size.ll
odr_comdat.ll
opt-ext-uses.ll
opt-shuff-tstore.ll
optimize-max-0.ll
optimize-max-1.ll
optimize-max-2.ll
optimize-max-3.ll
or-address.ll
or-branch.ll
overlap-shift.ll
packed_struct.ll
palignr-2.ll
palignr.ll
pass-three.ll
peep-setb.ll
peep-test-0.ll
peep-test-1.ll
peep-test-2.ll
peep-test-3.ll
peep-vector-extract-concat.ll
peep-vector-extract-insert.ll
personality_size.ll
personality.ll
phaddsub.ll
phi-bit-propagation.ll
phi-immediate-factoring.ll
phielim-split.ll
phys_subreg_coalesce-2.ll
phys_subreg_coalesce-3.ll Add SARX/SHRX/SHLX code generation support 2012-09-26 08:26:25 +00:00
phys_subreg_coalesce.ll
phys-reg-local-regalloc.ll
pic_jumptable.ll Mark jump tables in code sections with DataRegion directives. 2012-09-24 23:06:27 +00:00
pic-load-remat.ll
pic.ll
pmovext.ll Fix the testcase to work on all platforms. 2012-09-16 07:58:47 +00:00
pmul.ll
pmulld.ll
pointer-vector.ll
popcnt.ll
postalloc-coalescing.ll
postra-licm.ll
powi.ll
pr1462.ll
pr1489.ll
pr1505.ll
pr1505b.ll
pr2177.ll
pr2182.ll
pr2326.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
pr3522.ll
pr5145.ll llvm/test/CodeGen/X86/pr5145.ll: Tweak expressions to match for darwin target. 2012-09-21 05:19:19 +00:00
pr7882.ll
pr9127.ll
pr9743.ll
pr10068.ll
pr10420.ll
pr11202.ll
pr11334.ll fix a case where all operands of BUILD_VECTOR are undefined 2012-08-20 17:59:18 +00:00
pr11415.ll
pr11468.ll
pr11985.ll Fix PR11985 2012-09-12 21:43:09 +00:00
pr12312.ll Add wider vector/integer support for PR12312 2012-09-13 20:24:54 +00:00
pr12359.ll Fix PR12359 2012-08-31 20:12:31 +00:00
pr12360.ll
pr12889.ll
pr13209.ll
pr13220.ll
pr13458.ll Re-work X86 code generation of atomic ops with spin-loop 2012-09-20 03:06:15 +00:00
pr13577.ll fix PR13577, an issue introduced by r161687 2012-08-11 23:47:06 +00:00
pr13859.ll Fix PR13859 2012-09-17 18:05:20 +00:00
pr13899.ll Fix PR13899 2012-10-01 16:44:04 +00:00
prefetch.ll
private-2.ll
private.ll
promote-assert-zext.ll
promote-i16.ll
promote-trunc.ll
promote.ll
ptr-rotate.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
ptrtoint-constexpr.ll
rd-mod-wr-eflags.ll
rdrand.ll
rdtsc.ll
red-zone2.ll test/CodeGen/X86/red-zone2.ll: Add -mtriple=x86_64-linux, and FileCheck-ize. 2012-10-01 22:48:07 +00:00
red-zone.ll
reghinting.ll
regpressure.ll
rem-2.ll
rem.ll
remat-constant.ll
remat-fold-load.ll
remat-mov-0.ll
remat-scalar-zero.ll
ret-addr.ll
ret-i64-0.ll
ret-mmx.ll
reverse_branches.ll
rip-rel-address.ll
rodata-relocs.ll
rot16.ll
rot32.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
rot64.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
rotate2.ll Add RORX code generation support 2012-09-26 08:24:51 +00:00
rotate.ll
rounding-ops.ll
scalar_sse_minmax.ll
scalar_widen_div.ll
scalar-extract.ll
scalar-min-max-fill-operand.ll
scalarize-bitcast.ll
scev-interchange.ll
sdiv-exact.ll
segmented-stacks-dynamic.ll
segmented-stacks.ll
select.ll X86: Promote i8 cmov when both operands are coming from truncates of the same width. 2012-10-13 10:39:49 +00:00
selectiondag-cse.ll
setcc.ll
setoeq.ll
setuge.ll
sext-i1.ll
sext-load.ll
sext-ret-val.ll
sext-setcc-self.ll
sext-subreg.ll
sext-trunc.ll
sfence.ll
shift-and.ll
shift-bmi2.ll Add SARX/SHRX/SHLX code generation support 2012-09-26 08:26:25 +00:00
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-pair.ll
shift-parts.ll
shl_elim.ll
shl_undef.ll
shl-anyext.ll
shl-i64.ll
shrink-compare.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
sibcall-2.ll
sibcall-3.ll
sibcall-4.ll
sibcall-5.ll
sibcall-byval.ll
sibcall.ll
sincos.ll X86: Emitting x87 fsin/fcos for sinf/cosf is not safe without unsafe fp math. 2012-09-15 12:44:27 +00:00
sink-hoist.ll
sink-out-of-loop.ll
small-byval-memcpy.ll
smul-with-overflow.ll Fix PR13991: legalizing an overflowing multiplication operation is harder than 2012-10-02 15:03:49 +00:00
soft-fp.ll
splat-scalar-load.ll
split-eh-lpad-edges.ll
split-vector-bitcast.ll
split-vector-rem.ll
sse1.ll
sse2-blend.ll
sse2.ll
sse3.ll
sse4a.ll
sse41-blend.ll
sse41.ll
sse42_64.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-commute.ll
sse-domains.ll
sse-fcopysign.ll
sse-load-ret.ll
sse-minmax.ll When unsafe math is used, we can use commutative FMAX and FMIN. In some cases 2012-08-19 13:06:16 +00:00
sse-varargs.ll
stack-align2.ll
stack-align.ll
stack-protector.ll Rename test since it's not linux-specific. 2012-08-13 21:32:42 +00:00
StackColoring-dbg.ll Stack Coloring: Dont crash on dbg values which use stack frames. 2012-09-11 12:34:27 +00:00
StackColoring.ll Stack Coloring: We have code that checks that all of the uses of allocas 2012-09-13 12:38:37 +00:00
stdarg.ll
stdcall-notailcall.ll
stdcall.ll
store_op_load_fold2.ll
store_op_load_fold.ll
store-empty-member.ll
store-fp-constant.ll
store-global-address.ll
store-narrow.ll
storetrunc-fp.ll
stride-nine-with-base-reg.ll
stride-reuse.ll
sub-with-overflow.ll
sub.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-6.ll
switch-bt.ll
switch-crit-edge-constant.ll
switch-or.ll
switch-order-weight.ll
switch-zextload.ll
SwitchLowering.ll
swizzle.ll
SwizzleShuff.ll
tail-call-got.ll
tail-dup-addr.ll
tail-opts.ll
tail-threshold.ll
tailcall-64.ll Fix an illegal tailcall opt where the callee returns a double via xmm while caller returns x86_fp80 via st0. rdar://12229511 2012-09-25 05:32:34 +00:00
tailcall-cgp-dup.ll
tailcall-disable.ll
tailcall-fastisel.ll
tailcall-largecode.ll
tailcall-returndup-void.ll
tailcall-ri64.ll
tailcall-stackalign.ll
tailcall-structret.ll
tailcall.ll
tailcallbyval64.ll
tailcallbyval.ll
tailcallfp2.ll
tailcallfp.ll
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll
targetLoweringGeneric.ll Add SARX/SHRX/SHLX code generation support 2012-09-26 08:26:25 +00:00
test-nofold.ll
test-shrink-bug.ll
test-shrink.ll
testl-commute.ll
thiscall-struct-return.ll
tls-local-dynamic.ll
tls-models.ll
tls-pic.ll Allow overlaps between virtreg and physreg live ranges. 2012-09-06 18:15:23 +00:00
tls-pie.ll
tls.ll
tlv-1.ll
tlv-2.ll
trap.ll
trunc-ext-ld-st.ll
trunc-to-bool.ll
twoaddr-coalesce-2.ll
twoaddr-coalesce.ll
twoaddr-lea.ll
twoaddr-pass-sink.ll
twoaddr-sink-terminator.ll
uint64-to-float.ll
uint_to_fp-2.ll
uint_to_fp.ll
umul-with-carry.ll
umul-with-overflow.ll
unaligned-load.ll
undef-label.ll
unknown-location.ll
unreachable-loop-sinking.ll
unwindraise.ll
urem-i8-constant.ll
use-add-flags.ll
utf8.ll
utf16-cfstrings.ll
v2f32.ll
v4f32-immediate.ll
v-binop-widen2.ll
v-binop-widen.ll
vararg_tailcall.ll
variable-sized-darwin-bzero.ll
variadic-node-pic.ll
vec_add.ll
vec_align.ll
vec_anyext.ll
vec_call.ll
vec_cast2.ll
vec_cast.ll
vec_clear.ll
vec_compare-2.ll
vec_compare-sse4.ll
vec_compare.ll
vec_ctbits.ll
vec_ext_inreg.ll
vec_extract-sse4.ll
vec_extract.ll
vec_fabs.ll Add support for lowering FABS of vector types. 2012-09-08 07:31:51 +00:00
vec_floor.ll Add instruction selection for ffloor of vectors when SSE4.1 or AVX is enabled. 2012-09-08 17:42:27 +00:00
vec_fneg.ll
vec_fpext.ll Enhance PR11334 fix to support extload from v2f32/v4f32 2012-09-10 18:33:51 +00:00
vec_i64.ll
vec_ins_extract-1.ll
vec_ins_extract.ll
vec_insert-2.ll
vec_insert-3.ll
vec_insert-4.ll
vec_insert-5.ll
vec_insert-6.ll
vec_insert-7.ll
vec_insert-8.ll
vec_insert-9.ll
vec_insert.ll
vec_loadsingles.ll
vec_logical.ll
vec_return.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_sext.ll
vec_shift2.ll
vec_shift3.ll
vec_shift4.ll
vec_shift.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
vec_shuffle-23.ll
vec_shuffle-24.ll
vec_shuffle-25.ll
vec_shuffle-26.ll Fix Atom bots for r163036. 2012-09-01 00:17:06 +00:00
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-37.ll
vec_shuffle-38.ll
vec_shuffle-39.ll
vec_shuffle.ll
vec_splat-2.ll
vec_splat-3.ll
vec_splat-4.ll
vec_splat.ll
vec_ss_load_fold.ll Fix failure on Atom bot due to r161769 2012-08-13 19:34:29 +00:00
vec_udiv_to_shift.ll
vec_uint_to_fp.ll
vec_zero_cse.ll
vec_zero-2.ll
vec_zero.ll
vec_zext.ll
vec-sign.ll
vec-trunc-store.ll
vector-gep.ll
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx2.ll
vector-variable-idx.ll
vector.ll
vfcmp.ll
visibility2.ll
visibility.ll
volatile.ll
vortex-bug.ll
vshift_scalar.ll
vshift_split2.ll
vshift_split.ll
vshift-1.ll
vshift-2.ll
vshift-3.ll
vshift-4.ll
vshift-5.ll
vsplit-and.ll
weak.ll
wide-integer-fold.ll
widen_arith-1.ll
widen_arith-2.ll
widen_arith-3.ll
widen_arith-4.ll
widen_arith-5.ll
widen_arith-6.ll
widen_cast-1.ll
widen_cast-2.ll
widen_cast-3.ll
widen_cast-4.ll
widen_cast-5.ll
widen_cast-6.ll
widen_conv-1.ll
widen_conv-2.ll
widen_conv-3.ll
widen_conv-4.ll
widen_extract-1.ll
widen_load-0.ll
widen_load-1.ll Introduce 'UseSSEx' to force SSE legacy encoding 2012-08-30 16:54:46 +00:00
widen_load-2.ll
widen_shuffle-1.ll
win32_sret.ll
win64_alloca_dynalloca.ll
win64_params.ll
win64_vararg.ll
win_chkstk.ll
win_ftol2.ll
x86_64-mul-by-const.ll
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-extend-shift.ll
x86-64-frameaddr.ll
x86-64-gv-offset.ll
x86-64-jumps.ll
x86-64-mem.ll
x86-64-pic-1.ll
x86-64-pic-2.ll
x86-64-pic-3.ll
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
x86-64-pic-11.ll
x86-64-ret0.ll
x86-64-shortint.ll
x86-64-sret-return.ll
x86-64-tls-1.ll
x86-64-varargs.ll
x86-frameaddr2.ll
x86-frameaddr.ll
x86-shifts.ll
x86-store-gv-addr.ll
xmm-r64.ll
xmulo.ll Fix both the test for zero and what we do if we have a zero for 2012-09-13 23:24:02 +00:00
xop-intrinsics-x86_64.ll
xor-icmp.ll
xor.ll
zero-remat.ll
zext-extract_subreg.ll
zext-fold.ll
zext-inreg-0.ll
zext-inreg-1.ll
zext-sext.ll
zext-shl.ll
zext-trunc.ll