llvm/test/CodeGen/PowerPC
Duncan Sands b10b5ac8d9 Don't try to make BUILD_VECTOR operands have the same
type as the vector element type: allow them to be of
a wider integer type than the element type all the way
through the system, and not just as far as LegalizeDAG.
This should be safe because it used to be this way
(the old type legalizer would produce such nodes), so
backends should be able to handle it.  In fact only
targets which have legal vector types with an illegal
promoted element type will ever see this (eg: <4 x i16>
on ppc).  This fixes a regression with the new type
legalizer (vec_splat.ll).  Also, treat SCALAR_TO_VECTOR
the same as BUILD_VECTOR.  After all, it is just a
special case of BUILD_VECTOR.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@69467 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-18 20:16:54 +00:00
..
2004-11-29-ShrCrash.ll upgrade this test 2008-03-09 00:32:10 +00:00
2004-11-30-shift-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-11-30-shr-var-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2004-12-12-ZeroSizeCommon.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-01-14-SetSelectCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-01-14-UndefLong.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-08-12-rlwimi-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-09-02-LegalizeDuplicatesCalls.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-10-08-ArithmeticRotate.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2005-11-30-vastart-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-01-11-darwin-fp-argument.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-01-20-ShiftPartsCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-01-FloatDoubleExtend.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-05-splat-ish.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-04-19-vmaddfp-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-05-12-rlwimi-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-07-ComputeMaskedBits.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-07-19-stwbrx-crash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-08-11-RetVector.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-08-15-SelectionCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-09-28-shift_64.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-11-combiner-aa-regression.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-13-Miscompile.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-17-brcc-miscompile.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-10-17-ppc64-alloca.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-11-10-DAGCombineMiscompile.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-11-29-AltivecFPSplat.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-12-07-LargeAlloca.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
2006-12-07-SelectCrash.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
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
2007-03-30-SpillerCrash.ll
2007-04-24-InlineAsm-I-Modifier.ll Implement a signficant optimization for inline asm: 2008-04-27 00:37:18 +00:00
2007-04-30-InlineAsmEarlyClobber.ll Fix PR3149. If an early clobber def is a physical register and it is tied to an input operand, it effectively extends the live range of the physical register. Currently we do not have a good way to represent this. 2008-12-19 20:58:01 +00:00
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 this test should not run opt -std-compile-opts, it should run 2009-01-09 05:32:00 +00:00
2007-11-19-VectorSplitting.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-LiveIntervalsAssert.ll If a vr is already marked alive in a bb, then it has PHI uses that are visited earlier, then it is not killed in the def block (i.e. not dead). 2008-02-05 20:04:18 +00:00
2008-02-09-LocalRegAllocAssert.ll Determine whether a spill kills the register it's spilling before insertion rather than trying to undo the kill marker afterwards. 2008-02-11 08:30:52 +00:00
2008-03-05-RegScavengerAssert.ll Update llc flags for PPC register scavenger. 2008-03-10 22:59:08 +00:00
2008-03-06-KillInfo.ll Update llc flags for PPC register scavenger. 2008-03-10 22:59:08 +00:00
2008-03-17-RegScavengerCrash.ll Rewrite code that propagate isDead information after a dead copy is coalesced. This remove some ugly spaghetti code and fixed a number of subtle bugs. 2008-03-18 08:26:47 +00:00
2008-03-18-RegScavengerAssert.ll Fix live variables issues: 2008-03-19 00:52:20 +00:00
2008-03-24-AddressRegImm.ll Use the bit size of the operand instead of the hard-coded 32 to generate the 2008-03-24 23:16:37 +00:00
2008-03-24-CoalescerBug.ll lastRegisterUse() should ignore identity copies. Those will be erased. 2008-03-25 02:02:19 +00:00
2008-03-26-CoalescerBug.ll One more coalescer fix wrt deadness propagation. 2008-03-26 20:15:49 +00:00
2008-04-10-LiveIntervalCrash.ll A copy instruction may use a register multiple times on some targets. Change them all. 2008-04-10 18:38:47 +00:00
2008-04-16-CoalescerBug.ll After reading memory that's already freed. 2008-04-16 20:24:25 +00:00
2008-04-23-CoalescerCrash.ll New test. 2008-04-24 20:01:58 +00:00
2008-05-01-ppc_fp128.ll Adding testcase. 2008-05-01 18:41:09 +00:00
2008-06-19-LegalizerCrash.ll ISD::UNDEF should be expanded recursively / iteratively. 2008-06-19 22:01:11 +00:00
2008-06-21-F128LoadStore.ll Support for load/store of expanded float types. I 2008-06-21 17:00:47 +00:00
2008-06-23-LiveVariablesCrash.ll This situation can occur: 2008-06-23 23:41:14 +00:00
2008-07-10-SplatMiscompile.ll Fix an altivec constant miscompilation that Duncan found through 2008-07-10 16:33:38 +00:00
2008-07-15-Bswap.ll LegalizeTypes support for promotion of bswap. 2008-07-15 10:18:22 +00:00
2008-07-15-Fabs.ll LegalizeTypes support for fabs on ppc long double. 2008-07-15 15:02:44 +00:00
2008-07-15-SignExtendInreg.ll LegalizeTypes support for promotion of SIGN_EXTEND_INREG. 2008-07-15 10:14:24 +00:00
2008-07-17-Fneg.ll LegalizeTypes support for what seems to be the 2008-07-17 17:35:14 +00:00
2008-07-24-PPC64-CCBug.ll Fix a catastrophic PPC64 ABI bug: i32 operands which are passed in memory (all of the parameter registers are used) are loaded from sp offsets that were off by 4. 2008-07-24 08:17:07 +00:00
2008-09-12-CoalescerBug.ll On some targets, non-move instructions can become move instructions because of coalescing. e.g. 2008-09-12 18:13:14 +00:00
2008-10-17-AsmMatchingOperands.ll We have decided not to support inline asm where an output operand with a matching input operand with incompatible type (i.e. either one is a floating point and the other is an integer or the sizes of the types differ). SelectionDAGBuild will catch these and exit with an error. 2008-12-16 18:21:39 +00:00
2008-10-28-f128-i32.ll Fix darwin ppc llvm-gcc build breakage: intercept 2008-10-28 15:00:32 +00:00
2008-10-28-UnprocessedNode.ll Fix a testcase provided by Bill in which the node 2008-10-28 09:38:36 +00:00
2008-10-30-IllegalShift.ll Testcase for PR2986. 2008-10-30 20:34:30 +00:00
2008-10-31-PPCF128Libcalls.ll Add a bunch of libcalls for ppcf128 that were somehow 2008-10-31 14:06:52 +00:00
2008-12-02-LegalizeTypeAssert.ll Remove a (what appears to be) overly strict assertion. Here is what happened: 2008-12-02 21:57:09 +00:00
2008-12-12-EH.ll rename a file to follow naming conventions. 2009-01-02 01:52:35 +00:00
2009-01-16-DeclareISelBug.ll Fix PPC ISD::Declare isel and eliminate the need for PPCTargetLowering::LowerGlobalAddress to check if isVerifiedDebugInfoDesc() is true. Given the recent changes, it would falsely return true for a lot of GlobalAddressSDNode's. 2009-01-16 22:57:32 +00:00
2009-03-17-LSRBug.ll Add another test case for r64440. 2009-03-18 02:43:01 +00:00
addc.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
addi-reassoc.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
align.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and_add.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and_sext.ll
and_sra.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and-branch.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
and-elim.ll
and-imm.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
atomic-1.ll Adjust grep's for new code sequence. 2008-08-25 18:53:58 +00:00
atomic-2.ll Adjust grep's for new code sequence. 2008-08-25 18:53:58 +00:00
Atomics-32.ll Testcases for ppc atomics. 2008-08-30 00:54:31 +00:00
Atomics-64.ll Testcases for ppc atomics. 2008-08-30 00:54:31 +00:00
big-endian-actual-args.ll
big-endian-call-result.ll
big-endian-formal-args.ll
branch-opt.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
bswap-load-store.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
buildvec_canonicalize.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
calls.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
cmp-cmp.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
compare-duplicate.ll
compare-simm.ll
constants.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
cr_spilling.ll Testcase for PR1638. 2008-10-15 18:27:15 +00:00
cttz.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
darwin-labels.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
delete-node.ll Make ISel ignore dead nodes. The DAGCombiner normally eliminates 2008-11-05 22:56:47 +00:00
dg.exp sabre brings to my attention that the 'tr' suffix is also obsolete 2008-05-20 21:00:03 +00:00
div-2.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
eqv-andc-orc-nor.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
extsh.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fabs.ll
fma.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fnabs.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fneg.ll
fold-li.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
fp_to_uint.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fp-branch.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fp-int-fp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
fpcopy.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
Frames-alloca.ll Update llc flags for PPC register scavenger. 2008-03-10 22:59:08 +00:00
Frames-large.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
Frames-leaf.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
Frames-small.ll Byebye llvm-upgrade! 2008-03-25 04:26:08 +00:00
frounds.ll Really feed llvm-as with the testcase, do not let it read from stdin. This fixes the hangs seen on solaris10. 2008-02-26 13:37:13 +00:00
fsqrt.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
hello.ll
hidden-vis-2.ll Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols. 2008-12-05 01:06:39 +00:00
hidden-vis.ll Re-did 60519. It turns out Darwin's handling of hidden visibility symbols are a bit more complicate than I expected. Both declarations and weak definitions still need a stub indirection. However, the stubs are in data section and they contain the addresses of the actual symbols. 2008-12-05 01:06:39 +00:00
i64_fp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
i128-and-beyond.ll Split this test and move it into target-specific directories. 2008-10-01 19:46:30 +00:00
iabs.ll
illegal-element-type.ll
inlineasm-copy.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
int-fp-conv-0.ll Fix this test so that it doesn't spuriously fail due to some 2009-03-27 16:17:22 +00:00
int-fp-conv-1.ll Generalize ExpandIntToFP to handle the case where the operand is legal 2008-03-11 01:59:03 +00:00
invalid-memcpy.ll
inverted-bool-compares.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
ispositive.ll
itofp128.ll Implement more support for fp-to-i128 and i128-to-fp conversions. 2008-03-10 23:03:31 +00:00
LargeAbsoluteAddr.ll Add a new function, ReplaceAllUsesOfValuesWith, which handles bulk 2008-07-17 19:10:17 +00:00
lha.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
load-constant-addr.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
long-compare.ll
longdbl-truncate.ll
mask64.ll Don't hard-code the mask size to be 32, which is incorrect on ppc64 2008-02-27 21:12:32 +00:00
mem_update.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
mem-rr-addr-mode.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
mul-neg-power-2.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
mulhs.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
multiple-return-values.ll Add support for multiple return values for the PPC target by 2008-03-19 21:39:28 +00:00
neg.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
no-dead-strip.ll
or-addressing-mode.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
ppcf128-1-opt.ll
ppcf128-1.ll
ppcf128-2.ll More APInt-ification. 2008-03-13 22:13:53 +00:00
ppcf128-3.ll Make conversions of i8/i16 to ppcf128 work. 2008-03-18 17:28:38 +00:00
ppcf128-4.ll New testcase. 2008-03-22 22:27:01 +00:00
pr3711_widen_bit.ll Added missing support for widening when splitting an unary op (PR3683) 2009-03-18 06:24:04 +00:00
private.ll Private linkage support for PPC / Darwin. 2009-01-25 06:32:01 +00:00
reg-coalesce-simple.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
retaddr.ll
return-val-i128.ll Add support for calls with i128 return values on ppc64. 2008-03-08 00:19:12 +00:00
rlwimi2.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rlwimi3.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rlwimi-commute.ll Evan implemented this. 2008-03-02 17:56:29 +00:00
rlwimi.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rlwinm2.ll
rlwinm.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
rotl-2.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
rotl-64.ll
rotl.ll
select_lt0.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
select-cc.ll Fix PR3011: LegalizeTypes support for scalarizing 2008-11-04 17:31:08 +00:00
setcc_no_zext.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
seteq-0.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
shift128.ll Add support for lowering 128-bit shifts on ppc64. 2008-03-07 20:36:53 +00:00
shl_elim.ll
shl_sext.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
sign_ext_inreg1.ll
small-arguments.ll
stfiwx-2.ll
stfiwx.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
store-load-fwd.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
subc.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
tailcall1-64.ll Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
tailcall1.ll Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
tailcallpic1.ll Tail call optimization improvements: 2008-04-30 09:16:33 +00:00
trampoline.ll Add trampoline support to PPC. GCC simply calls the "__trampoline_setup" 2008-09-17 00:30:57 +00:00
unsafe-math.ll
vcmp-fold.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_br_cmp.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_call.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_constants.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_fneg.ll
vec_insert.ll Add testcase for recent legalizer change 2008-02-13 06:48:40 +00:00
vec_misaligned.ll New test for misaligned Altivec laod/store. 2008-02-27 23:14:50 +00:00
vec_mul.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_perf_shuffle.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_shuffle.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_splat.ll Don't try to make BUILD_VECTOR operands have the same 2009-04-18 20:16:54 +00:00
vec_vrsave.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vec_zero.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vector-identity-shuffle.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00
vector.ll Remove llvm-upgrade and update tests. 2008-02-19 08:07:33 +00:00