llvm-6502/test/CodeGen/X86
Chris Lattner 5a09690446 Implement a signficant optimization for inline asm:
When choosing between constraints with multiple options,
like "ir", test to see if we can use the 'i' constraint and
go with that if possible.  This produces more optimal ASM in
all cases (sparing a register and an instruction to load it),
and fixes inline asm like this:

void test () {
  asm volatile (" %c0 %1 " : : "imr" (42), "imr"(14));
}

Previously we would dump "42" into a memory location (which
is ok for the 'm' constraint) which would cause a problem
because the 'c' modifier is not valid on memory operands.

Isn't it great how inline asm turns 'missed optimization'
into 'compile failed'??

Incidentally, this was the todo in 
PowerPC/2007-04-24-InlineAsm-I-Modifier.ll

Please do NOT pull this into Tak.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50315 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-27 00:37:18 +00:00
..
2002-12-23-LocalRAProblem.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2002-12-23-SubProblem.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-08-03-CallArgLiveRanges.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-08-23-DeadBlockTest.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2003-11-03-GlobalBool.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-12-Memcpy.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-13-FrameReturnAddress.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-14-InefficientStackPointer.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-02-22-Casts.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-03-30-Select-Max.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-04-09-SameValueCoalescing.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-04-13-FPCMOV-Crash.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-06-10-StackifierCrash.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2004-10-08-SelectSetCCFold.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
2005-01-17-CycleInDAG.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-02-14-IllegalAssembler.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-05-08-FPStackifierPHI.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-01-19-ISelFoldingBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-03-01-InstrSchedBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-03-02-InstrSchedBug.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-04-04-CrossBlockCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-27-ISelFoldingBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-01-SchedCausingSpills.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-02-InstrSched1.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-05-02-InstrSched2.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-05-08-CoalesceSubRegClass.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-08-InstrSched.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-11-InstrSched.ll Fix test, instruction count is valid only if stack is not realigned 2008-04-23 18:24:48 +00:00
2006-05-17-VectorArg.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-22-FPSetEQ.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-25-CycleInDAG.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-10-InlineAsmAConstraint.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-12-InlineAsmQConstraint.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-19-ATTAsm.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-20-InlineAsm.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-28-AsmPrint-Long-As-Pointer.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-31-SingleRegClass.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-08-07-CycleInDAG.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-08-16-CycleInDAG.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-08-21-ExtraMovInst.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-09-01-CycleInDAG.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-10-02-BoolRetCrash.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-10-07-ScalarSSEMiscompile.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-10-09-CycleInDAG.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-10-FindModifiedNodeSlotBug.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-12-CycleInDAG.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-10-13-CycleInDAG.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-10-19-SwitchUnnecessaryBranching.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-11-12-CSRetCC.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-11-17-IllegalMove.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-11-27-SelectLegalize.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-11-28-Memcpy.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2006-12-19-IntelSyntax.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2007-01-08-InstrSched.ll
2007-01-13-StackPtrIndex.ll
2007-01-29-InlineAsm-ir.ll
2007-02-04-OrAddrMode.ll
2007-02-19-LiveIntervalAssert.ll
2007-02-25-FastCCStack.ll
2007-03-01-SpillerCrash.ll
2007-03-15-GEP-Idx-Sink.ll
2007-03-16-InlineAsm.ll
2007-03-18-LiveIntervalAssert.ll
2007-03-24-InlineAsmMultiRegConstraint.ll
2007-03-24-InlineAsmPModifier.ll
2007-03-24-InlineAsmVectorOp.ll
2007-03-24-InlineAsmXConstraint.ll
2007-03-26-CoalescerBug.ll Avoid commuting a def MI in order to coalesce a copy instruction away if any use of the same val# is a copy instruction that has already been coalesced. 2008-03-26 19:03:01 +00:00
2007-04-08-InlineAsmCrash.ll
2007-04-11-InlineAsmVectorResult.ll
2007-04-17-LiveIntervalAssert.ll
2007-04-24-Huge-Stack.ll
2007-04-24-VectorCrash.ll
2007-04-25-MMX-PADDQ.ll Enable -coalescer-commute-instrs by default. 2008-02-26 20:40:22 +00:00
2007-04-27-InlineAsm-IntMemInput.ll
2007-05-05-VecCastExpand.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
2007-05-07-InvokeSRet.ll
2007-05-14-LiveIntervalAssert.ll
2007-05-15-maskmovq.ll
2007-05-17-ShuffleISelBug.ll
2007-06-04-tailmerge4.ll
2007-06-04-X86-64-CtorAsmBugs.ll
2007-06-05-LSR-Dominator.ll
2007-06-14-branchfold.ll Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away. 2008-04-10 02:32:10 +00:00
2007-06-15-IntToMMX.ll
2007-06-28-X86-64-isel.ll
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-07-25-EpilogueBug.ll Don't emit FP_REG_KILL into a block that just returns. Nothing 2008-03-10 23:34:12 +00:00
2007-08-01-LiveVariablesBug.ll
2007-08-09-IllegalX86-64Asm.ll
2007-08-10-SignExtSubreg.ll
2007-08-13-AppendingLinkage.ll
2007-08-13-SpillerReuse.ll
2007-09-03-X86-64-EhSelector.ll
2007-09-05-InvalidAsm.ll
2007-09-06-ExtWeakAliasee.ll
2007-09-17-ObjcFrameEH.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2007-09-18-ShuffleXformBug.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
2007-09-27-LDIntrinsics.ll
2007-10-04-AvoidEFLAGSCopy.ll
2007-10-05-3AddrConvert.ll
2007-10-12-CoalesceExtSubReg.ll
2007-10-12-SpillerUnfold1.ll
2007-10-12-SpillerUnfold2.ll
2007-10-14-CoalescerCrash.ll
2007-10-15-CoalescerCrash.ll
2007-10-16-CoalescerCrash.ll
2007-10-16-fp80_select.ll
2007-10-16-IllegalAsm.ll
2007-10-17-IllegalAsm.ll
2007-10-19-SpillerUnfold.ll
2007-10-28-inlineasm-q-modifier.ll
2007-10-29-ExtendSetCC.ll
2007-10-30-LSRCrash.ll
2007-10-31-extractelement-i64.ll
2007-11-01-ISelCrash.ll
2007-11-02-BadAsm.ll
2007-11-03-x86-64-q-constraint.ll
2007-11-04-LiveIntervalCrash.ll
2007-11-04-LiveVariablesBug.ll
2007-11-04-rip-immediate-constant.ll
2007-11-06-InstrSched.ll
2007-11-07-MulBy4.ll
2007-11-14-Coalescer-Bug.ll
2007-11-30-LoadFolding-Bug.ll
2007-11-30-TestLoadFolding.ll
2007-12-11-FoldImpDefSpill.ll
2007-12-16-BURRSchedCrash.ll
2007-12-18-LoadCSEBug.ll
2008-01-08-IllegalCMP.ll
2008-01-08-SchedulerCrash.ll Add CMP32mr and friends to the load-unfolding table. Among 2008-03-25 16:53:19 +00:00
2008-01-09-LongDoubleSin.ll
2008-01-16-FPStackifierAssert.ll
2008-01-16-InvalidDAGCombineXform.ll
2008-01-16-Trampoline.ll
2008-01-25-EmptyFunction.ll Add target triples to these so they don't fail on linux. 2008-01-29 06:26:07 +00:00
2008-02-05-ISelCrash.ll Fix PR1975: dag isel emitter produces patterns that isel wrong flag result. 2008-02-05 22:50:29 +00:00
2008-02-06-LoadFoldingBug.ll Added missing entries in X86 load / store folding tables. 2008-02-08 00:12:56 +00:00
2008-02-08-LoadFoldingBug.ll It's not always safe to fold movsd into xorpd, etc. Check the alignment of the load address first to make sure it's 16 byte aligned. 2008-02-08 21:20:40 +00:00
2008-02-14-BitMiscompile.ll Fix a miscompilation from Dan's recent apintification. 2008-02-14 18:48:56 +00:00
2008-02-18-TailMergingBug.ll this test requires sse2 2008-02-19 18:07:46 +00:00
2008-02-20-InlineAsmClobber.ll Treat clobber operands like early clobbers: if we have 2008-02-21 19:43:13 +00:00
2008-02-22-LocalRegAllocBug.ll Really. Why doesn't every arch support MMX? 2008-02-23 00:56:14 +00:00
2008-02-22-ReMatBug.ll Spiller now remove unused spill slots. 2008-02-27 03:04:06 +00:00
2008-02-25-InlineAsmBug.ll Fix PR2076. CodeGenPrepare now sinks address computation for inline asm memory 2008-02-26 02:42:37 +00:00
2008-02-25-X86-64-CoalescerBug.ll This is possible: 2008-02-26 08:03:41 +00:00
2008-02-26-AsmDirectMemOp.ll Fix for pr2093: direct operands aren't necessarily addresses, so don't 2008-02-26 18:37:49 +00:00
2008-02-27-DeadSlotElimBug.ll Fix a bug in dead spill slot elimination. 2008-02-27 19:57:11 +00:00
2008-02-27-PEICrash.ll Don't track max alignment during stack object allocations since they can be deleted later. Let PEI compute it. 2008-02-27 10:04:56 +00:00
2008-03-06-frem-fpstack.ll mark frem as expand for all legal fp types on x86, regardless of whether 2008-03-07 06:36:32 +00:00
2008-03-07-APIntBug.ll A test case I forgot to check in. 2008-03-13 06:42:46 +00:00
2008-03-10-RegAllocInfLoop.ll Experimental scheduler change to schedule / coalesce the copies added for function livein's. Take 2008-03-10-RegAllocInfLoop.ll, the schedule looks like this after these copies are inserted: 2008-03-12 22:19:41 +00:00
2008-03-12-ThreadLocalAlias.ll Testcase for PR2137 2008-03-11 22:43:42 +00:00
2008-03-13-TwoAddrPassCrash.ll New test case. 2008-03-13 08:05:02 +00:00
2008-03-14-SpillerCrash.ll Fix PR2138. Apparently any modification to a std::multimap (including remove entries for a different key) can invalidate multimap iterators. 2008-03-14 20:44:01 +00:00
2008-03-18-CoalescerBug.ll Fixed a coalescer bug caused by a typo. 2008-03-19 02:26:36 +00:00
2008-03-19-DAGCombinerBug.ll Fix this xform: (sra (shl X, m), result_size) -> (sign_extend (trunc (shl X, result_size - n - m))) 2008-03-20 02:18:41 +00:00
2008-03-23-DarwinAsmComments.ll Use ## for comment delimiter on darwin x86-32, so 2008-03-25 23:29:30 +00:00
2008-03-25-TwoAddrPassBug.ll Fix a memory bug: increment an iterator of a deleted machine instr. 2008-03-27 01:27:25 +00:00
2008-03-31-SpillerFoldingBug.ll It's not safe to fold a load from GV stub or constantpool into a two-address use. 2008-03-31 23:19:51 +00:00
2008-04-02-unnamedEH.ll Testcase for EH with functions whose names are stripped. 2008-04-02 20:16:41 +00:00
2008-04-08-CoalescerCrash.ll Missed a hasInterval check. 2008-04-09 01:30:15 +00:00
2008-04-09-BranchFolding.ll Teach branch folding pass about implicit_def instructions. Unfortunately we can't just eliminate them since register scavenger expects every register use to be defined. However, we can delete them when there are no intra-block uses. Carefully removing some implicit def's which enable more blocks to be optimized away. 2008-04-10 02:32:10 +00:00
2008-04-15-LiveVariableBug.ll Really test what's intended. 2008-04-16 18:21:55 +00:00
2008-04-16-CoalescerBug.ll Fix a sub-register indice propagation bug. 2008-04-17 00:06:42 +00:00
2008-04-16-ReMatBug.ll Don't forget about sub-register indices when rematting instructions. 2008-04-16 23:44:44 +00:00
2008-04-17-CoalescerBug.ll Be more careful with insert_subreg and extract_subreg where either source or destination operand has already been coalesced with another register that's defined by a insert_subreg or extract_subreg. 2008-04-17 07:58:04 +00:00
2008-04-24-MemCpyBug.ll Fix bug in x86 memcpy / memset lowering. If there are trailing bytes not handled by rep instructions, a new memcpy / memset is introduced for them. However, since source / destination addresses are already adjusted, their offsets should be zero. 2008-04-25 00:26:43 +00:00
2008-04-24-pblendw-fold-crash.ll Loosen up an assertion to allow intrinsics. I really have no 2008-04-25 05:13:01 +00:00
2008-04-26-Asm-Optimize-Imm.ll Implement a signficant optimization for inline asm: 2008-04-27 00:37:18 +00:00
aliases.ll Update testcase for recent aliases change 2008-03-11 21:42:20 +00:00
aligned-comm.ll
all-ones-vector.ll Fix this test on hosts that don't have sse2. 2008-03-12 20:40:51 +00:00
alloca-align-rounding.ll
and-or-fold.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
arg-cast.ll Fix test. 2008-02-14 01:32:53 +00:00
asm-block-labels.ll
asm-global-imm.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
bswap.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
byval2.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval3.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval4.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval5.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval6.ll Let each target decide byval alignment. For X86, it's 4-byte unless the aggregare contains SSE vector(s). For x86-64, it's max of 8 or alignment of the type. 2008-01-23 23:17:41 +00:00
byval7.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
byval.ll
call-push.ll
clz.ll
cmp0.ll
cmp1.ll
cmp-test.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
coalescer-commute1.ll Enable -coalescer-commute-instrs by default. 2008-02-26 20:40:22 +00:00
coalescer-commute2.ll Evan implemented these. 2008-03-02 18:05:14 +00:00
coalescer-commute3.ll Enable -coalescer-commute-instrs by default. 2008-02-26 20:40:22 +00:00
coalescer-commute4.ll Really fix the test. 2008-03-04 08:01:56 +00:00
coalescer-commute5.ll - Fix a subtle bug in RemoveCopyByCommutingDef. ALR is the live range where the source is defined; BLR is the live range which is defined by the copy. 2008-03-10 08:11:32 +00:00
commute-two-addr.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
compare_folding.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
compare-add.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
constant-pool-remat-0.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
copysign-zero.ll Add target-specific dag combines for FAND(x,0) and FOR(x,0). This allows 2008-01-25 05:46:26 +00:00
dagcombine-cse.ll Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
darwin-bzero.ll Speculatively micro-optimize memory-zeroing calls on Darwin 10. 2008-04-01 20:38:36 +00:00
darwin-no-dead-strip.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
dg.exp
div_const.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
divrem.ll
dollar-name.ll
dyn-stackalloc.ll
epilogue.ll
extend.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
extern_weak.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
extmul64.ll
extmul128.ll
extractelement-from-arg.ll
fabs.ll
fast-cc-callee-pops.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
fast-cc-merge-stack-adj.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
fast-cc-pass-in-regs.ll
fastcall-correct-mangling.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
field-extract-use-trunc.ll Fix X86's isTruncateFree to not claim that truncate to i1 is free. This fixes Bill's testcase that failed for r48491. 2008-03-19 08:30:06 +00:00
fildll.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
fold-and-shift.ll
fold-load.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
fold-mul-lohi.ll Don't mask the isel bug. 2008-02-12 19:11:29 +00:00
fp2sint.ll
fp_constant_op.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
fp_load_cast_fold.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
fp_load_fold.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
fp-immediate-shorten.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
fp-in-intregs.ll Implement some dag combines that allow doing fneg/fabs/fcopysign in integer 2008-01-27 17:42:27 +00:00
fp-stack-2results.ll Add support for calls that return two FP values in 2008-03-21 06:38:26 +00:00
fp-stack-compare.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
fp-stack-direct-ret.ll Significantly simplify and improve handling of FP function results on x86-32. 2008-01-24 08:07:48 +00:00
fp-stack-ret-conv.ll Significantly simplify and improve handling of FP function results on x86-32. 2008-01-24 08:07:48 +00:00
fp-stack-ret-store.ll
fp-stack-ret.ll
fp-stack-retcopy.ll
fsxor-alignment.ll
hidden-vis.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
i128-immediate.ll APIntify SelectionDAG's EXTRACT_ELEMENT code. 2008-03-24 16:38:05 +00:00
i128-mul.ll
i128-ret.ll
iabs.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
illegal-insert.ll
illegal-vector-args-return.ll
imp-def-copies.ll New test case. 2008-04-03 21:25:03 +00:00
imul-lea.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
inline-asm-fpstack.ll Implement basic support for the 'f' register class constraint. This basically 2008-03-11 19:50:13 +00:00
inline-asm-x-scalar.ll
inline-asm.ll
ins_subreg_coalesce-1.ll - More aggressively coalescing away copies whose source is defined by an implicit_def. 2008-04-09 20:57:25 +00:00
ins_subreg_coalesce-2.ll - More aggressively coalescing away copies whose source is defined by an implicit_def. 2008-04-09 20:57:25 +00:00
ins_subreg_coalesce-3.ll - More aggressively coalescing away copies whose source is defined by an implicit_def. 2008-04-09 20:57:25 +00:00
insertelement-copytoregs.ll
invalid-shift-immediate.ll Avoid aborting on invalid shift counts. 2008-02-26 18:50:50 +00:00
isel-sink.ll
isnan.ll
isnan.llx Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
ispositive.ll
jump_sign.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
ldzero.ll
lea-2.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
lea-3.ll
lea-recursion.ll
lea.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
lfence.ll llvm.memory.barrier, and impl for x86 and alpha 2008-02-16 01:24:58 +00:00
long-setcc.ll
longlong-deadload.ll
loop-hoist.ll Treat EntryToken nodes as "passive" so that they aren't added to the 2008-04-15 01:22:18 +00:00
loop-strength-reduce2.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
loop-strength-reduce3.ll
loop-strength-reduce4.ll
loop-strength-reduce5.ll
loop-strength-reduce6.ll
loop-strength-reduce.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
lsr-negative-stride.ll
memcpy.ll
memmove-0.ll
memmove-1.ll
memmove-2.ll
memmove-3.ll
memset64-on-x86-32.ll Recreate the size SDNode instead of reusing the old one in the x86 2008-04-16 01:32:32 +00:00
mfence.ll llvm.memory.barrier, and impl for x86 and alpha 2008-02-16 01:24:58 +00:00
mingw-alloca.ll Fix test becase ABI stack alignment dropped to 'normal' value 2008-04-23 18:25:16 +00:00
mmx-arg-passing2.ll Update tests. 2008-04-25 20:13:47 +00:00
mmx-arg-passing.ll Update tests. 2008-04-25 20:13:47 +00:00
mmx-arith.ll
mmx-bitcast-to-i64.ll Add movd instructions to move from MMX registers 2008-04-15 23:55:07 +00:00
mmx-copy-gprs.ll copy mmx values from/to memory with GPRs on x86-32 2008-02-22 05:18:04 +00:00
mmx-emms.ll
mmx-insert-element.ll
mmx-punpckhdq.ll
mmx-shift.ll Undo 48570. Correctly match mmx shift instructions with an immediate operand. 2008-03-21 00:40:09 +00:00
mmx-shuffle.ll
mul64.ll
mul128.ll
mul-legalize.ll Fix mul expansion to check the correct number of bits for 2008-03-10 20:42:19 +00:00
mul-remat.ll Don't mark scalar integer multiplication as Expand on x86, since x86 2008-02-18 17:55:26 +00:00
mul-shift-reassoc.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
multiple-return-values-cross-block.ll Handle getresult instructions in different basic blocks 2008-03-21 21:01:32 +00:00
multiple-return-values.ll Make this test x86-specific for now; targets that don't use 2008-03-12 00:25:14 +00:00
nancvt.ll
negative_zero.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
negative-sin.ll
nofence.ll llvm.memory.barrier, and impl for x86 and alpha 2008-02-16 01:24:58 +00:00
opt-ext-uses.ll
or-branch.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
overlap-shift.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
packed_struct.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
peep-vector-extract-concat.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
peep-vector-extract-insert.ll
pic_jumptable.ll Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode. 2008-02-07 08:53:49 +00:00
pic-1.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-2.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-3.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-4.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-5.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-6.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-cpool.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-jtbl.ll rename tests to avoid a test- prefix when they aren't related to the test instruction. 2008-02-19 17:33:52 +00:00
pic-load-remat.ll Update test. 2008-02-23 02:57:25 +00:00
postalloc-coalescing.ll
pr1462.ll APIntify SelectionDAG's EXTRACT_ELEMENT code. 2008-03-24 16:38:05 +00:00
pr1489.ll
pr1505.ll take these with a pr # 2008-01-24 06:35:44 +00:00
pr1505b.ll reduce this testcase more 2008-03-09 06:57:21 +00:00
pr2177.ll Fix a tokenfactor node to use the load chain rather than the 2008-03-28 23:45:16 +00:00
pr2182.ll Fix a DAGCombiner optimization to respect volatile qualification. 2008-03-31 20:32:52 +00:00
prefetch.ll There is no "-mattr=+sse1" flag; fix test for non-x86 hosts. 2008-03-10 17:13:37 +00:00
rdtsc.ll
regpressure.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
rem.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
rotate2.ll ensure we continue matching x86-64 rotates. 2008-03-17 01:35:03 +00:00
rotate.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
scalar_sse_minmax.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
scalar-min-max-fill-operand.ll
select-zero-one.ll
select.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
setuge.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
sext-load.ll
sext-select.ll Use the correct value for InSignBit. 2008-03-11 21:29:43 +00:00
sfence.ll llvm.memory.barrier, and impl for x86 and alpha 2008-02-16 01:24:58 +00:00
shift-coalesce.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
shift-codegen.ll
shift-combine.ll
shift-double.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
shift-folding.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
shift-one.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
shl_elim.ll
shrink-fp-const1.ll Add a target lowering hook to control whether it's worthwhile to compress fp constant. 2008-03-05 01:30:59 +00:00
shrink-fp-const2.ll Generalize FP constant shrinking optimization to apply to any vt 2008-03-05 06:48:13 +00:00
sincos.ll
small-byval-memcpy.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
split-select.ll
split-vector-rem.ll
sse41-extractps-bitcast-0.ll Add support for the form of the SSE41 extractps instruction that 2008-04-16 02:32:24 +00:00
sse41-extractps-bitcast-1.ll Add support for the form of the SSE41 extractps instruction that 2008-04-16 02:32:24 +00:00
sse_reload_fold.ll
sse-align-0.ll
sse-align-1.ll
sse-align-2.ll
sse-align-3.ll
sse-align-4.ll
sse-align-5.ll
sse-align-6.ll
sse-align-7.ll
sse-align-8.ll
sse-align-9.ll
sse-align-10.ll
sse-align-11.ll
sse-align-12.ll
sse-fcopysign.ll
sse-load-ret.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
sse-varargs.ll SSE varargs arguments are passed in memory. 2008-01-22 23:26:53 +00:00
stack-align.ll Infer alignment of loads and increase their alignment when we can tell they are 2008-01-26 19:45:50 +00:00
store_op_load_fold2.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
store_op_load_fold.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
store-fp-constant.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
store-global-address.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
storetrunc-fp.ll
stride-nine-with-base-reg.ll Don't mask the isel bug. 2008-02-12 19:11:29 +00:00
stride-reuse.ll Don't mask the isel bug. 2008-02-12 19:11:29 +00:00
tailcall1.ll
tailcallbyval64.ll This patch corrects the handling of byval arguments for tailcall 2008-04-12 18:11:06 +00:00
tailcallbyval.ll This patch corrects the handling of byval arguments for tailcall 2008-04-12 18:11:06 +00:00
tailcallpic1.ll
tailcallpic2.ll
test-nofold.ll Set to default: x86 no longer fold and into test if it has more than one use. 2008-02-28 07:46:38 +00:00
tls1.ll
tls2.ll
trap.ll
trunc-to-bool.ll
twoaddr-pass-sink.ll TwoAddressInstructionPass enhancement. After it converts a two address instruction into a 3-address one, sink it past the instruction that kills the read-mod-write register if its definition is used past the kill. This reduces the number of live register by one. 2008-03-13 06:37:55 +00:00
urem-i8-constant.ll
v4f32-immediate.ll
variable-sized-darwin-bzero.ll Drop ISD::MEMSET, ISD::MEMMOVE, and ISD::MEMCPY, which are not Legal 2008-04-12 04:36:06 +00:00
vec_add.ll
vec_align.ll New test to verify that "merging 4 loads into a vec load" continues to work and 2008-01-26 20:06:45 +00:00
vec_call.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_clear.ll Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
vec_ctbits.ll
vec_extract-sse4.ll - SSE4.1 extractfps extracts a f32 into a gr32 register. Very useful! Not. Fix the instruction specification and teaches lowering code to use it only when the only use is a store instruction. 2008-03-24 21:52:23 +00:00
vec_extract.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_fneg.ll
vec_ins_extract.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_insert_4.ll Feedback from chris 2008-04-25 21:47:35 +00:00
vec_insert-2.ll
vec_insert-3.ll
vec_insert.ll
vec_logical.ll
vec_return.ll
vec_select.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_set-2.ll
vec_set-3.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_set-4.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_set-5.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_set-6.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_set-7.ll
vec_set-8.ll
vec_set-9.ll make this test harder 2008-03-09 00:30:06 +00:00
vec_set-A.ll These tests don't work unless SSE2 is active. 2008-03-10 17:33:57 +00:00
vec_set-B.ll These tests don't work unless SSE2 is active. 2008-03-10 17:33:57 +00:00
vec_set.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shift2.ll - When DAG combiner is folding a bit convert into a BUILD_VECTOR, it should check if it's essentially a SCALAR_TO_VECTOR. Avoid turning (v8i16) <10, u, u, u> to <10, 0, u, u, u, u, u, u>. Instead, simply convert it to a SCALAR_TO_VECTOR of the proper type. 2008-02-18 23:04:32 +00:00
vec_shift.ll
vec_shuffle-2.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-3.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-4.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-5.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_shuffle-6.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-7.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-8.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-9.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-10.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_shuffle-11.ll Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
vec_shuffle-12.ll
vec_shuffle-13.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_shuffle-14.ll
vec_shuffle-15.ll
vec_shuffle-16.ll Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
vec_shuffle-17.ll A better fix for my previous patch, MOVZQI2PQIrr just requires SSE2. 2008-04-20 05:52:46 +00:00
vec_shuffle.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_splat-2.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_splat.ll Favors pshufd over shufps when shuffling elements from one vector. pshufd is faster than shufps. 2008-04-05 00:30:36 +00:00
vec_ss_load_fold.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vec_zero_cse.ll
vec_zero-2.ll Avoid creating BUILD_VECTOR of all zero elements of "non-normalized" type (e.g. v8i16 on x86) after legalizer. Instruction selection does not expect to see them. In all likelihood this can only be an issue in a bugpoint reduced test case. 2008-03-10 07:19:13 +00:00
vec_zero.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
vector-intrinsics.ll
vector-rem.ll
vector.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
weak.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
x86-64-and-mask.ll Compile x86-64-and-mask.ll into: 2008-02-27 05:47:54 +00:00
x86-64-arg.ll
x86-64-asm.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
x86-64-dead-stack-adjust.ll actually run llc, thanks Dan :) 2008-02-27 17:46:54 +00:00
x86-64-gv-offset.ll Fix a x86-64 codegen deficiency. Allow gv + offset when using rip addressing mode. 2008-02-07 08:53:49 +00:00
x86-64-mem.ll Add -disable-required-unwind-tables to tests 2008-04-08 00:14:17 +00:00
x86-64-ret0.ll Fix live variables issues: 2008-03-19 00:52:20 +00:00
x86-64-shortint.ll
x86-64-sret-return.ll Implement an x86-64 ABI detail of passing structs by hidden first 2008-04-21 23:59:07 +00:00
x86-64-varargs.ll Fix a x86-64 isel lowering bug that's been around forever. A x86-64 varargs function implicitly reads X86::AL, don't clobber it! 2008-03-18 23:36:35 +00:00
xmm-r64.ll Remove llvm-upgrade and update tests. 2008-02-21 07:42:26 +00:00
xor_not.ll fix this testcase to pass and remove a duplicate instance of itself. 2008-04-06 21:39:17 +00:00
xor-undef.ll Handle a special case xor undef, undef -> 0. Technically this should be transformed to undef. But this is such a common idiom (misuse) we are going to handle it. 2008-03-25 20:08:07 +00:00
xorl.ll It might be nice to have this run as x86 on non-x86 platforms... 2008-03-18 22:38:22 +00:00
zero-remat.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00