1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-01 08:23:21 +01:00
llvm-mirror/test/CodeGen/X86
Benjamin Kramer 0463564612 CodeGenPrepare: Add a transform to turn selects into branches in some cases.
This came up when a change in block placement formed a cmov and slowed down a
hot loop by 50%:

	ucomisd	(%rdi), %xmm0
	cmovbel	%edx, %esi

cmov is a really bad choice in this context because it doesn't get branch
prediction. If we emit it as a branch, an out-of-order CPU can do a better job
(if the branch is predicted right) and avoid waiting for the slow load+compare
instruction to finish. Of course it won't help if the branch is unpredictable,
but those are really rare in practice.

This patch uses a dumb conservative heuristic, it turns all cmovs that have one
use and a direct memory operand into branches. cmovs usually save some code
size, so we disable the transform in -Os mode. In-Order architectures are
unlikely to benefit as well, those are included in the
"predictableSelectIsExpensive" flag.

It would be better to reuse branch probability info here, but BPI doesn't
support select instructions currently. It would make sense to use the same
heuristics as the if-converter pass, which does the opposite direction of this
transform.


Test suite shows a small improvement here and there on corei7-level machines,
but the actual results depend a lot on the used microarchitecture. The
transformation is currently disabled by default and available by passing the
-enable-cgp-select2branch flag to the code generator.

Thanks to Chandler for the initial test case to him and Evan Cheng for providing
me with comments and test-suite numbers that were more stable than mine :)

