llvm-6502/test/CodeGen/X86
Dan Gohman ad7321f58a Teach LSR to optimize away SMAX operations for tripcounts in common
cases.  See the comment above OptimizeSMax for the full story, and
the testcase for an example. This cancels out a pessimization
commonly attributed to indvars, and will allow us to lift some of
the artificial throttles in indvars, rather than add new ones.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@56230 91177308-0d34-0410-b5e6-96231b3b80d8
2008-09-15 21:22:06 +00:00
..
2002-12-23-LocalRAProblem.ll
2002-12-23-SubProblem.ll
2003-08-03-CallArgLiveRanges.ll
2003-08-23-DeadBlockTest.ll
2003-11-03-GlobalBool.ll
2004-02-12-Memcpy.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
2004-02-13-FrameReturnAddress.ll
2004-02-14-InefficientStackPointer.ll
2004-02-22-Casts.ll
2004-03-30-Select-Max.ll
2004-04-09-SameValueCoalescing.ll
2004-04-13-FPCMOV-Crash.ll
2004-06-10-StackifierCrash.ll
2004-10-08-SelectSetCCFold.ll
2005-01-17-CycleInDAG.ll
2005-02-14-IllegalAssembler.ll
2005-05-08-FPStackifierPHI.ll
2006-01-19-ISelFoldingBug.ll
2006-03-01-InstrSchedBug.ll
2006-03-02-InstrSchedBug.ll
2006-04-04-CrossBlockCrash.ll
2006-04-27-ISelFoldingBug.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2006-05-01-SchedCausingSpills.ll
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 Undo spill weight tweak. Need to investigate the performance regressions. 2008-06-21 06:45:54 +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-19-ATTAsm.ll
2006-07-20-InlineAsm.ll
2006-07-28-AsmPrint-Long-As-Pointer.ll
2006-07-31-SingleRegClass.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2006-08-07-CycleInDAG.ll
2006-08-16-CycleInDAG.ll
2006-08-21-ExtraMovInst.ll
2006-09-01-CycleInDAG.ll
2006-10-02-BoolRetCrash.ll
2006-10-07-ScalarSSEMiscompile.ll
2006-10-09-CycleInDAG.ll
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
2006-11-17-IllegalMove.ll I missed this file in r54223. movzbl is now used instead 2008-07-30 18:23:34 +00:00
2006-11-27-SelectLegalize.ll
2006-11-28-Memcpy.ll test doesn't need eh info 2008-06-27 03:14:20 +00:00
2006-12-19-IntelSyntax.ll
2007-01-08-InstrSched.ll
2007-01-13-StackPtrIndex.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2007-01-29-InlineAsm-ir.ll
2007-02-04-OrAddrMode.ll
2007-02-19-LiveIntervalAssert.ll
2007-02-25-FastCCStack.ll
2007-03-01-SpillerCrash.ll
2007-03-15-GEP-Idx-Sink.ll
2007-03-16-InlineAsm.ll
2007-03-18-LiveIntervalAssert.ll
2007-03-24-InlineAsmMultiRegConstraint.ll
2007-03-24-InlineAsmPModifier.ll
2007-03-24-InlineAsmVectorOp.ll
2007-03-24-InlineAsmXConstraint.ll
2007-03-26-CoalescerBug.ll
2007-04-08-InlineAsmCrash.ll
2007-04-11-InlineAsmVectorResult.ll
2007-04-17-LiveIntervalAssert.ll
2007-04-24-Huge-Stack.ll
2007-04-24-VectorCrash.ll
2007-04-25-MMX-PADDQ.ll
2007-04-27-InlineAsm-IntMemInput.ll
2007-05-05-VecCastExpand.ll
2007-05-07-InvokeSRet.ll
2007-05-14-LiveIntervalAssert.ll
2007-05-15-maskmovq.ll
2007-05-17-ShuffleISelBug.ll
2007-06-04-tailmerge4.ll
2007-06-04-X86-64-CtorAsmBugs.ll
2007-06-05-LSR-Dominator.ll
2007-06-14-branchfold.ll
2007-06-15-IntToMMX.ll
2007-06-28-X86-64-isel.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
2007-06-29-DAGCombinerBug.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
2007-06-29-VecFPConstantCSEBug.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
2007-07-03-GR64ToVR64.ll
2007-07-10-StackerAssert.ll
2007-07-18-Vector-Extract.ll
2007-08-01-LiveVariablesBug.ll
2007-08-09-IllegalX86-64Asm.ll
2007-08-10-SignExtSubreg.ll
2007-08-13-AppendingLinkage.ll
2007-08-13-SpillerReuse.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
2007-09-03-X86-64-EhSelector.ll
2007-09-05-InvalidAsm.ll
2007-09-06-ExtWeakAliasee.ll
2007-09-17-ObjcFrameEH.ll
2007-09-18-ShuffleXformBug.ll
2007-09-27-LDIntrinsics.ll
2007-10-04-AvoidEFLAGSCopy.ll Specify a target so that this tests tests what it's intended to test. 2008-05-27 17:55:57 +00:00
2007-10-05-3AddrConvert.ll
2007-10-12-CoalesceExtSubReg.ll
2007-10-12-SpillerUnfold1.ll
2007-10-12-SpillerUnfold2.ll
2007-10-14-CoalescerCrash.ll
2007-10-15-CoalescerCrash.ll
2007-10-16-CoalescerCrash.ll
2007-10-16-fp80_select.ll
2007-10-16-IllegalAsm.ll
2007-10-17-IllegalAsm.ll
2007-10-19-SpillerUnfold.ll
2007-10-28-inlineasm-q-modifier.ll
2007-10-29-ExtendSetCC.ll
2007-10-30-LSRCrash.ll
2007-10-31-extractelement-i64.ll
2007-11-01-ISelCrash.ll
2007-11-02-BadAsm.ll
2007-11-03-x86-64-q-constraint.ll
2007-11-04-LiveIntervalCrash.ll
2007-11-04-LiveVariablesBug.ll
2007-11-04-rip-immediate-constant.ll
2007-11-06-InstrSched.ll
2007-11-07-MulBy4.ll
2007-11-14-Coalescer-Bug.ll Update these tests to work by disabling the new correct CFG generation. This flag should ONLY be used to for tests like these. 2008-08-04 23:55:29 +00:00
2007-11-30-LoadFolding-Bug.ll Eliminate another use of -disable-correct-folding. 2008-08-05 18:03:01 +00:00
2007-11-30-TestLoadFolding.ll Remove another -disable-correct-folding use. 2008-08-05 18:05:58 +00:00
2007-12-11-FoldImpDefSpill.ll
2007-12-16-BURRSchedCrash.ll
2007-12-18-LoadCSEBug.ll
2008-01-08-IllegalCMP.ll
2008-01-08-SchedulerCrash.ll
2008-01-09-LongDoubleSin.ll
2008-01-16-FPStackifierAssert.ll
2008-01-16-InvalidDAGCombineXform.ll
2008-01-16-Trampoline.ll
2008-01-25-EmptyFunction.ll
2008-02-05-ISelCrash.ll
2008-02-06-LoadFoldingBug.ll
2008-02-08-LoadFoldingBug.ll
2008-02-14-BitMiscompile.ll
2008-02-18-TailMergingBug.ll Considering predecessors of exit blocks gets 2008-07-01 21:50:49 +00:00
2008-02-20-InlineAsmClobber.ll
2008-02-22-LocalRegAllocBug.ll
2008-02-22-ReMatBug.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
2008-02-25-InlineAsmBug.ll
2008-02-25-X86-64-CoalescerBug.ll
2008-02-26-AsmDirectMemOp.ll
2008-02-27-DeadSlotElimBug.ll
2008-02-27-PEICrash.ll
2008-03-06-frem-fpstack.ll
2008-03-07-APIntBug.ll
2008-03-10-RegAllocInfLoop.ll
2008-03-12-ThreadLocalAlias.ll
2008-03-13-TwoAddrPassCrash.ll
2008-03-14-SpillerCrash.ll
2008-03-18-CoalescerBug.ll Undo spill weight tweak. Need to investigate the performance regressions. 2008-06-21 06:45:54 +00:00
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 Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
2008-04-24-MemCpyBug.ll
2008-04-24-pblendw-fold-crash.ll
2008-04-26-Asm-Optimize-Imm.ll
2008-04-28-CoalescerBug.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
2008-04-28-CyclicSchedUnit.ll
2008-05-01-InvalidOrdCompare.ll
2008-05-06-SpillerBug.ll Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
2008-05-09-PHIElimBug.ll
2008-05-09-ShuffleLoweringBug.ll
2008-05-12-tailmerge-5.ll
2008-05-21-CoalescerBug.ll Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
2008-05-22-FoldUnalignedLoad.ll Bug: rcpps can only folds a load if the address is 16-byte aligned. Fixed many 'ps' load folding patterns in X86InstrSSE.td which are missing the proper alignment checks. 2008-05-23 00:37:07 +00:00
2008-05-28-CoalescerBug.ll Fix PR2289: vr defined by multiple implicit_def as result of coalescing. 2008-05-28 17:40:10 +00:00
2008-05-28-LocalRegAllocBug.ll Teach local register allocator to deal with landing pad MBB's. 2008-05-28 17:22:32 +00:00
2008-06-04-MemCpyLoweringBug.ll Fix a memcpy lowering bug. Even though the memcpy alignment is smaller than the desired alignment, the frame destination alignment may still be larger than the desired alignment. Don't change its alignment to something smaller. 2008-06-04 23:37:54 +00:00
2008-06-13-NotVolatileLoadStore.ll Disable some DAG combiner optimizations that may be 2008-06-13 19:07:40 +00:00
2008-06-13-VolatileLoadStore.ll Make test work on non-x86 machines (like my G4 PPC). 2008-06-23 06:16:31 +00:00
2008-06-16-SubregsBug.ll Do not issue identity copies. 2008-06-16 22:52:53 +00:00
2008-06-18-BadShuffle.ll Fix a bug with <8 x i16> shuffle lowering on X86 where parts of the 2008-06-19 06:09:51 +00:00
2008-06-25-VecISelBug.ll - Fix a x86 vector isel bug: illegal transformation of a vector_shuffle into a 2008-06-25 20:52:59 +00:00
2008-07-07-DanglingDeadInsts.ll Fix two serious LSR bugs. 2008-07-07 19:51:32 +00:00
2008-07-09-ELFSectionAttributes.ll Testcase for PR2024 2008-07-09 14:09:41 +00:00
2008-07-11-SHLBy1.ll Port a shift-by-1 optimization from LegalizeDAG: it 2008-07-11 16:54:57 +00:00
2008-07-11-SpillerBug.ll Fix PR2536: a nasty spiller bug. If a two-address instruction uses a register but the use portion of its live range is not part of its liveinterval, it must be defined by an implicit_def. In that case, do not spill the use. e.g. 2008-07-12 01:56:02 +00:00
2008-07-16-CoalescerCrash.ll Subreg live interval valno may not have a corresponding def machineinstr since it's less precise. 2008-07-17 19:48:53 +00:00
2008-07-19-movups-spills.ll Make sse2 explicit, for non-x86 hosts. 2008-07-31 20:16:33 +00:00
2008-07-22-CombinerCrash.ll Fix pr2566: incorrect assumption about bit_convert. It doesn't not have to output a vector value. Patch by Nicolas Capens! 2008-07-22 20:42:56 +00:00
2008-07-23-VSetCC.ll LegalizeTypes support for VSETCC. Fixes PR2575. 2008-07-22 23:54:03 +00:00
2008-08-05-SpillerBug.ll Fix PR2568: Fix bug that cause redudant kill marker after its live interval has been extended due to coalescing. 2008-08-05 07:10:38 +00:00
2008-08-06-RewriterBug.ll Fix PR2596: out of bound reference. 2008-08-05 21:51:46 +00:00
2008-08-17-UComiCodeGenBug.ll Fix a (u)comiss intrinsic lowering bug. It was using anyext which can return junk in higher bits. Patch by Nate Begeman. 2008-08-17 19:22:34 +00:00
2008-08-19-SubAndFetch.ll Add support for the __sync_sub_and_fetch atomics and friends for X86. The code 2008-08-19 23:09:18 +00:00
2008-08-23-64Bit-maskmovq.ll Testcase for 64bit maskmovq 2008-08-23 15:53:47 +00:00
2008-08-23-X86-64AsmBug.ll Re-apply 55467 with fix. If copy is being replaced by remat'ed def, transfer the implicit defs onto the remat'ed instruction. 2008-08-30 09:09:33 +00:00
2008-08-25-AsmRegTypeMismatch.ll Re-apply 55467 with fix. If copy is being replaced by remat'ed def, transfer the implicit defs onto the remat'ed instruction. 2008-08-30 09:09:33 +00:00
2008-08-31-EH_RETURN32.ll Reapply 55902: Add test for checking proper lowering of eh_return & unwind init intrinsics on 32bit x86 targets 2008-09-08 21:14:36 +00:00
2008-08-31-EH_RETURN64.ll Reapply 55903: Testcase for 64-bit lowering of eh_return & unwind_init 2008-09-08 21:14:19 +00:00
2008-09-05-sinttofp-2xi32.ll Fix for PR2687: Add patterns to match sint_to_fp and fp_to_sint for <2 x 2008-09-05 23:07:03 +00:00
2008-09-09-LinearScanBug.ll Fix PR2757. Ignore liveinterval register allocation preference if the preference register is not in the right register class. This can happen due to sub-register coalescing. 2008-09-09 20:22:01 +00:00
2008-09-10-SpillerBug2.ll Propagate subreg index when promoting a load to a copy. 2008-09-11 01:02:12 +00:00
2008-09-11-CoalescerBug2.ll Fix PR2748. Avoid coalescing physical register with virtual register which would create illegal extract_subreg. e.g. 2008-09-11 20:07:10 +00:00
2008-09-11-CoalescerBug.ll Fix PR2783 - coalescer bug. Missing a TargetRegisterInfo::isVirtualRegister check. 2008-09-11 18:40:32 +00:00
aliases.ll
aligned-comm.ll
all-ones-vector.ll
alloca-align-rounding.ll xfail this. 2008-08-29 22:59:13 +00:00
and-or-fold.ll
arg-cast.ll
asm-block-labels.ll
asm-global-imm.ll
asm-indirect-mem.ll
atomic_op.ll Add support for 8 and 16 bit forms of __sync 2008-08-19 18:47:28 +00:00
Atomics-32.ll Test all currently supported atomic builtins on x86-{32,64}. 2008-08-22 22:39:21 +00:00
Atomics-64.ll Test all currently supported atomic builtins on x86-{32,64}. 2008-08-22 22:39:21 +00:00
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll
bswap.ll
byval2.ll
byval3.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
byval4.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
byval5.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
byval6.ll
byval7.ll
byval.ll
call-push.ll
clz.ll
cmp0.ll
cmp1.ll
cmp2.ll Swap fp comparison operands and change predicate to allow load folding (safely this time). 2008-08-29 23:22:12 +00:00
cmp-test.ll
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
coalescer-commute4.ll
coalescer-commute5.ll
combine-lds.ll For whatever the reason, x86 CallingConv::Fast (i.e. fastcc) was not passing scalar arguments in registers. This patch defines a new fastcc CC which is slightly different from the FastCall CC. In addition to passing integer arguments in ECX and EDX, it also specify doubles are passed in 8-byte slots which are 8-byte aligned (instead of 4-byte aligned). This avoids a potential performance hazard where doubles span cacheline boundaries. 2008-09-04 22:59:58 +00:00
commute-intrinsic.ll - Add "Commutative" property to intrinsics. This allows tblgen to generate the commuted variants for dagisel matching code. 2008-06-16 20:29:38 +00:00
commute-two-addr.ll
compare_folding.ll
compare-add.ll
constant-pool-remat-0.ll If SSE2 is available, x86 should pass first 3 f32/f64 arguments in XMM registers for fastcc calls. 2008-09-05 17:24:07 +00:00
copysign-zero.ll
dagcombine-cse.ll
darwin-bzero.ll
darwin-no-dead-strip.ll
dg.exp
div_const.ll
divrem.ll
dollar-name.ll Fix some tests. 2008-06-12 21:23:38 +00:00
dyn-stackalloc.ll
epilogue.ll
extend.ll
extern_weak.ll
extmul64.ll
extmul128.ll
extractelement-from-arg.ll
extractelement-load.ll
extractps.ll Make x86 and sse2 explicit for non-x86 hosts. 2008-08-21 21:26:06 +00:00
fabs.ll
fast-cc-callee-pops.ll Remove code that pad number of bytes to pop for X86_FastCall CC. The code doesn't do the "aligning" for Cygwin, Mingw, and Windows. But aligning it on Darwin and Linux breaks gcc compatibility. That ruled out all the platforms we support! 2008-09-04 01:04:15 +00:00
fast-cc-merge-stack-adj.ll
fast-cc-pass-in-regs.ll
fast-isel-call.ll Handle calls which produce i1 results: promote to i8 but and it with 1 to get the low bit. 2008-09-08 17:15:42 +00:00
fast-isel-mem.ll Fix a constant lowering bug. Now we can do load and store instructions with funky getelementptr embedded in the address operand. 2008-09-09 01:26:59 +00:00
fast-isel-phys.ll Correctly handle physical register inputs. They are not explicit input operands in the resulting machine instrs. 2008-09-08 08:39:33 +00:00
fast-isel-trunc.ll Handle x86 truncate to i8 with target hook for now. 2008-09-07 08:47:42 +00:00
fast-isel.ll Load from GV stub should be locally CSE'd. 2008-09-04 06:18:33 +00:00
fastcall-correct-mangling.ll
fastcc-2.ll If SSE2 is available, x86 should pass first 3 f32/f64 arguments in XMM registers for fastcc calls. 2008-09-05 17:24:07 +00:00
fastcc-sret.ll Fix a fastcc + sret bug. If fastcc and sret, callee doesn't need to pop the hidden struct ptr; Re-enable fastcc. 2008-09-10 18:25:29 +00:00
fastcc.ll Fix test. 2008-09-05 20:04:37 +00:00
field-extract-use-trunc.ll
fildll.ll
fold-and-shift.ll
fold-call-2.ll Try approach to moving call address load inside of callseq_start. Now it's done during the preprocess of x86 isel. callseq_start's chain is changed to load's chain node; while load's chain is the last of callseq_start or the loads or copytoreg nodes inserted to move arguments to the right spot. 2008-08-25 21:27:18 +00:00
fold-call.ll Add patterns for CALL32m and CALL64m. They aren't matched in most 2008-05-29 21:50:34 +00:00
fold-load.ll
fold-mul-lohi.ll
fp2sint.ll
fp_constant_op.ll
fp_load_cast_fold.ll
fp_load_fold.ll
fp-immediate-shorten.ll
fp-in-intregs.ll
fp-stack-2results.ll
fp-stack-compare.ll
fp-stack-direct-ret.ll
fp-stack-ret-conv.ll
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fsxor-alignment.ll
hidden-vis.ll
i128-immediate.ll
i128-mul.ll
i128-ret.ll
iabs.ll
illegal-insert.ll
illegal-vector-args-return.ll
imp-def-copies.ll
imul-lea.ll
inline-asm-fpstack.ll
inline-asm-mrv.ll
inline-asm-x-scalar.ll
inline-asm.ll
ins_subreg_coalesce-1.ll
ins_subreg_coalesce-2.ll
ins_subreg_coalesce-3.ll Update the remaining tests not to use -disable-correct-folding, and remove two 2008-08-05 18:19:14 +00:00
insertelement-copytoregs.ll
invalid-shift-immediate.ll
isel-sink.ll
isnan2.ll
isnan.ll
ispositive.ll
jump_sign.ll
ldzero.ll
lea-2.ll
lea-3.ll
lea-recursion.ll
lea.ll
lfence.ll
long-setcc.ll Swap fp comparison operands and change predicate to allow load folding. 2008-08-28 23:48:31 +00:00
longlong-deadload.ll
loop-hoist.ll
loop-strength-reduce2.ll Fix some more quoting issues in RUN lines, this time regarding unintended 2008-06-10 16:10:32 +00:00
loop-strength-reduce3.ll
loop-strength-reduce4.ll
loop-strength-reduce5.ll
loop-strength-reduce6.ll
loop-strength-reduce.ll
lsr-negative-stride.ll
memcpy-2.ll The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and 2008-05-26 20:18:56 +00:00
memcpy.ll
memmove-0.ll
memmove-1.ll
memmove-2.ll
memmove-3.ll
memmove-4.ll Expand small memmovs using inline code. Set the X86 threshold for expanding 2008-05-29 19:42:22 +00:00
memset64-on-x86-32.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
memset-2.ll Fix a number of byval / memcpy / memset related codegen issues. 2008-08-21 21:00:15 +00:00
memset.ll The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and 2008-05-26 20:18:56 +00:00
mfence.ll
mingw-alloca.ll Allow for rounding up of stack frame. 2008-06-26 01:55:32 +00:00
mmx-arg-passing2.ll
mmx-arg-passing.ll
mmx-arith.ll
mmx-bitcast-to-i64.ll
mmx-copy-gprs.ll
mmx-emms.ll
mmx-insert-element.ll Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq. 2008-05-29 08:22:04 +00:00
mmx-pinsrw.ll Fix for first part of PR2562. Generate the "pinsrw" instruction for inserts 2008-07-20 02:32:23 +00:00
mmx-punpckhdq.ll
mmx-s2v.ll Fix PR2574: implement v2f32 scalar_to_vector. 2008-07-22 18:39:19 +00:00
mmx-shift.ll
mmx-shuffle.ll
mul64.ll
mul128.ll
mul-legalize.ll
mul-remat.ll
mul-shift-reassoc.ll
multiple-return-values-cross-block.ll
multiple-return-values.ll
nancvt.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
negative_zero.ll
negative-sin.ll
nofence.ll
opt-ext-uses.ll
optimize-smax.ll Teach LSR to optimize away SMAX operations for tripcounts in common 2008-09-15 21:22:06 +00:00
or-branch.ll
overlap-shift.ll
packed_struct.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
peep-vector-extract-concat.ll
peep-vector-extract-insert.ll
pic_jumptable.ll
pic-1.ll
pic-2.ll
pic-3.ll
pic-4.ll
pic-5.ll
pic-6.ll
pic-cpool.ll
pic-jtbl.ll
pic-load-remat.ll
pmul.ll Make this test independent of the target-triple; the stack alignment 2008-05-27 17:44:23 +00:00
postalloc-coalescing.ll
pr1462.ll
pr1489.ll
pr1505.ll
pr1505b.ll
pr2177.ll
pr2182.ll
pr2326.ll
pr2623.ll Fix SDISel lowering of PHI nodes to use ComputeValueVTs. 2008-08-04 23:42:46 +00:00
pr2656.ll Make x86 and sse2 explicit for non-x86 hosts. 2008-08-21 21:26:06 +00:00
prefetch.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
rdtsc.ll
regpressure.ll
rem.ll
remat-constant.ll This test needs -aggressive-remat enabled. 2008-07-25 15:25:32 +00:00
remat-mov0.ll If it's determined safe, remat MOV32r0 (i.e. xor r, r) and others as it is instead of using the longer MOV32ri instruction. 2008-06-24 07:10:51 +00:00
rotate2.ll
rotate.ll
scalar_sse_minmax.ll Fix parameter spelling: sse not sse1 2008-06-10 17:57:58 +00:00
scalar-min-max-fill-operand.ll
select-zero-one.ll
select.ll
setuge.ll
sext-load.ll
sext-select.ll
sext-trunc.ll Improve dagcombining for sext-loads and sext-in-reg nodes. 2008-07-31 00:50:31 +00:00
sfence.ll
shift-and.ll Transform (x << (y&31)) -> (x << y). This takes advantage of the fact x86 shift instructions 2nd operand (shift count) is limited to 0 to 31 (or 63 in the x86-64 case). 2008-08-30 02:03:58 +00:00
shift-coalesce.ll
shift-codegen.ll
shift-combine.ll
shift-double.ll
shift-folding.ll
shift-one.ll
shl_elim.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
sincos.ll
small-byval-memcpy.ll
split-select.ll v2f32 is now a valid (MMX) type which breaks this 2008-06-24 22:03:36 +00:00
split-vector-rem.ll
sret.ll Fix a fastcc + sret bug. If fastcc and sret, callee doesn't need to pop the hidden struct ptr; Re-enable fastcc. 2008-09-10 18:25:29 +00:00
sse41-extractps-bitcast-0.ll
sse41-extractps-bitcast-1.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 Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
sse-fcopysign.ll
sse-load-ret.ll
sse-varargs.ll
stack-align.ll
store_op_load_fold2.ll
store_op_load_fold.ll
store-fp-constant.ll
store-global-address.ll
storetrunc-fp.ll
stride-nine-with-base-reg.ll
stride-reuse.ll
subclass-coalesce.ll New test case. 2008-06-19 01:50:24 +00:00
subreg-to-reg-0.ll Re-enable elimination of unnecessary SUBREG_TO_REG instructions in 2008-08-07 02:54:50 +00:00
subreg-to-reg-1.ll Re-enable elimination of unnecessary SUBREG_TO_REG instructions in 2008-08-07 02:54:50 +00:00
tailcall1.ll
tailcall-stackalign.ll When tailcallopt is enabled all fastcc calls must have an aligned argument stack size. Add a test case. 2008-09-11 20:28:43 +00:00
tailcallbyval64.ll
tailcallbyval.ll
tailcallfp2.ll Add indirect tail call (function pointer) examples. 2008-09-11 22:24:28 +00:00
tailcallfp.ll Add indirect tail call (function pointer) examples. 2008-09-11 22:24:28 +00:00
tailcallpic1.ll
tailcallpic2.ll
tailcallstack64.ll
test-nofold.ll
tls1.ll
tls2.ll
trap.ll
trunc-to-bool.ll
twoaddr-pass-sink.ll
twoaddr-remat.ll Enable two-address remat by default. 2008-06-25 01:16:38 +00:00
uint_to_fp.ll when we know the signbit of an input to uint_to_fp is zero, 2008-06-26 00:16:49 +00:00
urem-i8-constant.ll
v4f32-immediate.ll
variable-sized-darwin-bzero.ll
variadic-node-pic.ll Fix the position of MemOperands in nodes that use variadic_ops 2008-06-02 17:40:38 +00:00
vec_add.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
vec_align.ll
vec_call.ll
vec_clear.ll Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq. 2008-05-29 08:22:04 +00:00
vec_ctbits.ll Add nounwind. 2008-05-29 07:09:24 +00:00
vec_extract-sse4.ll
vec_extract.ll
vec_fneg.ll Remove double pipes in RUN commandlines. 2008-06-10 15:11:36 +00:00
vec_ins_extract.ll
vec_insert_4.ll
vec_insert-2.ll Fix PR2485: do all 4-element SSE shuffles in max. of 2 shuffle instructions. 2008-07-23 00:22:17 +00:00
vec_insert-3.ll Implement vector shift up / down and insert zero with ps{rl}lq / ps{rl}ldq. 2008-05-29 08:22:04 +00:00
vec_insert-5.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_insert-6.ll Add target triples so these tests behave as expected on non-darwin hosts. 2008-07-24 18:08:01 +00:00
vec_insert-7.ll Fix test RUN line 2008-07-25 19:08:59 +00:00
vec_insert.ll
vec_loadhl.ll New loadl_pd and loadh_pd tests. 2008-05-24 00:10:02 +00:00
vec_logical.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_return.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_select.ll
vec_set-2.ll
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 Fix for PR2472. Use movss to set lower 32-bits of a zero XMM vector. 2008-07-10 01:08:23 +00:00
vec_set.ll
vec_shift2.ll
vec_shift3.ll
vec_shift.ll
vec_shuffle-2.ll
vec_shuffle-3.ll
vec_shuffle-4.ll
vec_shuffle-5.ll
vec_shuffle-6.ll
vec_shuffle-7.ll
vec_shuffle-8.ll
vec_shuffle-9.ll
vec_shuffle-10.ll
vec_shuffle-11.ll Add nounwind. 2008-07-17 19:48:04 +00:00
vec_shuffle-12.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_shuffle-13.ll Convert several tests to use temporary files instead of redundantly 2008-06-10 00:36:41 +00:00
vec_shuffle-14.ll
vec_shuffle-15.ll
vec_shuffle-16.ll
vec_shuffle-17.ll
vec_shuffle-18.ll The Linux ABI emits an extra "movl %esp, %ebp" in function prologue and 2008-05-26 20:18:56 +00:00
vec_shuffle-19.ll Add target triples so these tests behave as expected on non-darwin hosts. 2008-07-24 18:08:01 +00:00
vec_shuffle-20.ll Add target triples so these tests behave as expected on non-darwin hosts. 2008-07-24 18:08:01 +00:00
vec_shuffle-21.ll Testcase for PR2585. 2008-08-21 23:04:49 +00:00
vec_shuffle.ll
vec_splat-2.ll
vec_splat.ll
vec_ss_load_fold.ll
vec_zero_cse.ll
vec_zero-2.ll
vec_zero.ll
vector-intrinsics.ll
vector-rem.ll
vector-variable-idx.ll Allow SelectionDAG to create EXTRACT_VECTOR_ELT nodes with 2008-08-13 21:51:37 +00:00
vector.ll
vfcmp.ll Fix PR2620: Fix X86cmppd selection code so it expects operands to be v2f64. 2008-08-05 22:19:15 +00:00
vortex-bug.ll
weak.ll
x86-64-and-mask.ll
x86-64-arg.ll
x86-64-asm.ll
x86-64-dead-stack-adjust.ll
x86-64-frameaddr.ll The frame address on an x86-64 box needs to be offset by -8, not -4. 2008-07-11 07:18:52 +00:00
x86-64-gv-offset.ll
x86-64-mem.ll
x86-64-pic-1.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-2.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-3.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-4.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-5.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-6.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-7.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-8.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-9.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-10.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-pic-11.ll add support for PIC on linux x86-64 2008-06-09 09:52:31 +00:00
x86-64-ret0.ll
x86-64-shortint.ll
x86-64-sret-return.ll
x86-64-varargs.ll
xmm-r64.ll
xor_not.ll
xor-undef.ll
xorl.ll
zero-remat.ll
zext-inreg-0.ll Re-introduce the 8-bit subreg zext-inreg patterns for x86-32, 2008-08-06 18:27:21 +00:00
zext-inreg-1.ll Add an extra example that shouldn't get an and instruction. 2008-08-07 02:23:06 +00:00