llvm-6502/test/CodeGen/X86
Evan Cheng ee472b1081 MMX argument passing fixes:
On Darwin / Linux x86-32, v8i8, v4i16, v2i32 values are passed in MM[0-2].                                                                                                                                      
On Darwin / Linux x86-32, v1i64 values are passed in memory.                                                                                                                                                    
On Darwin x86-64, v8i8, v4i16, v2i32 values are passed in XMM[0-7].                                                                                                                                     
On Darwin x86-64, v1i64 values are passed in 64-bit GPRs.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@50257 91177308-0d34-0410-b5e6-96231b3b80d8
2008-04-25 07:56:45 +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
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 Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
2006-04-04-CrossBlockCrash.ll
2006-04-27-ISelFoldingBug.ll
2006-05-01-SchedCausingSpills.ll
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
2006-05-08-InstrSched.ll
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
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
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
2006-11-27-SelectLegalize.ll
2006-11-28-Memcpy.ll
2006-12-19-IntelSyntax.ll
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
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 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
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
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
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
2008-02-20-InlineAsmClobber.ll
2008-02-22-LocalRegAllocBug.ll
2008-02-22-ReMatBug.ll
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
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 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
aliases.ll
aligned-comm.ll
all-ones-vector.ll
alloca-align-rounding.ll
and-or-fold.ll
arg-cast.ll
asm-block-labels.ll
asm-global-imm.ll
bitcast2.ll
bitcast-int-to-vector.ll
bitcast.ll
bswap.ll
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
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
coalescer-commute1.ll
coalescer-commute2.ll
coalescer-commute3.ll
coalescer-commute4.ll
coalescer-commute5.ll
commute-two-addr.ll
compare_folding.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
compare-add.ll
constant-pool-remat-0.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
copysign-zero.ll
dagcombine-cse.ll Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
darwin-bzero.ll
darwin-no-dead-strip.ll
dg.exp
div_const.ll
divrem.ll
dollar-name.ll
dyn-stackalloc.ll
epilogue.ll
extend.ll
extern_weak.ll
extmul64.ll
extmul128.ll
extractelement-from-arg.ll
fabs.ll
fast-cc-callee-pops.ll
fast-cc-merge-stack-adj.ll
fast-cc-pass-in-regs.ll
fastcall-correct-mangling.ll
field-extract-use-trunc.ll
fildll.ll
fold-and-shift.ll
fold-load.ll
fold-mul-lohi.ll
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
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 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
imul-lea.ll
inline-asm-fpstack.ll
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
isel-sink.ll
isnan.ll
isnan.llx
ispositive.ll
jump_sign.ll
ldzero.ll
lea-2.ll
lea-3.ll
lea-recursion.ll
lea.ll
lfence.ll
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
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.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
mingw-alloca.ll Fix test becase ABI stack alignment dropped to 'normal' value 2008-04-23 18:25:16 +00:00
mmx-arg-passing.ll MMX argument passing fixes: 2008-04-25 07:56:45 +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
mmx-emms.ll
mmx-insert-element.ll
mmx-punpckhdq.ll
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
negative_zero.ll
negative-sin.ll
nofence.ll
opt-ext-uses.ll
or-branch.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00
overlap-shift.ll
packed_struct.ll
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
postalloc-coalescing.ll
pr1462.ll
pr1489.ll
pr1505.ll
pr1505b.ll
pr2177.ll
pr2182.ll
prefetch.ll
rdtsc.ll
regpressure.ll
rem.ll
rotate2.ll
rotate.ll
scalar_sse_minmax.ll
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
sfence.ll
shift-coalesce.ll
shift-codegen.ll
shift-combine.ll
shift-double.ll rename *.llx -> *.ll 2008-04-19 22:29:10 +00:00
shift-folding.ll
shift-one.ll
shl_elim.ll
shrink-fp-const1.ll
shrink-fp-const2.ll
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
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
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
tls1.ll
tls2.ll
trap.ll
trunc-to-bool.ll
twoaddr-pass-sink.ll
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
vec_call.ll
vec_clear.ll Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
vec_ctbits.ll
vec_extract-sse4.ll
vec_extract.ll
vec_fneg.ll
vec_ins_extract.ll
vec_insert-2.ll
vec_insert-3.ll
vec_insert.ll
vec_logical.ll
vec_return.ll
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.ll
vec_shift2.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 Disable stack realignment for these tests 2008-04-23 18:25:44 +00:00
vec_shuffle-12.ll
vec_shuffle-13.ll
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
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.ll
weak.ll
x86-64-and-mask.ll
x86-64-arg.ll
x86-64-asm.ll
x86-64-dead-stack-adjust.ll
x86-64-gv-offset.ll
x86-64-mem.ll
x86-64-ret0.ll
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
xmm-r64.ll
xor_not.ll
xor-undef.ll
xorl.ll
zero-remat.ll Remove -unwind-tables-optional everywhere, since 2008-04-14 17:56:54 +00:00