llvm-6502/test/CodeGen/ARM
Evan Cheng d2ca813549 Correct some load / store instruction itinerary mistakes:
1. Cortex-A8 load / store multiplies can only issue on ALU0.
2. Eliminate A8_Issue, A8_LSPipe will correctly limit the load / store issues.
3. Correctly model all vld1 and vld2 variants.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116134 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-09 01:03:04 +00:00
..
2006-11-10-CycleInDAG.ll
2007-01-19-InfiniteLoop.ll Teach the (non-MC) instruction printer to use the cannonical names for push/pop, 2010-09-17 22:36:38 +00:00
2007-03-07-CombinerCrash.ll
2007-03-13-InstrSched.ll
2007-03-21-JoinIntervalsCrash.ll
2007-03-26-RegScavengerAssert.ll
2007-03-27-RegScavengerAssert.ll
2007-03-30-RegScavengerAssert.ll
2007-04-02-RegScavengerAssert.ll
2007-04-03-PEIBug.ll
2007-04-03-UndefinedSymbol.ll
2007-04-30-CombinerCrash.ll
2007-05-03-BadPostIndexedLd.ll
2007-05-07-jumptoentry.ll
2007-05-07-tailmerge-1.ll
2007-05-09-tailmerge-2.ll
2007-05-14-InlineAsmCstCrash.ll
2007-05-14-RegScavengerAssert.ll
2007-05-22-tailmerge-3.ll
2007-05-23-BadPreIndexedStore.ll
2007-05-31-RegScavengerInfiniteLoop.ll
2007-08-15-ReuseBug.ll
2008-02-04-LocalRegAllocBug.ll
2008-02-29-RegAllocLocal.ll
2008-03-05-SxtInRegBug.ll
2008-03-07-RegScavengerAssert.ll
2008-04-04-ScavengerAssert.ll
2008-04-10-ScavengerAssert.ll
2008-04-11-PHIofImpDef.ll
2008-05-19-LiveIntervalsBug.ll
2008-05-19-ScavengerAssert.ll
2008-07-17-Fdiv.ll
2008-07-24-CodeGenPrepCrash.ll
2008-08-07-AsmPrintBug.ll
2008-09-14-CoalescerBug.ll
2008-09-17-CoalescerBug.ll
2008-11-18-ScavengerAssert.ll
2009-02-16-SpillerBug.ll
2009-02-22-SoftenFloatVaArg.ll
2009-02-27-SpillerBug.ll
2009-03-07-SpillerBug.ll
2009-03-09-AddrModeBug.ll
2009-04-06-AsmModifier.ll
2009-04-08-AggregateAddr.ll
2009-04-08-FloatUndef.ll
2009-04-08-FREM.ll
2009-04-09-RegScavengerAsm.ll
2009-05-05-DAGCombineBug.ll
2009-05-07-RegAllocLocal.ll
2009-05-11-CodePlacementCrash.ll
2009-05-18-InlineAsmMem.ll
2009-06-02-ISelCrash.ll
2009-06-04-MissingLiveIn.ll
2009-06-12-RegScavengerAssert.ll
2009-06-15-RegScavengerAssert.ll
2009-06-19-RegScavengerAssert.ll
2009-06-22-CoalescerBug.ll
2009-06-30-RegScavengerAssert2.ll
2009-06-30-RegScavengerAssert3.ll
2009-06-30-RegScavengerAssert4.ll
2009-06-30-RegScavengerAssert5.ll
2009-06-30-RegScavengerAssert.ll
2009-07-01-CommuteBug.ll
2009-07-09-asm-p-constraint.ll
2009-07-18-RewriterBug.ll
2009-07-22-ScavengerAssert.ll
2009-07-22-SchedulerAssert.ll
2009-07-29-VFP3Registers.ll
2009-08-02-RegScavengerAssert-Neon.ll
2009-08-04-RegScavengerAssert-2.ll
2009-08-04-RegScavengerAssert.ll
2009-08-15-RegScavenger-EarlyClobber.ll
2009-08-15-RegScavengerAssert.ll
2009-08-21-PostRAKill2.ll
2009-08-21-PostRAKill3.ll
2009-08-21-PostRAKill.ll
2009-08-23-linkerprivate.ll
2009-08-26-ScalarToVector.ll
2009-08-27-ScalarToVector.ll
2009-08-29-ExtractEltf32.ll
2009-08-29-TooLongSplat.ll
2009-08-31-LSDA-Name.ll
2009-08-31-TwoRegShuffle.ll
2009-09-09-AllOnes.ll
2009-09-09-fpcmp-ole.ll
2009-09-10-postdec.ll
2009-09-13-InvalidSubreg.ll
2009-09-13-InvalidSuperReg.ll
2009-09-20-LiveIntervalsBug.ll
2009-09-21-LiveVariablesBug.ll
2009-09-22-LiveVariablesBug.ll
2009-09-23-LiveVariablesBug.ll
2009-09-24-spill-align.ll
2009-09-27-CoalescerBug.ll
2009-09-28-LdStOptiBug.ll User proper libcall names & condcodes while compiling for ARM EABI. 2010-09-28 21:39:26 +00:00
2009-10-02-NEONSubregsBug.ll
2009-10-21-InvalidFNeg.ll
2009-10-27-double-align.ll
2009-10-30.ll
2009-11-01-NeonMoves.ll
2009-11-02-NegativeLane.ll
2009-11-07-SubRegAsmPrinting.ll
2009-11-13-CoalescerCrash.ll
2009-11-13-ScavengerAssert2.ll
2009-11-13-ScavengerAssert.ll
2009-11-13-VRRewriterCrash.ll
2009-11-30-LiveVariablesBug.ll
2009-12-02-vtrn-undef.ll
2010-03-04-eabi-fp-spill.ll
2010-03-04-stm-undef-addr.ll
2010-03-18-ldm-rtrn.ll
2010-04-07-DbgValueOtherTargets.ll
2010-04-09-NeonSelect.ll
2010-04-13-v2f64SplitArg.ll
2010-04-14-SplitVector.ll
2010-04-15-ScavengerDebugValue.ll
2010-05-14-IllegalType.ll
2010-05-17-DAGCombineAssert.ll
2010-05-17-FastAllocCrash.ll
2010-05-18-LocalAllocCrash.ll
2010-05-18-PostIndexBug.ll
2010-05-19-Shuffles.ll
2010-05-20-NEONSpillCrash.ll
2010-05-21-BuildVector.ll
2010-06-11-vmovdrr-bitcast.ll
2010-06-21-LdStMultipleBug.ll
2010-06-21-nondarwin-tc.ll
2010-06-25-Thumb2ITInvalidIterator.ll
2010-06-28-DAGCombineUndef.ll
2010-06-29-PartialRedefFastAlloc.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
2010-06-29-SubregImpDefs.ll
2010-07-26-GlobalMerge.ll
2010-08-04-EHCrash.ll
2010-09-17-vmovrrd-combine.ll Add target-specific DAG combiner for BUILD_VECTOR and VMOVRRD. An i64 2010-09-17 22:59:05 +00:00
2010-09-21-OptCmpBug.ll OptimizeCompareInstr should avoid iterating pass the beginning of the MBB when the 'and' instruction is after the comparison. 2010-09-21 23:49:07 +00:00
2010-09-29-mc-asm-header-test.ll Tiny patch for proof-of-concept cleanup of ARMAsmPrinter::EmitStartOfAsmFile() 2010-09-30 02:45:56 +00:00
addrmode.ll
aliases.ll
align.ll Increase ARM APCS preferred alignment for i64 and f64 from 32 bits to 64 bits. 2010-09-29 17:54:10 +00:00
alloca.ll
argaddr.ll
arguments2.ll
arguments3.ll
arguments4.ll
arguments5.ll
arguments6.ll
arguments7.ll
arguments8.ll
arguments_f64_backfill.ll
arguments-nosplit-double.ll
arguments-nosplit-i64.ll
arguments.ll - Add TargetInstrInfo::getOperandLatency() to compute operand latencies. This 2010-10-06 06:27:31 +00:00
arm-and-tst-peephole.ll do not compare actual branch labels; this may fix llvm-gcc-x86_64-darwin10-cross-mingw32 buildbot too 2010-09-29 10:45:43 +00:00
arm-asm.ll
arm-frameaddr.ll
arm-negative-stride.ll
arm-returnaddr.ll
armv4.ll
bfc.ll
bfi.ll Update tests to handle MC-inst instruction printing of shift operations. The 2010-09-17 21:58:46 +00:00
bfx.ll
bic.ll
bits.ll FileCheck-ize 2010-09-17 21:46:16 +00:00
bx_fold.ll
call_nolink.ll
call-tc.ll
call.ll
carry.ll
clz.ll
code-placement.ll Explicitly disable CGP critical edge splitting for this test so it won't break 2010-09-27 18:43:43 +00:00
compare-call.ll
constants.ll tweak test to check instructions rather than relying on the comment string 2010-09-17 20:17:41 +00:00
crash-O0.ll
crash.ll Simplify test and move into a generic "crash" ll file. 2010-10-09 00:29:04 +00:00
cse-libcalls.ll
ctors_dtors.ll
ctz.ll
dg.exp
div.ll
dyn-stackalloc.ll
extloadi1.ll
fabss.ll
fadds.ll
fast-isel.ll Re-apply r113679, which was reverted in r113720, which added a paid of new instcombine transforms 2010-09-13 17:59:27 +00:00
fcopysign.ll
fdivs.ll
fixunsdfdi.ll
flag-crash.ll
fmacs.ll
fmdrr-fmrrd.ll
fmscs.ll
fmuls.ll
fnegs.ll
fnmacs.ll
fnmscs.ll
fnmul.ll
fnmuls.ll
formal.ll
fp16.ll
fp_convert.ll
fp.ll tweak test to check instructions rather than relying on the comment string 2010-09-17 20:21:03 +00:00
fparith.ll
fpcmp_ueq.ll
fpcmp-opt.ll
fpcmp.ll
fpconsts.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
fpconv.ll
fpmem.ll
fpow.ll
fpowi.ll
fptoint.ll
fsubs.ll
globals.ll
hardfloat_neon.ll
hello.ll
hidden-vis-2.ll
hidden-vis-3.ll
hidden-vis.ll
iabs.ll
ifcvt1.ll
ifcvt2.ll
ifcvt3.ll
ifcvt4.ll
ifcvt5.ll
ifcvt6.ll
ifcvt7.ll
ifcvt8.ll
ifcvt9.ll
ifcvt10.ll Add a subtarget hook for reporting the misprediction penalty. Use this to provide more precise 2010-09-28 21:57:50 +00:00
illegal-vector-bitcast.ll
imm.ll
indirectbr.ll
inlineasm2.ll
inlineasm3.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
inlineasm-imm-arm.ll
inlineasm.ll
insn-sched1.ll
ispositive.ll Update tests to handle MC-inst instruction printing of shift operations. The 2010-09-17 21:58:46 +00:00
large-stack.ll
ldm.ll
ldr_ext.ll
ldr_frame.ll
ldr_post.ll
ldr_pre.ll
ldr.ll
ldrd.ll
load.ll
long_shift.ll Update tests to handle MC-inst instruction printing of shift operations. The 2010-09-17 21:58:46 +00:00
long-setcc.ll
long.ll tweak test to check instructions rather than relying on the comment string 2010-09-17 20:27:26 +00:00
lsr-code-insertion.ll Simplify ARM callee-saved register handling by removing the distinction 2010-09-20 19:32:20 +00:00
lsr-on-unrolled-loops.ll Try again to disable critical edge splitting in CodeGenPrepare. 2010-09-30 20:51:52 +00:00
lsr-scale-addr-mode.ll
machine-cse-cmp.ll
mem.ll
memcpy-inline.ll
memfunc.ll
mls.ll
movt-movw-global.ll
movt.ll
mul_const.ll Update tests to handle MC-inst instruction printing of shift operations. The 2010-09-17 21:58:46 +00:00
mul.ll
mulhi.ll
mvn.ll
neon_arith1.ll
neon_ld1.ll
neon_ld2.ll
neon_minmax.ll
pack.ll
pr3502.ll
private.ll
reg_sequence.ll Correct some load / store instruction itinerary mistakes: 2010-10-09 01:03:04 +00:00
remat.ll
ret0.ll
ret_arg1.ll
ret_arg2.ll
ret_arg3.ll
ret_arg4.ll
ret_arg5.ll
ret_f32_arg2.ll
ret_f32_arg5.ll
ret_f64_arg2.ll
ret_f64_arg_reg_split.ll
ret_f64_arg_split.ll
ret_f64_arg_stack.ll
ret_i64_arg2.ll
ret_i64_arg3.ll
ret_i64_arg_split.ll
ret_i128_arg2.ll
ret_void.ll
rev.ll
sbfx.ll
section.ll
select_xform.ll
select-imm.ll Allow use of the 16-bit literal move instruction in CMOVs for ARM mode. 2010-10-07 00:42:42 +00:00
select.ll - Add TargetInstrInfo::getOperandLatency() to compute operand latencies. This 2010-10-06 06:27:31 +00:00
shifter_operand.ll
smul.ll
spill-q.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
stack-frame.ll
stm.ll Teach the (non-MC) instruction printer to use the cannonical names for push/pop, 2010-09-17 22:36:38 +00:00
str_post.ll
str_pre-2.ll
str_pre.ll
str_trunc.ll
sub.ll
sxt_rot.ll
t2-imm.ll
tail-opts.ll
thread_pointer.ll
tls1.ll
tls2.ll
tls3.ll
trap.ll
trunc_ldr.ll
truncstore-dag-combine.ll
tst_teq.ll
uint64tof64.ll
unaligned_load_store.ll Add a command line option "-arm-strict-align" to disallow unaligned memory 2010-09-28 04:09:35 +00:00
unord.ll
uxt_rot.ll
uxtb.ll
va_arg.ll
vaba.ll
vabd.ll
vabs.ll
vadd.ll
vargs_align.ll
vargs.ll
vbits.ll
vbsl.ll
vceq.ll
vcge.ll
vcgt.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vcnt.ll
vcombine.ll
vcvt.ll
vdup.ll
vext.ll
vfcmp.ll
vfp.ll
vget_lane.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vhadd.ll
vhsub.ll
vicmp.ll
vld1.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vld2.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vld3.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vld4.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vldlane.ll
vminmax.ll
vmla.ll
vmls.ll
vmov.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vmul.ll
vneg.ll
vpadal.ll
vpadd.ll
vpminmax.ll
vqadd.ll
vqdmul.ll
vqshl.ll
vqshrn.ll
vqsub.ll
vrec.ll
vrev.ll
vshift.ll
vshiftins.ll
vshl.ll
vshll.ll
vshrn.ll
vsra.ll
vst1.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vst2.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vst3.ll Set alignment operand for NEON VST instructions. 2010-09-23 23:42:37 +00:00
vst4.ll Change register allocation order for ARM VFP and NEON registers to put the 2010-10-08 06:15:13 +00:00
vstlane.ll
vsub.ll
vtbl.ll
vtrn.ll
vuzp.ll
vzip.ll
weak2.ll
weak.ll