llvm-6502/test/CodeGen/PowerPC
Roman Divacky 0c9b559bfd Fix wrong usages of CTR/MCTR where CTR8/MCTR8 was meant.
- Check for MTCTR8 in addition to MTCTR when looking up a hazard.

- When lowering an indirect call use CTR8 when targeting 64bit.

- Introduce BCTR8 that uses CTR8 and use it on 64bit when expanding ISD::BRIND.

The last change fixes PR8487. With those changes, we are able to compile a
running "ls" and "sh" on FreeBSD/PowerPC64.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@132552 91177308-0d34-0410-b5e6-96231b3b80d8
2011-06-03 15:47:49 +00:00
..
2004-11-29-ShrCrash.ll
2004-11-30-shift-crash.ll
2004-11-30-shr-var-crash.ll
2004-12-12-ZeroSizeCommon.ll
2005-01-14-SetSelectCrash.ll
2005-01-14-UndefLong.ll
2005-08-12-rlwimi-crash.ll
2005-09-02-LegalizeDuplicatesCalls.ll
2005-10-08-ArithmeticRotate.ll
2005-11-30-vastart-crash.ll
2006-01-11-darwin-fp-argument.ll
2006-01-20-ShiftPartsCrash.ll
2006-04-01-FloatDoubleExtend.ll
2006-04-05-splat-ish.ll
2006-04-19-vmaddfp-crash.ll
2006-05-12-rlwimi-crash.ll
2006-07-07-ComputeMaskedBits.ll
2006-07-19-stwbrx-crash.ll
2006-08-11-RetVector.ll
2006-08-15-SelectionCrash.ll
2006-09-28-shift_64.ll
2006-10-11-combiner-aa-regression.ll
2006-10-13-Miscompile.ll
2006-10-17-brcc-miscompile.ll
2006-10-17-ppc64-alloca.ll
2006-11-10-DAGCombineMiscompile.ll
2006-11-29-AltivecFPSplat.ll
2006-12-07-LargeAlloca.ll
2006-12-07-SelectCrash.ll
2007-01-04-ArgExtension.ll
2007-01-15-AsmDialect.ll
2007-01-29-lbrx-asm.ll
2007-01-31-InlineAsmAddrMode.ll
2007-02-16-AlignPacked.ll
2007-02-16-InlineAsmNConstraint.ll
2007-02-23-lr-saved-twice.ll
2007-03-24-cntlzd.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
2007-03-30-SpillerCrash.ll
2007-04-24-InlineAsm-I-Modifier.ll
2007-04-30-InlineAsmEarlyClobber.ll
2007-05-03-InlineAsm-S-Constraint.ll
2007-05-14-InlineAsmSelectCrash.ll
2007-05-22-tailmerge-3.ll
2007-05-30-dagcombine-miscomp.ll
2007-06-28-BCCISelBug.ll
2007-08-04-CoalescerAssert.ll
2007-09-04-AltivecDST.ll
2007-09-07-LoadStoreIdxForms.ll
2007-09-08-unaligned.ll
2007-09-11-RegCoalescerAssert.ll
2007-09-12-LiveIntervalsAssert.ll
2007-10-16-InlineAsmFrameOffset.ll
2007-10-18-PtrArithmetic.ll
2007-10-21-LocalRegAllocAssert2.ll
2007-10-21-LocalRegAllocAssert.ll
2007-11-04-CoalescerCrash.ll
2007-11-16-landingpad-split.ll
2007-11-19-VectorSplitting.ll
2008-02-05-LiveIntervalsAssert.ll
2008-02-09-LocalRegAllocAssert.ll
2008-03-05-RegScavengerAssert.ll
2008-03-17-RegScavengerCrash.ll
2008-03-18-RegScavengerAssert.ll
2008-03-24-AddressRegImm.ll
2008-03-24-CoalescerBug.ll
2008-03-26-CoalescerBug.ll
2008-04-10-LiveIntervalCrash.ll
2008-04-16-CoalescerBug.ll
2008-04-23-CoalescerCrash.ll
2008-05-01-ppc_fp128.ll
2008-06-19-LegalizerCrash.ll
2008-06-21-F128LoadStore.ll
2008-06-23-LiveVariablesCrash.ll
2008-07-10-SplatMiscompile.ll
2008-07-15-Bswap.ll
2008-07-15-Fabs.ll
2008-07-15-SignExtendInreg.ll
2008-07-17-Fneg.ll
2008-07-24-PPC64-CCBug.ll
2008-09-12-CoalescerBug.ll
2008-10-17-AsmMatchingOperands.ll
2008-10-28-f128-i32.ll
2008-10-28-UnprocessedNode.ll
2008-10-30-IllegalShift.ll
2008-10-31-PPCF128Libcalls.ll
2008-12-02-LegalizeTypeAssert.ll
2008-12-12-EH.ll Add 130690 back. 2011-05-02 15:58:16 +00:00
2009-01-16-DeclareISelBug.ll
2009-03-17-LSRBug.ll
2009-05-28-LegalizeBRCC.ll
2009-07-16-InlineAsm-M-Operand.ll
2009-08-17-inline-asm-addr-mode-breakage.ll
2009-08-23-linkerprivate.ll Implement the "linker_private_weak" linkage type. This will be used for 2010-07-01 21:55:59 +00:00
2009-09-18-carrybit.ll
2009-11-15-ProcImpDefsBug.ll
2009-11-15-ReMatBug.ll
2009-11-25-ImpDefBug.ll
2010-02-04-EmptyGlobal.ll
2010-02-12-saveCR.ll
2010-03-09-indirect-call.ll Explicitly request -join-physregs for some tests that depend on it. 2011-05-04 19:01:59 +00:00
2010-04-01-MachineCSEBug.ll
2010-04-07-DbgValueOtherTargets.ll If dbg_declare() or dbg_value() is not lowered by isel then emit DEBUG message instead of creating DBG_VALUE for undefined value in reg0. 2010-12-06 22:39:26 +00:00
2010-05-03-retaddr1.ll These tests no longer require linear scan because reserved register coalescing is now universal. 2011-04-05 21:40:41 +00:00
2010-10-11-Fast-Varargs.ll PowerPC varargs functions store live-in registers on the stack. Make sure we use 2010-10-11 20:43:09 +00:00
2010-12-18-PPCStackRefs.ll Restore the behavior of frame lowering before my refactoring. 2010-12-18 19:53:14 +00:00
addc.ll
addi-reassoc.ll
align.ll the latest assembler that runs on powerpc 10.4 machines doesn't 2010-09-27 06:44:54 +00:00
and_add.ll
and_sext.ll
and_sra.ll
and-branch.ll
and-elim.ll
and-imm.ll
atomic-1.ll
atomic-2.ll
Atomics-32.ll
Atomics-64.ll Disable the PowerPC/Atomics-64 test. 2011-04-04 17:57:26 +00:00
available-externally.ll
big-endian-actual-args.ll
big-endian-call-result.ll
big-endian-formal-args.ll FileCheckize and break dependence on coalescing order. 2011-05-04 19:02:01 +00:00
branch-opt.ll
bswap-load-store.ll
buildvec_canonicalize.ll
calls.ll
cmp-cmp.ll
compare-duplicate.ll
compare-simm.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
constants.ll
cr_spilling.ll
cttz.ll
darwin-labels.ll
delete-node.ll
dg.exp
div-2.ll
empty-functions.ll Consider this function: 2010-07-16 22:51:10 +00:00
eqv-andc-orc-nor.ll
extsh.ll
fabs.ll
fma.ll
fnabs.ll
fneg.ll
fold-li.ll
fp_to_uint.ll
fp-branch.ll
fp-int-fp.ll
fpcopy.ll
Frames-alloca.ll
Frames-large.ll
Frames-leaf.ll
Frames-small.ll Fix mistyped CHECK lines. 2011-03-09 22:07:31 +00:00
frounds.ll
fsqrt.ll
hello.ll
hidden-vis-2.ll
hidden-vis.ll
i64_fp.ll
i128-and-beyond.ll
iabs.ll
illegal-element-type.ll
indirectbr.ll Fix wrong usages of CTR/MCTR where CTR8/MCTR8 was meant. 2011-06-03 15:47:49 +00:00
inlineasm-copy.ll
int-fp-conv-0.ll
int-fp-conv-1.ll
invalid-memcpy.ll
inverted-bool-compares.ll
ispositive.ll
itofp128.ll
LargeAbsoluteAddr.ll
lha.ll
load-constant-addr.ll
long-compare.ll
longdbl-truncate.ll
lsr-postinc-pos.ll
mask64.ll
mem_update.ll
mem-rr-addr-mode.ll
mul-neg-power-2.ll
mul-with-overflow.ll
mulhs.ll Add r130623 back now that ELF has been fixed to work with -fno-dwarf2-cfi-asm. 2011-05-01 15:44:13 +00:00
mult-alt-generic-powerpc64.ll Inline asm mult-alt constraint tests. 2010-11-02 23:01:44 +00:00
mult-alt-generic-powerpc.ll Inline asm mult-alt constraint tests. 2010-11-02 23:01:44 +00:00
multiple-return-values.ll
neg.ll
no-dead-strip.ll
or-addressing-mode.ll
ppc-prologue.ll Add 130690 back. 2011-05-02 15:58:16 +00:00
ppcf128-1-opt.ll
ppcf128-1.ll
ppcf128-2.ll
ppcf128-3.ll
ppcf128-4.ll
pr3711_widen_bit.ll
private.ll
reg-coalesce-simple.ll
retaddr.ll
return-val-i128.ll
rlwimi2.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
rlwimi3.ll
rlwimi-commute.ll
rlwimi-keep-rsh.ll
rlwimi.ll
rlwinm2.ll
rlwinm.ll
rotl-2.ll
rotl-64.ll
rotl.ll
sections.ll Be nice to Xcore and the XMOS assembler and avoid quoting section names 2011-03-04 20:03:14 +00:00
select_lt0.ll
select-cc.ll
setcc_no_zext.ll
seteq-0.ll
shift128.ll
shl_elim.ll
shl_sext.ll
sign_ext_inreg1.ll
small-arguments.ll
stack-protector.ll Fix up -fstack-protector on linux to use the segment 2010-07-06 05:18:56 +00:00
stfiwx-2.ll
stfiwx.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
store-load-fwd.ll
stubs.ll
subc.ll
tailcall1-64.ll
tailcall1.ll
tailcallpic1.ll
trampoline.ll
unsafe-math.ll add some nounwind's. 2010-11-14 22:22:14 +00:00
varargs.ll force a triple, varargs isn't supported with the SVR4 ABI the buildbot tells me. 2010-10-10 18:59:01 +00:00
vcmp-fold.ll
vec_auto_constant.ll
vec_br_cmp.ll
vec_buildvector_loadstore.ll
vec_call.ll
vec_constants.ll PR7781: Fix incorrect shifting in PPCTargetLowering::LowerBUILD_VECTOR. 2010-08-02 00:18:19 +00:00
vec_fneg.ll
vec_insert.ll
vec_misaligned.ll
vec_mul.ll
vec_perf_shuffle.ll
vec_shift.ll
vec_shuffle.ll
vec_splat_constant.ll
vec_splat.ll
vec_vrsave.ll
vec_zero.ll
vector-identity-shuffle.ll
vector.ll