llvm-svn: 156234
2012-05-05 12:49:22 +00:00
..
GC Strip the pointer casts off of allocas so that the selection DAG can find them. 2012-05-01 22:50:45 +00:00
3addr-16bit.ll
3addr-or.ll
3dnow-intrinsics.ll
4char-promote.ll Fix two-address pass's aggressive instruction commuting heuristics. It's meant 2012-05-03 01:45:13 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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 Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
2006-11-12-CSRetCC.ll
2006-11-17-IllegalMove.ll
2006-11-27-SelectLegalize.ll
2006-12-16-InlineAsmCrash.ll
2006-12-19-IntelSyntax.ll
2007-01-08-InstrSched.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
2007-11-07-MulBy4.ll
2007-11-30-LoadFolding-Bug.ll
2007-12-16-BURRSchedCrash.ll
2007-12-18-LoadCSEBug.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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-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 Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
2008-05-09-PHIElimBug.ll
2008-05-09-ShuffleLoweringBug.ll
2008-05-12-tailmerge-5.ll
2008-05-21-CoalescerBug.ll RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
2008-05-22-FoldUnalignedLoad.ll
2008-05-28-CoalescerBug.ll
2008-05-28-LocalRegAllocBug.ll Remove all references to the old EH. 2012-01-31 02:09:07 +00:00
2008-06-13-NotVolatileLoadStore.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
2008-06-13-VolatileLoadStore.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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-25-AsmRegTypeMismatch.ll Make X86::FsFLD0SS / FsFLD0SD real pseudo-instructions. 2011-11-29 22:27:25 +00:00
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 Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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 Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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 Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
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 Force cmov on test so block placement doesn't shuffle the code around. 2012-04-17 13:55:23 +00:00
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 Teach getVectorTypeBreakdown about promotion of vectors in addition to widening of vectors. 2012-04-21 20:08:32 +00:00
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 Properly emit ctors / dtors with priorities into desired sections 2012-01-25 22:24:19 +00:00
2011-09-14-valcoalesce.ll Test cases that assume layout should use -disable-code-place. 2012-04-17 06:20:42 +00:00
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 1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new 2012-04-07 21:19:08 +00:00
2011-10-30-padd.ll
2011-11-07-LegalizeBuildVector.ll
2011-11-22-AVX2-Domains.ll Fix PR11422. 2011-11-23 04:03:08 +00:00
2011-11-30-or.ll Add test arch to make it pass on non x86 targets 2011-11-30 17:34:28 +00:00
2011-12-8-bitcastintprom.ll The type-legalizer often scalarizes code. One of the common patterns is extract-and-truncate. 2012-02-03 13:18:25 +00:00
2011-12-06-AVXVectorExtractCombine.ll Fix an optimization involving EXTRACT_SUBVECTOR in DAGCombine so it behaves correctly. PR11494. 2011-12-07 00:11:56 +00:00
2011-12-06-BitcastVectorGlobal.ll Support vector bitcasts in the AsmPrinter. PR11495. 2011-12-07 00:50:54 +00:00
2011-12-08-AVXISelBugs.ll This is the second fix related to VZEXT_MOVL node. 2011-12-20 13:34:28 +00:00
2011-12-15-vec_shift.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
2011-12-26-extractelement-duplicate-load.ll Make sure DAGCombiner doesn't introduce multiple loads from the same memory location. PR10747, part 2. 2011-12-26 22:49:32 +00:00
2011-12-28-vselecti8.ll Revert 147426 because it caused pr11696. 2012-01-03 22:19:42 +00:00
2011-20-21-zext-ui2fp.ll
2012-1-10-buildvector.ll Fix a bug in the lowering of BUILD_VECTOR for AVX. SCALAR_TO_VECTOR does not zero untouched elements. Use INSERT_VECTOR_ELT instead. 2012-01-11 14:07:51 +00:00
2012-01-10-UndefExceptionEdge.ll Fix undefined code and reenable test case. 2012-01-11 09:08:04 +00:00
2012-01-11-split-cv.ll On AVX, we can load v8i32 at a time. The bug happens when two uneven loads are used. 2012-01-11 20:19:17 +00:00
2012-01-12-extract-sv.ll Fix a bug in the AVX 256-bit shuffle code in cases where the splat element is on the boundary of two 128-bit vectors. 2012-01-12 15:31:55 +00:00
2012-01-16-mfence-nosse-flags.ll Make sure the non-SSE lowering for fences correctly clobbers EFLAGS. PR11768. 2012-01-16 16:42:21 +00:00
2012-01-18-vbitcast.ll Fix a bug in the type-legalization of vector integers. When we bitcast one vector type to another, we must not bitcast the result if one type is widened while the other is promoted. 2012-01-18 08:33:18 +00:00
2012-02-12-dagco.ll Fix a bug in DAGCombine for the optimization of BUILD_VECTOR. We cant generate a shuffle node from two vectors of different types. 2012-02-13 12:42:26 +00:00
2012-02-14-scalar.ll Fix PR12000. Some vector operations may use scalar operands with types 2012-02-14 13:06:32 +00:00
2012-02-20-MachineCPBug.ll Try to fix llvm-arm-linux builder with -mcpu. 2012-04-25 21:22:33 +00:00
2012-02-23-mmx-inlineasm.ll test/CodeGen/X86/2012-02-23-mmx-inlineasm.ll: Fixup to add -march=x86. 2012-02-24 13:29:50 +00:00
2012-02-29-CoalescerBug.ll Don't redundantly copy implicit operands when rematerializing. 2012-03-01 00:41:17 +00:00
2012-03-15-build_vector_wl.ll When optimizing certain BUILD_VECTOR nodes into other BUILD_VECTOR nodes, add the new node into the work list because there is a potential for further optimizations. 2012-03-15 08:49:06 +00:00
2012-03-20-LargeConstantExpr.ll It's possible to have a constant expression who's size is quite big (e.g., 2012-03-20 08:56:43 +00:00
2012-03-26-PostRALICMBug.ll Post-ra LICM should take care not to hoist an instruction that would clobber a 2012-03-27 01:50:58 +00:00
2012-04-09-TwoAddrPassBug.ll Test case for PR12495. 2012-04-09 23:58:59 +00:00
2012-04-26-sdglue.ll Reapply 155668: Fix the SD scheduler to avoid gluing the same node twice. 2012-04-28 01:03:23 +00:00
9601.ll
20090313-signext.ll
abi-isel.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
add-of-carry.ll
add.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
adde-carry.ll
addr-label-difference.ll
aliases.ll
aligned-comm.ll
alignment-2.ll
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 Fix sfence, lfence, mfence, and clflush to be able to be selected when AVX is enabled. Fix monitor and mwait to require SSE3 or AVX, previously they worked even if SSE3 was disabled. Make prefetch instructions not set the execution domain since they don't use XMM registers. 2012-01-01 19:40:22 +00:00
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
atom-lea-sp.ll test/CodeGen/X86/atom-lea-sp.ll: Add explicit -mtriple=i686-linux. 2012-02-09 05:12:58 +00:00
atom-sched.ll This patch fixes a problem which arose when using the Post-RA scheduler 2012-04-23 21:39:35 +00:00
atomic_add.ll
atomic_op.ll Trivial change to make the test use -mcpu=generic so as to avoid 2012-04-25 21:04:54 +00:00
atomic-load-store-wide.ll
atomic-load-store.ll
atomic-or.ll
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 cleaned line endings in the newly added test file 2012-04-22 13:22:48 +00:00
avx2-intrinsics-x86.ll Remove AVX2 vpermq and vpermpd intrinsics. These can now be handled with normal shuffle vectors. 2012-04-15 22:43:31 +00:00
avx2-logic.ll Use 256-bit vcmpeqd for creating an all ones vector when AVX2 is enabled. 2011-11-19 22:34:59 +00:00
avx2-nontemporal.ll Clean up patterns for MOVNT*. Not sure why there were floating point types on MOVNTPS and MOVNTDQ. And v4i64 was completely missing. 2012-01-09 06:52:46 +00:00
avx2-palignr.ll Add support for selecting 256-bit PALIGNR. 2012-01-20 05:53:00 +00:00
avx2-phaddsub.ll Add instruction selection support for horizontal add/sub of 256-bit floating point vectors. Also add the test case for 256-bit integer vectors. 2011-12-02 07:16:01 +00:00
avx2-shift.ll Add patterns for v16i16 and v32i8 immAllZerosV to select VPXOR to match v4i64 and v8i32. 2012-01-13 06:59:47 +00:00
avx2-shuffle.ll Fix 256-bit vpshuflw and vpshufhw immediate encoding to handle undefs in the lower half correctly. Missed in r155982. 2012-05-03 07:12:59 +00:00
avx2-unpack.ll Don't try to match 'unpackl/h v, v' for 32xi8 and 16xi16 when only AVX1 is supported. Fix 'unpackh v, v' for 256-bit types to understand 128-bit lanes. 2011-12-16 08:06:31 +00:00
avx2-vbroadcast.ll AVX: We lower VECTOR_SHUFFLE and BUILD_VECTOR nodes into vbroadcast instructions 2012-04-24 11:07:03 +00:00
avx2-vperm2i128.ll Merge isSHUFPMask and isCommutedSHUFPMask into single function that can do both. Do the same for the 256-bit version. Use loops to reduce size of isVSHUFPYMask. Fix test cases that were incorrectly passing due to isCommutedSHUFPMask not checking for the vector being 128-bit. This caused some 256-bit shuffles to be incorrectly commuted. 2011-12-06 04:59:07 +00:00
avx2-vperm.ll Added VPERM optimization for AVX2 shuffles 2012-04-15 11:18:59 +00:00
avx-arith.ll Fixed vsqrt.ss intrinsic usage - order of input operands was wrong. 2011-11-29 15:00:45 +00:00
avx-basic.ll Fix assert in LowerBUILD_VECTOR for v16i16 type on AVX. 2011-12-15 21:34:44 +00:00
avx-bitcast.ll
avx-blend.ll
avx-cast.ll Fix VINSERTF128/VEXTRACTF128 to be marked as FP instructions. Allow execution dependency fix pass to convert them to their integer equivalents when AVX2 is enabled. 2011-11-29 05:37:58 +00:00
avx-cmp.ll
avx-cvt.ll Fix for the following bug in AVX codegen for double-to-int conversions: 2012-01-26 08:51:39 +00:00
avx-fp2int.ll Unix line endings 2012-01-27 02:31:29 +00:00
avx-intrinsics-x86_64.ll
avx-intrinsics-x86.ll Fix 128-bit ptest intrinsics to take v2i64 instead of v4f32 since these are integer instructions. 2012-04-12 07:23:00 +00:00
avx-load-store.ll Fix a bug in the lowering of BUILD_VECTOR for AVX. SCALAR_TO_VECTOR does not zero untouched elements. Use INSERT_VECTOR_ELT instead. 2012-01-11 14:07:51 +00:00
avx-logic.ll
avx-minmax.ll test/CodeGen/X86/avx-minmax.ll: Relax expressions for Win32 targets. YMM arguments are passed as indirect on Win32 x64. 2012-02-01 14:35:29 +00:00
avx-movdup.ll
avx-select.ll
avx-sext.ll Optimization for SIGN_EXTEND operation on AVX. 2012-02-02 09:10:43 +00:00
avx-shift.ll Make LowerSIGN_EXTEND_INREG split 256-bit vectors when AVX1 is enabled and use AVX2 shifts when AVX2 is enabled. 2011-11-21 01:12:36 +00:00
avx-shuffle-x86_32.ll FileCheck hygiene. 2012-01-05 00:43:34 +00:00
avx-shuffle.ll Allow v16i16 and v32i8 shuffles to be rewritten as narrower shuffles. 2012-05-04 04:44:49 +00:00
avx-splat.ll Add instruction selection for 256-bit VPSHUFD and 128-bit VPERMILPS/VPERMILPD. 2012-02-07 06:28:42 +00:00
avx-trunc.ll Unix line endings 2012-02-02 19:00:49 +00:00
avx-unpack.ll Don't try to match 'unpackl/h v, v' for 32xi8 and 16xi16 when only AVX1 is supported. Fix 'unpackh v, v' for 256-bit types to understand 128-bit lanes. 2011-12-16 08:06:31 +00:00
avx-varargs-x86_64.ll Pass AVX vectors which are arguments to varargs functions on the stack. <rdar://problem/10463281>. 2011-12-01 04:49:21 +00:00
avx-vbroadcast.ll AVX2: Build splat vectors by broadcasting a scalar from the constant pool. 2012-04-08 12:54:54 +00:00
avx-vextractf128.ll [avx] Add patterns for combining vextractf128 + vmovaps/vmovups/vmobdqu to 2012-03-20 21:43:40 +00:00
avx-vinsertf128.ll Fix test. 2012-03-20 17:20:46 +00:00
avx-vmovddup.ll
avx-vperm2f128.ll Merge isSHUFPMask and isCommutedSHUFPMask into single function that can do both. Do the same for the 256-bit version. Use loops to reduce size of isVSHUFPYMask. Fix test cases that were incorrectly passing due to isCommutedSHUFPMask not checking for the vector being 128-bit. This caused some 256-bit shuffles to be incorrectly commuted. 2011-12-06 04:59:07 +00:00
avx-vpermil.ll Allow 256-bit shuffles to be split if a 128-bit lane contains elements from a single source. This is a rewrite of the 256-bit shuffle splitting code based on similar code from legalize types. Fixes PR12413. 2012-04-06 07:45:23 +00:00
avx-vshufp.ll Add patterns for integer forms of SHUFPD/VSHUFPD with a memory load. 2011-12-31 23:24:49 +00:00
avx-vzeroupper.ll
avx-win64-args.ll Unix line endings 2012-02-02 19:00:49 +00:00
avx-win64.ll Passing AVX 256-bit structures in Win64 was wrong. 2012-02-01 10:46:14 +00:00
avx-zext.ll This patch addresses the problem of poor code generation for the zext 2012-02-12 15:05:31 +00:00
barrier-sse.ll
barrier.ll
basic-promote-integers.ll
bc-extract.ll Make X86::FsFLD0SS / FsFLD0SD real pseudo-instructions. 2011-11-29 22:27:25 +00:00
bigstructret2.ll
bigstructret.ll
bit-test-shift.ll
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll
blend-msb.ll [AVX] Optimize x86 VSELECT instructions using SimplifyDemandedBits. 2012-01-15 19:27:55 +00:00
block-placement.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
bmi.ll Use standard promotion for i8 CTTZ nodes and i8 CTLZ nodes when the 2011-12-24 12:12:34 +00:00
bool-zext.ll
br-fold.ll Relax this test a touch to cope with different assembly variants. 2012-04-16 22:20:48 +00:00
brcond.ll Reverted commit #147601 upon Evan's request. 2012-01-08 17:20:33 +00:00
break-anti-dependencies.ll This patch fixes a problem which arose when using the Post-RA scheduler 2012-04-23 21:39:35 +00:00
break-sse-dep.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
bss_pagealigned.ll
bswap-inline-asm.ll
bswap.ll
bt.ll
btq.ll X86: Use btq for bit tests if the immediate can't be encoded in 32 bits. 2011-11-23 13:54:17 +00:00
byval2.ll
byval3.ll
byval4.ll
byval5.ll
byval6.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
byval7.ll
byval-align.ll
byval.ll
call-imm.ll
call-push.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
cfstring.ll Check to make sure that the CFString's back store ends up in the correct section. 2012-01-11 19:33:37 +00:00
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 Use standard promotion for i8 CTTZ nodes and i8 CTLZ nodes when the 2011-12-24 12:12:34 +00:00
cmov-into-branch.ll CodeGenPrepare: Add a transform to turn selects into branches in some cases. 2012-05-05 12:49:22 +00:00
cmov.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
cmp.ll
cmpxchg16b.ll FileCheck hygiene. 2012-01-05 00:43:34 +00:00
coalesce-esp.ll
coalescer-commute1.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
coalescer-commute2.ll
coalescer-commute3.ll
coalescer-commute4.ll
coalescer-commute5.ll
coalescer-cross.ll
coalescer-dce.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 Add r149110 back with a fix for when the vector and the int have the same 2012-01-27 23:33:07 +00:00
constpool.ll
convert-2-addr-3-addr-inc64.ll
copysign-zero.ll
crash-nosse.ll
crash-O0.ll
crash.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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 Move to X86 directory because this fails on non-X86 platforms. 2012-04-16 16:38:48 +00:00
dbg-file-name.ll
dbg-i128-const.ll
dbg-large-unsigned-const.ll
dbg-merge-loc-entry.ll Don't print an unused label before .cfi_endproc. 2012-01-09 00:17:29 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
divrem.ll
dll-linkage.ll
dllexport.ll
dollar-name.ll
dwarf-comp-dir.ll
dyn-stackalloc.ll
eh_frame.ll
empty-functions.ll Don't print an unused label before .cfi_endproc. 2012-01-09 00:17:29 +00:00
empty-struct-return-type.ll
epilogue.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
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 X86::FsFLD0SS / FsFLD0SD real pseudo-instructions. 2011-11-29 22:27:25 +00:00
fast-isel-x86.ll Fix fastcc structure return with fast-isel on x86-32 2012-04-30 16:57:15 +00:00
fast-isel.ll Testcase for the previous commit. 2012-02-18 00:05:45 +00:00
fastcall-correct-mangling.ll
fastcc3struct.ll
fastcc-2.ll
fastcc-byval.ll
fastcc-sret.ll
fastcc.ll
fdiv.ll Add a comment noting that the fdiv -> fmul conversion won't generate 2012-04-10 20:35:27 +00:00
field-extract-use-trunc.ll
fildll.ll
fltused_function_pointer.ll Properly emit _fltused with FastISel. Refactor to share code with SDAG. 2012-02-22 19:06:13 +00:00
fltused.ll Properly emit _fltused with FastISel. Refactor to share code with SDAG. 2012-02-22 19:06:13 +00:00
fma4-intrinsics-x86_64.ll Change FMA4 memory forms to use memopv* instead of alignedloadv*. No need to force alignment on these instructions. Add a couple testcases for memory forms. 2011-12-30 02:18:36 +00:00
fma.ll
fmul-zero.ll
fold-add.ll
fold-and-shift.ll Revert r147945 which disabled an addressing mode transformation. I had 2012-01-11 18:36:12 +00:00
fold-call-2.ll
fold-call-3.ll
fold-call.ll
fold-imm.ll
fold-load.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
fold-mul-lohi.ll
fold-pcmpeqd-0.ll
fold-pcmpeqd-1.ll
fold-pcmpeqd-2.ll Chris's constant data sequence refactoring actually enabled printing 2012-01-30 23:47:44 +00:00
fold-sext-trunc.ll
fold-xmm-zero.ll
fold-zext-trunc.ll
force-align-stack.ll
fp2sint.ll
fp_constant_op.ll
fp_load_cast_fold.ll
fp_load_fold.ll
fp-elim.ll
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-stack-2results.ll
fp-stack-compare-cmov.ll X86: Don't emit conditional floating point moves on when targeting pre-pentiumpro architectures. 2012-04-27 12:07:43 +00:00
fp-stack-compare.ll X86: Don't emit conditional floating point moves on when targeting pre-pentiumpro architectures. 2012-04-27 12:07:43 +00:00
fp-stack-direct-ret.ll
fp-stack-O0-crash.ll
fp-stack-O0.ll Fix APFloat::convert so that it handles narrowing conversions correctly; it 2011-11-26 03:38:02 +00:00
fp-stack-ret-conv.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fp-stack-set-st1.ll
fp-stack.ll
fp-trunc.ll
fsgsbase.ll
fsxor-alignment.ll
full-lsr.ll
ga-offset.ll
gather-addresses.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
gcc_except_table.ll Add a test showing how the Leh_func_endN symbol is used. 2012-01-14 00:12:59 +00:00
ghc-cc64.ll
ghc-cc.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
haddsub.ll Add instruction selection support for horizontal add/sub of 256-bit floating point vectors. Also add the test case for 256-bit integer vectors. 2011-12-02 07:16:01 +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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
imul-lea-2.ll
imul-lea.ll
inline-asm-2addr.ll
inline-asm-error.ll
inline-asm-flag-clobber.ll
inline-asm-fpstack.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
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 Make the 'x' constraint work for AVX registers as well. 2012-01-07 01:02:09 +00:00
inline-asm-R-constraint.ll
inline-asm-tied.ll RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
inline-asm-x-scalar.ll
inline-asm.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 Fix two-address pass's aggressive instruction commuting heuristics. It's meant 2012-05-03 01:45:13 +00:00
label-redefinition.ll
large-gep-scale.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 This patch adds X86 instruction itineraries for non-pseudo opcodes in 2012-03-19 14:10:12 +00:00
legalize-sub-zero-2.ll
legalize-sub-zero.ll
legalizedag_vec.ll
lfence.ll
licm-dominance.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
licm-nested.ll
licm-symbol.ll
limited-prec.ll
lit.local.cfg Continue cleanup of LIT, getting rid of the remaining artifacts from dejagnu 2012-03-25 09:02:19 +00:00
live-out-reg-info.ll
liveness-local-regalloc.ll
lock-inst-encoding.ll
log2_not_readnone.ll Revert r151816 as Jim has the appropriate fix. 2012-03-01 17:41:19 +00:00
long-setcc.ll
longlong-deadload.ll
loop-blocks.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
loop-hoist.ll
loop-strength-reduce2.ll
loop-strength-reduce4.ll
loop-strength-reduce5.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
loop-strength-reduce6.ll
loop-strength-reduce7.ll
loop-strength-reduce8.ll
loop-strength-reduce-2.ll
loop-strength-reduce-3.ll
loop-strength-reduce.ll
lsr-delayed-fold.ll
lsr-i386.ll
lsr-interesting-step.ll
lsr-loop-exit-cond.ll Don't break the IV update in TLI::SimplifySetCC(). 2012-04-05 20:30:20 +00:00
lsr-negative-stride.ll
lsr-nonaffine.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
lsr-normalization.ll
lsr-overflow.ll
lsr-quadratic-expand.ll
lsr-redundant-addressing.ll
lsr-reuse-trunc.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
lsr-reuse.ll misched: tag a few XFAILs that I plan to fix 2012-03-21 22:31:31 +00:00
lsr-sort.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
lsr-static-addr.ll
lsr-wrap.ll
lzcnt.ll Use standard promotion for i8 CTTZ nodes and i8 CTLZ nodes when the 2011-12-24 12:12:34 +00:00
machine-cp.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
machine-cse.ll Allow machine-cse to look across MBB boundary when cse'ing instructions that 2012-01-10 02:02:58 +00:00
MachineSink-CritEdge.ll
MachineSink-DbgValue.ll
MachineSink-eflags.ll
MachineSink-PHIUse.ll
masked-iv-safe.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
masked-iv-unsafe.ll
maskmovdqu.ll
mcinst-avx-lowering.ll Add test case for r147881. 2012-01-10 23:09:53 +00:00
mcinst-lowering.ll
mem-promote-integers.ll
membarrier.ll
memcmp.ll
memcpy-2.ll
memcpy.ll Add a test for the miscompilation my recent ConstantDataArray patches introduced, to make sure 2012-02-05 02:37:36 +00:00
memset64-on-x86-32.ll
memset-2.ll
memset-3.ll
memset.ll
mfence.ll
mingw-alloca.ll
misaligned-memset.ll
misched-new.ll The shuffle scheduler is only available in asserts build - make misched-new.ll 2012-03-29 21:11:47 +00:00
mmx-arg-passing2.ll
mmx-arg-passing.ll
mmx-arith.ll
mmx-bitcast-to-i64.ll
mmx-builtins.ll Don't disable MMX support when AVX is enabled. Fix predicates for MMX instructions that were added along with SSE instructions to check for AVX in addition to SSE level. 2012-01-09 00:11:29 +00:00
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 Don't try to form FGETSIGN after legalization; it is possible in some cases, but the existing code can't do it correctly. PR11570. 2011-12-15 02:07:20 +00:00
movntdq-no-avx.ll
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
multiple-return-values-cross-block.ll
nancvt.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
narrow_op-1.ll
narrow-shl-cst.ll
narrow-shl-load.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
neg_cmp.ll Add x86-specific DAG combine to simplify: 2012-04-27 22:33:25 +00:00
neg_fp.ll
neg-shl-add.ll
negate-add-zero.ll Remove all references to the old EH. 2012-01-31 02:09:07 +00:00
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 MC: Fix the MCNullStreamer which was broken in r147763. 2012-02-22 23:49:50 +00:00
objc-gc-module-flags.ll Add a test for generating Objective-C metadata from module flags. 2012-02-15 23:43:37 +00:00
object-size.ll RegAlloc superpass: includes phi elimination, coalescing, and scheduling. 2012-02-10 04:10:36 +00:00
odr_comdat.ll Fix to make sure that a comdat group gets generated correctly for a static member 2012-02-23 10:36:04 +00:00
opt-ext-uses.ll
opt-shuff-tstore.ll
optimize-max-0.ll
optimize-max-1.ll
optimize-max-2.ll
optimize-max-3.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
or-address.ll
or-branch.ll
overlap-shift.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
packed_struct.ll
palignr-2.ll
palignr.ll
peep-setb.ll
peep-test-0.ll
peep-test-1.ll
peep-test-2.ll
peep-test-3.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
peep-vector-extract-concat.ll
peep-vector-extract-insert.ll Make X86::FsFLD0SS / FsFLD0SD real pseudo-instructions. 2011-11-29 22:27:25 +00:00
personality_size.ll It turns out that putting an 8-byte symbol in a 4-byte section makes Solaris ld sulk. GNU ld is perfectly happy with it, which is worrying for a whole other set of reasons... 2012-02-17 16:05:50 +00:00
personality.ll
phaddsub.ll
phi-bit-propagation.ll
phi-immediate-factoring.ll
phys_subreg_coalesce-2.ll
phys_subreg_coalesce-3.ll
phys_subreg_coalesce.ll
phys-reg-local-regalloc.ll
pic_jumptable.ll
pic-load-remat.ll
pic.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
pmul.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
pmulld.ll
pointer-vector.ll test/CodeGen/X86/pointer-vector.ll: Add explicit -mtriple=i686-linux. 2011-12-05 07:54:57 +00:00
popcnt.ll
postalloc-coalescing.ll
postra-licm.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
powi.ll
pr1462.ll
pr1489.ll
pr1505.ll
pr1505b.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
pr2177.ll
pr2182.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
pr2326.ll
pr2656.ll
pr2659.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
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
pr7882.ll
pr9127.ll
pr9743.ll
pr10068.ll
pr10420.ll
pr11202.ll Don't print a label before .cfi_startproc when we don't need to. This makes 2012-01-07 22:42:19 +00:00
pr11415.ll Add triple to the test. 2011-11-22 06:36:25 +00:00
pr12360.ll Pattern match a setcc of boolean value with 0 as a truncate. 2012-04-09 16:06:03 +00:00
prefetch.ll Add test for r146163. 2011-12-08 19:21:39 +00:00
private-2.ll
private.ll
promote-assert-zext.ll
promote-i16.ll
promote-trunc.ll
promote.ll Fix incorrect widening of the bitcast sdnode in case the incoming operand is integer-promoted. 2012-01-03 22:12:28 +00:00
ptr-rotate.ll
ptrtoint-constexpr.ll
rd-mod-wr-eflags.ll For X86, change load/dec-or-inc/store into dec-or-inc, respectively. 2012-03-29 05:45:48 +00:00
rdtsc.ll
red-zone2.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
red-zone.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
reghinting.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
regpressure.ll
rem-2.ll
rem.ll
remat-constant.ll
remat-mov-0.ll
remat-scalar-zero.ll misched: tag a few XFAILs that I plan to fix 2012-03-21 22:31:31 +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
rounding-ops.ll X86: Add patterns for the various rounding ops for SSE4.1 and AVX. 2011-12-09 15:44:03 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
segmented-stacks.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
select.ll Revert r155853 2012-05-02 15:24:32 +00:00
selectiondag-cse.ll Fix PR12599. 2012-04-20 23:36:09 +00:00
setcc.ll
setoeq.ll
setuge.ll
sext-i1.ll
sext-load.ll
sext-ret-val.ll
sext-subreg.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
sext-trunc.ll
sfence.ll
shift-and.ll X86: Generalize the x << (y & const) optimization to also catch masks with more set bits set than 31 or 63. 2012-01-12 12:41:34 +00:00
shift-coalesce.ll
shift-codegen.ll
shift-combine.ll Relax the FileCheck assertion a bit -- all we really care about is that 2012-01-15 09:38:59 +00:00
shift-double.ll
shift-folding.ll Prevent a DAGCombine from firing where there are two uses of 2012-01-05 11:05:55 +00:00
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 Testing vector code without sse doesn't make much sense. 2012-02-05 11:19:39 +00:00
shrink-compare.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
sibcall-2.ll
sibcall-3.ll
sibcall-4.ll
sibcall-5.ll Prevent obscure and incorrect tail-call optimization. 2012-03-02 02:50:46 +00:00
sibcall-byval.ll
sibcall.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
sincos.ll
sink-hoist.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
small-byval-memcpy.ll
smul-with-overflow.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
soft-fp.ll
splat-scalar-load.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
split-eh-lpad-edges.ll
split-vector-bitcast.ll
split-vector-rem.ll
sse1.ll
sse2-blend.ll Revert 147426 because it caused pr11696. 2012-01-03 22:19:42 +00:00
sse2.ll
sse3.ll
sse41-blend.ll When emulating vselect using OR/AND/XOR make sure to bitcast the result back to the original type. 2012-04-15 15:08:09 +00:00
sse41.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
sse-commute.ll
sse-domains.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
sse-fcopysign.ll
sse-load-ret.ll
sse-minmax.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
sse-varargs.ll
stack-align2.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
stack-align.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
stack-protector-linux.ll
stdarg.ll
stdcall-notailcall.ll
stdcall.ll
store_op_load_fold2.ll Allocate virtual registers in ascending order. 2012-04-02 22:30:39 +00:00
store_op_load_fold.ll
store-empty-member.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
store-fp-constant.ll
store-global-address.ll
store-narrow.ll
storetrunc-fp.ll
stride-nine-with-base-reg.ll
stride-reuse.ll Trivial change to make the test use Use –mcpu=generic, 2012-03-01 19:57:20 +00:00
sub-with-overflow.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
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 Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
switch-crit-edge-constant.ll
switch-or.ll
switch-zextload.ll
SwitchLowering.ll
swizzle.ll
SwizzleShuff.ll 1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new 2012-04-07 21:19:08 +00:00
tail-call-got.ll
tail-dup-addr.ll Don't print a label before .cfi_startproc when we don't need to. This makes 2012-01-07 22:42:19 +00:00
tail-opts.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
tail-threshold.ll
tailcall1.ll
tailcall-disable.ll Space after punctuation. 2012-01-19 01:13:47 +00:00
tailcall-fastisel.ll
tailcall-i1.ll
tailcall-largecode.ll
tailcall-returndup-void.ll
tailcall-ri64.ll
tailcall-stackalign.ll
tailcall-structret.ll
tailcall-void.ll
tailcallbyval64.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
tailcallbyval.ll
tailcallfp2.ll
tailcallfp.ll
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
targetLoweringGeneric.ll Test for the the problem with xors being changed into ands 2012-04-19 20:54:44 +00:00
test-nofold.ll
test-shrink-bug.ll
test-shrink.ll
testl-commute.ll
thiscall-struct-return.ll Adding support for Microsoft's thiscall calling convention. LLVM side of the patch. 2012-02-22 03:04:40 +00:00
tls-pic.ll
tls-pie.ll Cleanup and relax a restriction on the matching of global offsets into 2012-04-09 02:13:06 +00:00
tls.ll Cleanup and relax a restriction on the matching of global offsets into 2012-04-09 02:13:06 +00:00
tlv-1.ll
tlv-2.ll
trap.ll
trunc-ext-ld-st.ll
trunc-to-bool.ll
twoaddr-coalesce-2.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
twoaddr-coalesce.ll
twoaddr-lea.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
twoaddr-pass-sink.ll
twoaddr-sink-terminator.ll
uint64-to-float.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
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
unreachable-stack-protector.ll Do trivial CSE of dead BBs during codegen preparation. 2012-03-04 10:46:01 +00:00
urem-i8-constant.ll
use-add-flags.ll
utf8.ll Make the test for r154235 more platform-independent with a shorter 2012-04-07 01:33:14 +00:00
utf16-cfstrings.ll Testcase for r153710. 2012-03-30 00:26:54 +00:00
v2f32.ll
v4f32-immediate.ll
v-binop-widen2.ll
v-binop-widen.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
vararg_tailcall.ll
variable-sized-darwin-bzero.ll
variadic-node-pic.ll
vec_add.ll
vec_align.ll
vec_anyext.ll
vec_call.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
vec_cast2.ll Optimize the vector UINT_TO_FP, SINT_TO_FP and FP_TO_SINT operations where the integer type is i8 (commonly used in graphics). 2012-04-23 21:53:37 +00:00
vec_cast.ll
vec_clear.ll
vec_compare-2.ll 1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new 2012-04-07 21:19:08 +00:00
vec_compare-sse4.ll
vec_compare.ll
vec_ctbits.ll Manually upgrade the test suite to specify the flag to cttz and ctlz. 2011-12-12 11:59:10 +00:00
vec_ext_inreg.ll
vec_extract-sse4.ll
vec_extract.ll
vec_fneg.ll
vec_fpext.ll Fix type-checking for load transformation which is not legal on floating-point types. PR11674. 2011-12-28 21:24:44 +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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_shuffle-17.ll
vec_shuffle-18.ll
vec_shuffle-19.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_shuffle-20.ll Fix PR12529. The Vxx family of instructions are only supported by AVX. 2012-04-15 19:36:44 +00:00
vec_shuffle-22.ll
vec_shuffle-23.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
vec_shuffle-24.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
vec_shuffle-25.ll
vec_shuffle-26.ll
vec_shuffle-27.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_shuffle-28.ll
vec_shuffle-30.ll
vec_shuffle-31.ll
vec_shuffle-34.ll
vec_shuffle-35.ll
vec_shuffle-36.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_shuffle-37.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_shuffle-38.ll Add another missing pattern. llvm-gcc likes f64 but clang likes i64 so it was generating poor code for some SSE builtins. 2011-11-29 22:48:34 +00:00
vec_shuffle-39.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_shuffle.ll
vec_splat-2.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_splat-3.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_splat-4.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_splat.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
vec_ss_load_fold.ll
vec_udiv_to_shift.ll
vec_uint_to_fp.ll
vec_zero_cse.ll
vec_zero-2.ll
vec_zero.ll
vec_zext.ll Revert accidental commit of a pruned testcase from r150360. 2012-02-13 04:33:33 +00:00
vec-sign.ll
vec-trunc-store.ll
vector-gep.ll Fix a bug in the code that builds SDNodes from vector GEPs. 2012-02-28 11:54:05 +00:00
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx2.ll
vector-variable-idx.ll
vector.ll
vfcmp.ll
visibility2.ll
visibility.ll
volatile.ll Upgrade syntax of tests using volatile instructions to use 'load volatile' instead of 'volatile load', which is archaic. 2011-11-27 06:54:59 +00:00
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 Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
widen_arith-2.ll
widen_arith-3.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
widen_arith-4.ll
widen_arith-5.ll
widen_arith-6.ll
widen_cast-1.ll
widen_cast-2.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
widen_extract-1.ll Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
widen_load-0.ll
widen_load-1.ll Revert r145273 and fix in SelectionDAG::InferPtrAlignment() instead. 2011-11-28 22:37:34 +00:00
widen_load-2.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
widen_shuffle-1.ll 1. Remove the part of r153848 which optimizes shuffle-of-shuffle into a new 2012-04-07 21:19:08 +00:00
win32_sret.ll Support MSVC x86-32 sret convention. PR11688. Patch by Joe Groff. 2012-01-20 00:05:46 +00:00
win64_alloca_dynalloca.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
win64_params.ll
win64_vararg.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
win_chkstk.ll
win_ftol2.ll Target/X86: Fix assertion failures and warnings caused by r151382 _ftol2 lowering for i386-*-win32 targets. Patch by Joe Groff. 2012-02-25 03:37:25 +00:00
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 Add mcpu to tests to prevent them from using AVX instructions on Sandy Bridge after r155618. 2012-04-27 07:11:58 +00:00
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
xop-intrinsics-x86_64.ll Remove most of the intrinsics for XOP VPCMOV instruction. They all aliased to the same instruction with different types. This would be better accomplished with casts in the not yet created xopintrin.h header file. 2012-02-05 00:55:56 +00:00
xor-icmp.ll Flip the new block-placement pass to be on by default. 2012-04-16 13:49:17 +00:00
xor.ll
zero-remat.ll Make X86::FsFLD0SS / FsFLD0SD real pseudo-instructions. 2011-11-29 22:27:25 +00:00
zext-extract_subreg.ll
zext-fold.ll Instruction scheduling itinerary for Intel Atom. 2012-02-01 23:20:51 +00:00
zext-inreg-0.ll
zext-inreg-1.ll
zext-sext.ll misched: tag a few XFAILs that I plan to fix 2012-03-21 22:31:31 +00:00
zext-shl.ll
zext-trunc.ll