From 58b69754af0cbff56b1cfce9be9392e4451f6628 Mon Sep 17 00:00:00 2001 From: Dimitry Andric Date: Wed, 15 Aug 2012 19:34:23 +0000 Subject: Vendor import of llvm trunk r161861: http://llvm.org/svn/llvm-project/llvm/trunk@161861 --- test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll | 2 +- test/CodeGen/X86/2003-11-03-GlobalBool.ll | 2 +- test/CodeGen/X86/2004-02-13-FrameReturnAddress.ll | 6 +- test/CodeGen/X86/2004-03-30-Select-Max.ll | 3 +- test/CodeGen/X86/2006-03-01-InstrSchedBug.ll | 2 +- test/CodeGen/X86/2006-03-02-InstrSchedBug.ll | 2 +- test/CodeGen/X86/2006-04-27-ISelFoldingBug.ll | 4 +- test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll | 4 +- test/CodeGen/X86/2006-05-02-InstrSched1.ll | 2 +- test/CodeGen/X86/2006-05-02-InstrSched2.ll | 2 +- test/CodeGen/X86/2006-05-08-InstrSched.ll | 2 +- test/CodeGen/X86/2006-05-11-InstrSched.ll | 4 +- test/CodeGen/X86/2006-07-31-SingleRegClass.ll | 4 +- test/CodeGen/X86/2006-08-21-ExtraMovInst.ll | 2 +- test/CodeGen/X86/2006-11-12-CSRetCC.ll | 4 +- test/CodeGen/X86/2006-11-17-IllegalMove.ll | 4 +- test/CodeGen/X86/2007-01-13-StackPtrIndex.ll | 2 +- test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll | 2 +- test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll | 2 +- .../X86/2007-04-27-InlineAsm-IntMemInput.ll | 2 +- test/CodeGen/X86/2007-05-07-InvokeSRet.ll | 2 +- test/CodeGen/X86/2007-08-10-SignExtSubreg.ll | 2 +- test/CodeGen/X86/2007-09-05-InvalidAsm.ll | 3 +- .../X86/2007-11-04-rip-immediate-constant.ll | 2 +- test/CodeGen/X86/2007-12-18-LoadCSEBug.ll | 2 +- test/CodeGen/X86/2008-01-08-SchedulerCrash.ll | 6 +- test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll | 2 +- test/CodeGen/X86/2008-02-18-TailMergingBug.ll | 2 +- test/CodeGen/X86/2008-02-20-InlineAsmClobber.ll | 4 +- test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll | 2 +- test/CodeGen/X86/2008-03-23-DarwinAsmComments.ll | 2 +- test/CodeGen/X86/2008-04-16-ReMatBug.ll | 2 +- test/CodeGen/X86/2008-04-17-CoalescerBug.ll | 2 +- test/CodeGen/X86/2008-04-28-CoalescerBug.ll | 6 +- test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll | 2 +- test/CodeGen/X86/2008-08-06-CmpStride.ll | 2 +- test/CodeGen/X86/2008-08-25-AsmRegTypeMismatch.ll | 18 -- test/CodeGen/X86/2008-08-31-EH_RETURN32.ll | 27 +- test/CodeGen/X86/2008-09-17-inline-asm-1.ll | 2 +- test/CodeGen/X86/2008-09-18-inline-asm-2.ll | 2 +- test/CodeGen/X86/2008-10-24-FlippedCompare.ll | 2 +- test/CodeGen/X86/2008-10-27-CoalescerBug.ll | 5 +- test/CodeGen/X86/2008-12-23-crazy-address.ll | 2 +- test/CodeGen/X86/2009-01-31-BigShift2.ll | 2 +- test/CodeGen/X86/2009-02-25-CommuteBug.ll | 2 +- test/CodeGen/X86/2009-02-26-MachineLICMBug.ll | 4 +- test/CodeGen/X86/2009-03-12-CPAlignBug.ll | 2 +- test/CodeGen/X86/2009-03-23-MultiUseSched.ll | 4 +- test/CodeGen/X86/2009-04-16-SpillerUnfold.ll | 2 +- test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll | 2 +- test/CodeGen/X86/2009-04-24.ll | 6 +- .../CodeGen/X86/2009-04-29-IndirectDestOperands.ll | 2 +- test/CodeGen/X86/2009-05-30-ISelBug.ll | 2 +- test/CodeGen/X86/20090313-signext.ll | 4 +- test/CodeGen/X86/2010-01-19-OptExtBug.ll | 2 +- .../X86/2010-05-06-LocalInlineAsmClobber.ll | 2 +- test/CodeGen/X86/2010-05-12-FastAllocKills.ll | 2 +- .../X86/2010-06-15-FastAllocEarlyCLobber.ll | 2 +- test/CodeGen/X86/2011-04-13-SchedCmpJmp.ll | 4 +- test/CodeGen/X86/2011-04-19-sclr-bb.ll | 21 ++ test/CodeGen/X86/2011-06-03-x87chain.ll | 2 +- test/CodeGen/X86/2011-06-12-FastAllocSpill.ll | 2 +- test/CodeGen/X86/2011-09-18-sse2cmp.ll | 2 +- test/CodeGen/X86/2011-09-21-setcc-bug.ll | 2 +- test/CodeGen/X86/2011-10-11-srl.ll | 2 +- test/CodeGen/X86/2011-12-15-vec_shift.ll | 4 +- test/CodeGen/X86/2012-02-20-MachineCPBug.ll | 2 +- test/CodeGen/X86/2012-03-26-PostRALICMBug.ll | 4 +- test/CodeGen/X86/2012-04-26-sdglue.ll | 3 +- test/CodeGen/X86/2012-05-17-TwoAddressBug.ll | 16 ++ test/CodeGen/X86/2012-05-19-CoalescerCrash.ll | 122 +++++++++ test/CodeGen/X86/2012-05-19-avx2-store.ll | 13 + test/CodeGen/X86/2012-07-10-extload64.ll | 32 +++ test/CodeGen/X86/2012-07-10-shufnorm.ll | 17 ++ test/CodeGen/X86/2012-07-15-broadcastfold.ll | 23 ++ test/CodeGen/X86/2012-07-15-tconst_shl.ll | 9 + test/CodeGen/X86/2012-07-15-vshl.ll | 31 +++ test/CodeGen/X86/2012-07-16-LeaUndef.ll | 16 ++ test/CodeGen/X86/2012-07-16-fp2ui-i1.ll | 12 + test/CodeGen/X86/2012-07-17-vtrunc.ll | 16 ++ test/CodeGen/X86/2012-07-23-select_cc.ll | 19 ++ test/CodeGen/X86/2012-08-07-CmpISelBug.ll | 36 +++ test/CodeGen/X86/4char-promote.ll | 9 +- test/CodeGen/X86/MachineSink-PHIUse.ll | 2 +- test/CodeGen/X86/add.ll | 10 +- test/CodeGen/X86/addr-label-difference.ll | 2 +- test/CodeGen/X86/aligned-comm.ll | 4 +- test/CodeGen/X86/alignment-2.ll | 4 +- test/CodeGen/X86/alloca-align-rounding-32.ll | 7 +- test/CodeGen/X86/alloca-align-rounding.ll | 7 +- test/CodeGen/X86/andimm8.ll | 2 +- test/CodeGen/X86/asm-reg-type-mismatch.ll | 31 +++ test/CodeGen/X86/atom-lea-sp.ll | 26 +- test/CodeGen/X86/atom-sched.ll | 3 - test/CodeGen/X86/atomic_op.ll | 2 +- test/CodeGen/X86/avx-blend.ll | 2 +- test/CodeGen/X86/avx-intrinsics-x86.ll | 57 ++++- test/CodeGen/X86/avx-minmax.ll | 2 +- test/CodeGen/X86/avx-shuffle-x86_32.ll | 2 +- test/CodeGen/X86/avx-shuffle.ll | 62 ++++- test/CodeGen/X86/avx-vbroadcast.ll | 29 +++ test/CodeGen/X86/avx2-conversions.ll | 68 +++++ test/CodeGen/X86/avx2-intrinsics-x86.ll | 179 +++++++++++++ test/CodeGen/X86/avx2-shuffle.ll | 28 ++ test/CodeGen/X86/avx2-vbroadcast.ll | 178 ++++++++++++- test/CodeGen/X86/basic-promote-integers.ll | 4 +- test/CodeGen/X86/bigstructret.ll | 29 ++- test/CodeGen/X86/blend-msb.ll | 2 +- test/CodeGen/X86/block-placement.ll | 10 +- test/CodeGen/X86/bool-simplify.ll | 42 +++ test/CodeGen/X86/br-fold.ll | 2 +- test/CodeGen/X86/break-anti-dependencies.ll | 14 +- test/CodeGen/X86/break-sse-dep.ll | 7 +- test/CodeGen/X86/call-imm.ll | 8 +- test/CodeGen/X86/cfstring.ll | 2 +- test/CodeGen/X86/cmov-into-branch.ll | 63 +++++ test/CodeGen/X86/cmov.ll | 10 +- test/CodeGen/X86/cmp.ll | 61 +++++ test/CodeGen/X86/coalesce-esp.ll | 2 +- test/CodeGen/X86/coalescer-commute2.ll | 13 +- test/CodeGen/X86/coalescer-dce2.ll | 118 +++++++++ test/CodeGen/X86/coalescer-identity.ll | 82 ++++++ test/CodeGen/X86/constant-pool-sharing.ll | 4 +- test/CodeGen/X86/constructor.ll | 27 ++ test/CodeGen/X86/convert-2-addr-3-addr-inc64.ll | 4 +- test/CodeGen/X86/crash.ll | 55 +++- test/CodeGen/X86/ctpop-combine.ll | 2 +- test/CodeGen/X86/dagcombine-cse.ll | 2 +- test/CodeGen/X86/dbg-merge-loc-entry.ll | 2 +- test/CodeGen/X86/dbg-value-range.ll | 1 - test/CodeGen/X86/divide-by-constant.ll | 21 ++ test/CodeGen/X86/dynamic-allocas-VLAs.ll | 237 +++++++++++++++++ test/CodeGen/X86/early-ifcvt.ll | 69 +++++ test/CodeGen/X86/epilogue.ll | 6 +- test/CodeGen/X86/extractps.ll | 4 +- test/CodeGen/X86/fabs.ll | 40 ++- test/CodeGen/X86/fast-cc-merge-stack-adj.ll | 2 +- test/CodeGen/X86/fast-isel-constpool.ll | 2 +- test/CodeGen/X86/fast-isel-gv.ll | 2 +- test/CodeGen/X86/fast-isel-mem.ll | 14 +- test/CodeGen/X86/fast-isel-x86.ll | 14 + test/CodeGen/X86/fast-isel.ll | 12 +- test/CodeGen/X86/fastcc-byval.ll | 2 +- test/CodeGen/X86/fma.ll | 12 +- test/CodeGen/X86/fma3-intrinsics.ll | 132 ++++++++++ test/CodeGen/X86/fma4-intrinsics-x86_64.ll | 224 ++++++++-------- test/CodeGen/X86/fma_patterns.ll | 139 ++++++++++ test/CodeGen/X86/fold-load.ll | 26 ++ test/CodeGen/X86/fold-pcmpeqd-1.ll | 13 +- test/CodeGen/X86/force-align-stack-alloca.ll | 70 +++++ test/CodeGen/X86/fp-immediate-shorten.ll | 2 +- test/CodeGen/X86/fp-in-intregs.ll | 2 +- test/CodeGen/X86/fp-stack-compare-cmov.ll | 12 + test/CodeGen/X86/fp-stack-compare.ll | 7 +- test/CodeGen/X86/fp-stack-ret.ll | 2 +- test/CodeGen/X86/fp_load_fold.ll | 2 +- test/CodeGen/X86/full-lsr.ll | 16 +- test/CodeGen/X86/gather-addresses.ll | 4 +- test/CodeGen/X86/gs-fold.ll | 20 ++ test/CodeGen/X86/h-register-addressing-32.ll | 2 +- test/CodeGen/X86/h-register-addressing-64.ll | 2 +- test/CodeGen/X86/h-registers-1.ll | 4 +- test/CodeGen/X86/hoist-invariant-load.ll | 2 +- test/CodeGen/X86/iabs.ll | 16 +- test/CodeGen/X86/illegal-vector-args-return.ll | 8 +- test/CodeGen/X86/inline-asm-error.ll | 2 +- test/CodeGen/X86/inline-asm-modifier-n.ll | 2 +- test/CodeGen/X86/inline-asm.ll | 9 + test/CodeGen/X86/inreg.ll | 46 ++++ test/CodeGen/X86/isel-sink2.ll | 2 +- test/CodeGen/X86/ispositive.ll | 2 +- test/CodeGen/X86/jump_sign.ll | 221 ++++++++++++++++ test/CodeGen/X86/label-redefinition.ll | 2 +- test/CodeGen/X86/large-global.ll | 11 + test/CodeGen/X86/lea-2.ll | 2 +- test/CodeGen/X86/liveness-local-regalloc.ll | 34 ++- test/CodeGen/X86/loop-blocks.ll | 4 +- test/CodeGen/X86/lsr-loop-exit-cond.ll | 17 +- test/CodeGen/X86/lsr-reuse-trunc.ll | 4 +- test/CodeGen/X86/lsr-static-addr.ll | 12 +- test/CodeGen/X86/machine-cse.ll | 57 +++++ test/CodeGen/X86/mem-promote-integers.ll | 4 +- test/CodeGen/X86/memcmp.ll | 3 + test/CodeGen/X86/mmx-punpckhdq.ll | 2 +- test/CodeGen/X86/movgs.ll | 16 ++ test/CodeGen/X86/multiple-loop-post-inc.ll | 10 +- test/CodeGen/X86/neg_cmp.ll | 22 ++ test/CodeGen/X86/opt-shuff-tstore.ll | 2 +- test/CodeGen/X86/overlap-shift.ll | 2 +- test/CodeGen/X86/pass-three.ll | 16 ++ test/CodeGen/X86/peep-vector-extract-insert.ll | 2 +- test/CodeGen/X86/phi-immediate-factoring.ll | 2 +- test/CodeGen/X86/phielim-split.ll | 30 +++ test/CodeGen/X86/phys-reg-local-regalloc.ll | 20 +- test/CodeGen/X86/phys_subreg_coalesce-3.ll | 6 +- test/CodeGen/X86/pmul.ll | 4 +- test/CodeGen/X86/pointer-vector.ll | 3 +- test/CodeGen/X86/pr11415.ll | 2 +- test/CodeGen/X86/pr11468.ll | 33 +++ test/CodeGen/X86/pr12889.ll | 18 ++ test/CodeGen/X86/pr13209.ll | 74 ++++++ test/CodeGen/X86/pr13220.ll | 20 ++ test/CodeGen/X86/pr13577.ll | 8 + test/CodeGen/X86/pr2656.ll | 2 +- test/CodeGen/X86/pr3522.ll | 2 +- test/CodeGen/X86/promote-trunc.ll | 2 +- test/CodeGen/X86/rd-mod-wr-eflags.ll | 46 ++++ test/CodeGen/X86/rdrand.ll | 85 ++++++ test/CodeGen/X86/regpressure.ll | 4 +- test/CodeGen/X86/remat-fold-load.ll | 143 +++++++++++ test/CodeGen/X86/remat-scalar-zero.ll | 2 +- test/CodeGen/X86/reverse_branches.ll | 104 ++++++++ test/CodeGen/X86/rotate.ll | 2 +- test/CodeGen/X86/rounding-ops.ll | 4 +- test/CodeGen/X86/segmented-stacks-dynamic.ll | 12 +- test/CodeGen/X86/select.ll | 132 +++++++++- test/CodeGen/X86/selectiondag-cse.ll | 69 +++++ test/CodeGen/X86/sext-setcc-self.ll | 55 ++++ test/CodeGen/X86/shift-and.ll | 46 +++- test/CodeGen/X86/shift-coalesce.ll | 4 +- test/CodeGen/X86/shift-double.ll | 2 +- test/CodeGen/X86/shift-folding.ll | 2 +- test/CodeGen/X86/shl_elim.ll | 6 +- test/CodeGen/X86/sincos.ll | 26 +- test/CodeGen/X86/sink-hoist.ll | 2 +- test/CodeGen/X86/sink-out-of-loop.ll | 54 ++++ test/CodeGen/X86/splat-scalar-load.ll | 2 +- test/CodeGen/X86/sse-align-12.ll | 2 +- test/CodeGen/X86/sse-domains.ll | 2 +- test/CodeGen/X86/sse-minmax.ll | 285 ++++++++++----------- test/CodeGen/X86/sse3.ll | 7 +- test/CodeGen/X86/sse41-blend.ll | 2 +- test/CodeGen/X86/sse41.ll | 4 +- test/CodeGen/X86/sse4a.ll | 56 ++++ test/CodeGen/X86/sse_reload_fold.ll | 2 +- test/CodeGen/X86/stack-align.ll | 4 +- test/CodeGen/X86/stack-protector-linux.ll | 28 -- test/CodeGen/X86/stack-protector.ll | 28 ++ test/CodeGen/X86/store_op_load_fold2.ll | 4 +- test/CodeGen/X86/subreg-to-reg-1.ll | 2 +- test/CodeGen/X86/subreg-to-reg-4.ll | 2 +- test/CodeGen/X86/switch-order-weight.ll | 37 +++ test/CodeGen/X86/tailcall-64.ll | 96 +++++++ test/CodeGen/X86/tailcall-cgp-dup.ll | 87 +++++++ test/CodeGen/X86/tailcall-i1.ll | 6 - test/CodeGen/X86/tailcall-largecode.ll | 10 +- test/CodeGen/X86/tailcall-void.ll | 6 - test/CodeGen/X86/tailcall.ll | 52 ++++ test/CodeGen/X86/tailcall1.ll | 40 --- test/CodeGen/X86/tailcallbyval.ll | 2 +- test/CodeGen/X86/targetLoweringGeneric.ll | 38 +++ test/CodeGen/X86/thiscall-struct-return.ll | 4 +- test/CodeGen/X86/tls-local-dynamic.ll | 59 +++++ test/CodeGen/X86/tls-models.ll | 166 ++++++++++++ test/CodeGen/X86/tls-pic.ll | 20 ++ test/CodeGen/X86/tls-pie.ll | 20 +- test/CodeGen/X86/trap.ll | 16 +- test/CodeGen/X86/trunc-ext-ld-st.ll | 2 +- test/CodeGen/X86/twoaddr-coalesce-2.ll | 4 +- test/CodeGen/X86/twoaddr-pass-sink.ll | 2 +- test/CodeGen/X86/uint_to_fp.ll | 2 +- test/CodeGen/X86/umul-with-carry.ll | 2 +- test/CodeGen/X86/unwindraise.ll | 252 ++++++++++++++++++ test/CodeGen/X86/v-binop-widen2.ll | 9 +- test/CodeGen/X86/vec_call.ll | 4 +- test/CodeGen/X86/vec_cast2.ll | 49 ++++ test/CodeGen/X86/vec_compare-2.ll | 3 +- test/CodeGen/X86/vec_compare.ll | 2 +- test/CodeGen/X86/vec_ins_extract-1.ll | 2 +- test/CodeGen/X86/vec_insert-6.ll | 4 +- test/CodeGen/X86/vec_set-3.ll | 2 +- test/CodeGen/X86/vec_set-9.ll | 2 +- test/CodeGen/X86/vec_shuffle-16.ll | 4 +- test/CodeGen/X86/vec_shuffle-19.ll | 2 +- test/CodeGen/X86/vec_shuffle-27.ll | 4 +- test/CodeGen/X86/vec_shuffle-35.ll | 4 +- test/CodeGen/X86/vec_shuffle-36.ll | 2 +- test/CodeGen/X86/vec_shuffle-37.ll | 4 +- test/CodeGen/X86/vec_shuffle-38.ll | 2 +- test/CodeGen/X86/vec_shuffle-39.ll | 2 +- test/CodeGen/X86/vec_splat-2.ll | 2 +- test/CodeGen/X86/vec_splat-3.ll | 2 +- test/CodeGen/X86/vec_splat-4.ll | 2 +- test/CodeGen/X86/vec_splat.ll | 4 +- test/CodeGen/X86/vec_ss_load_fold.ll | 14 + test/CodeGen/X86/vshift-1.ll | 4 +- test/CodeGen/X86/vshift-2.ll | 6 +- test/CodeGen/X86/vshift-3.ll | 4 +- test/CodeGen/X86/vshift-5.ll | 8 +- test/CodeGen/X86/widen_arith-3.ll | 1 - test/CodeGen/X86/widen_cast-1.ll | 13 +- test/CodeGen/X86/widen_cast-2.ll | 2 +- test/CodeGen/X86/widen_cast-5.ll | 3 +- test/CodeGen/X86/widen_conv-4.ll | 2 +- test/CodeGen/X86/widen_extract-1.ll | 2 +- test/CodeGen/X86/widen_load-0.ll | 14 +- test/CodeGen/X86/win64_alloca_dynalloca.ll | 15 +- test/CodeGen/X86/x86-64-arg.ll | 2 +- test/CodeGen/X86/x86-64-dead-stack-adjust.ll | 4 +- test/CodeGen/X86/x86-64-pic-1.ll | 2 +- test/CodeGen/X86/x86-64-pic-10.ll | 2 +- test/CodeGen/X86/x86-64-pic-11.ll | 2 +- test/CodeGen/X86/x86-64-pic-2.ll | 4 +- test/CodeGen/X86/x86-64-pic-3.ll | 4 +- test/CodeGen/X86/x86-64-pic-4.ll | 2 +- test/CodeGen/X86/x86-64-pic-5.ll | 2 +- test/CodeGen/X86/x86-64-pic-6.ll | 2 +- test/CodeGen/X86/x86-64-pic-7.ll | 2 +- test/CodeGen/X86/x86-64-pic-8.ll | 2 +- test/CodeGen/X86/x86-64-pic-9.ll | 2 +- test/CodeGen/X86/xop-intrinsics-x86_64.ll | 80 +++++- test/CodeGen/X86/xor.ll | 8 +- 312 files changed, 5417 insertions(+), 819 deletions(-) delete mode 100644 test/CodeGen/X86/2008-08-25-AsmRegTypeMismatch.ll create mode 100644 test/CodeGen/X86/2011-04-19-sclr-bb.ll create mode 100644 test/CodeGen/X86/2012-05-17-TwoAddressBug.ll create mode 100644 test/CodeGen/X86/2012-05-19-CoalescerCrash.ll create mode 100644 test/CodeGen/X86/2012-05-19-avx2-store.ll create mode 100644 test/CodeGen/X86/2012-07-10-extload64.ll create mode 100644 test/CodeGen/X86/2012-07-10-shufnorm.ll create mode 100644 test/CodeGen/X86/2012-07-15-broadcastfold.ll create mode 100644 test/CodeGen/X86/2012-07-15-tconst_shl.ll create mode 100644 test/CodeGen/X86/2012-07-15-vshl.ll create mode 100644 test/CodeGen/X86/2012-07-16-LeaUndef.ll create mode 100644 test/CodeGen/X86/2012-07-16-fp2ui-i1.ll create mode 100644 test/CodeGen/X86/2012-07-17-vtrunc.ll create mode 100644 test/CodeGen/X86/2012-07-23-select_cc.ll create mode 100644 test/CodeGen/X86/2012-08-07-CmpISelBug.ll create mode 100644 test/CodeGen/X86/asm-reg-type-mismatch.ll create mode 100755 test/CodeGen/X86/avx2-conversions.ll create mode 100644 test/CodeGen/X86/avx2-shuffle.ll create mode 100644 test/CodeGen/X86/bool-simplify.ll create mode 100644 test/CodeGen/X86/cmov-into-branch.ll create mode 100644 test/CodeGen/X86/coalescer-dce2.ll create mode 100644 test/CodeGen/X86/coalescer-identity.ll create mode 100644 test/CodeGen/X86/constructor.ll create mode 100644 test/CodeGen/X86/dynamic-allocas-VLAs.ll create mode 100644 test/CodeGen/X86/early-ifcvt.ll create mode 100755 test/CodeGen/X86/fma3-intrinsics.ll create mode 100644 test/CodeGen/X86/fma_patterns.ll create mode 100644 test/CodeGen/X86/force-align-stack-alloca.ll create mode 100644 test/CodeGen/X86/fp-stack-compare-cmov.ll create mode 100644 test/CodeGen/X86/gs-fold.ll create mode 100644 test/CodeGen/X86/inreg.ll create mode 100644 test/CodeGen/X86/large-global.ll create mode 100644 test/CodeGen/X86/neg_cmp.ll create mode 100644 test/CodeGen/X86/pass-three.ll create mode 100644 test/CodeGen/X86/phielim-split.ll create mode 100644 test/CodeGen/X86/pr11468.ll create mode 100644 test/CodeGen/X86/pr12889.ll create mode 100644 test/CodeGen/X86/pr13209.ll create mode 100644 test/CodeGen/X86/pr13220.ll create mode 100644 test/CodeGen/X86/pr13577.ll create mode 100644 test/CodeGen/X86/rdrand.ll create mode 100644 test/CodeGen/X86/remat-fold-load.ll create mode 100644 test/CodeGen/X86/reverse_branches.ll create mode 100644 test/CodeGen/X86/selectiondag-cse.ll create mode 100644 test/CodeGen/X86/sext-setcc-self.ll create mode 100644 test/CodeGen/X86/sink-out-of-loop.ll create mode 100644 test/CodeGen/X86/sse4a.ll delete mode 100644 test/CodeGen/X86/stack-protector-linux.ll create mode 100644 test/CodeGen/X86/stack-protector.ll create mode 100644 test/CodeGen/X86/switch-order-weight.ll create mode 100644 test/CodeGen/X86/tailcall-64.ll create mode 100644 test/CodeGen/X86/tailcall-cgp-dup.ll delete mode 100644 test/CodeGen/X86/tailcall-i1.ll delete mode 100644 test/CodeGen/X86/tailcall-void.ll create mode 100644 test/CodeGen/X86/tailcall.ll delete mode 100644 test/CodeGen/X86/tailcall1.ll create mode 100644 test/CodeGen/X86/targetLoweringGeneric.ll create mode 100644 test/CodeGen/X86/tls-local-dynamic.ll create mode 100644 test/CodeGen/X86/tls-models.ll create mode 100644 test/CodeGen/X86/unwindraise.ll create mode 100644 test/CodeGen/X86/vec_cast2.ll (limited to 'test/CodeGen/X86') diff --git a/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll b/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll index 24848602baf8..0af2445d7fba 100644 --- a/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll +++ b/test/CodeGen/X86/2003-08-03-CallArgLiveRanges.ll @@ -3,7 +3,7 @@ ; it makes a ton of annoying overlapping live ranges. This code should not ; cause spills! ; -; RUN: llc < %s -march=x86 -stats |& not grep spilled +; RUN: llc < %s -march=x86 -stats 2>&1 | not grep spilled target datalayout = "e-p:32:32" diff --git a/test/CodeGen/X86/2003-11-03-GlobalBool.ll b/test/CodeGen/X86/2003-11-03-GlobalBool.ll index 8b0a18550da1..f201b981a872 100644 --- a/test/CodeGen/X86/2003-11-03-GlobalBool.ll +++ b/test/CodeGen/X86/2003-11-03-GlobalBool.ll @@ -1,4 +1,4 @@ ; RUN: llc < %s -march=x86 | \ -; RUN: not grep {.byte\[\[:space:\]\]*true} +; RUN: not grep ".byte[[:space:]]*true" @X = global i1 true ; [#uses=0] diff --git a/test/CodeGen/X86/2004-02-13-FrameReturnAddress.ll b/test/CodeGen/X86/2004-02-13-FrameReturnAddress.ll index fea2b54d7630..dde210b776af 100644 --- a/test/CodeGen/X86/2004-02-13-FrameReturnAddress.ll +++ b/test/CodeGen/X86/2004-02-13-FrameReturnAddress.ll @@ -1,6 +1,6 @@ -; RUN: llc < %s -march=x86 | grep {(%esp} -; RUN: llc < %s -march=x86 | grep {pushl %ebp} | count 1 -; RUN: llc < %s -march=x86 | grep {popl %ebp} | count 1 +; RUN: llc < %s -march=x86 | grep "(%esp" +; RUN: llc < %s -march=x86 | grep "pushl %ebp" | count 1 +; RUN: llc < %s -march=x86 | grep "popl %ebp" | count 1 declare i8* @llvm.returnaddress(i32) diff --git a/test/CodeGen/X86/2004-03-30-Select-Max.ll b/test/CodeGen/X86/2004-03-30-Select-Max.ll index c44d10ac5b5a..e22aa6a09398 100644 --- a/test/CodeGen/X86/2004-03-30-Select-Max.ll +++ b/test/CodeGen/X86/2004-03-30-Select-Max.ll @@ -1,4 +1,5 @@ -; RUN: llc < %s -march=x86 -mcpu=yonah | not grep {j\[lgbe\]} +; RUN: llc < %s -march=x86 -mcpu=yonah | FileCheck %s +; CHECK-NOT: {{j[lgbe]}} define i32 @max(i32 %A, i32 %B) nounwind { %gt = icmp sgt i32 %A, %B ; [#uses=1] diff --git a/test/CodeGen/X86/2006-03-01-InstrSchedBug.ll b/test/CodeGen/X86/2006-03-01-InstrSchedBug.ll index dc69ef83103f..f8bf0991fb14 100644 --- a/test/CodeGen/X86/2006-03-01-InstrSchedBug.ll +++ b/test/CodeGen/X86/2006-03-01-InstrSchedBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 | not grep {subl.*%esp} +; RUN: llc < %s -march=x86 | not grep "subl.*%esp" define i32 @f(i32 %a, i32 %b) { %tmp.2 = mul i32 %a, %a ; [#uses=1] diff --git a/test/CodeGen/X86/2006-03-02-InstrSchedBug.ll b/test/CodeGen/X86/2006-03-02-InstrSchedBug.ll index 0421896922b9..1a3d74918d1a 100644 --- a/test/CodeGen/X86/2006-03-02-InstrSchedBug.ll +++ b/test/CodeGen/X86/2006-03-02-InstrSchedBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -stats |& \ +; RUN: llc < %s -march=x86 -stats 2>&1 | \ ; RUN: grep asm-printer | grep 7 define i32 @g(i32 %a, i32 %b) nounwind { diff --git a/test/CodeGen/X86/2006-04-27-ISelFoldingBug.ll b/test/CodeGen/X86/2006-04-27-ISelFoldingBug.ll index 8783a11c060b..fb1262a37295 100644 --- a/test/CodeGen/X86/2006-04-27-ISelFoldingBug.ll +++ b/test/CodeGen/X86/2006-04-27-ISelFoldingBug.ll @@ -1,6 +1,6 @@ ; RUN: llc < %s -march=x86 -mtriple=i686-apple-darwin8 -relocation-model=static > %t -; RUN: grep {movl _last} %t | count 1 -; RUN: grep {cmpl.*_last} %t | count 1 +; RUN: grep "movl _last" %t | count 1 +; RUN: grep "cmpl.*_last" %t | count 1 @block = external global i8* ; [#uses=1] @last = external global i32 ; [#uses=3] diff --git a/test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll b/test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll index b0453299669e..5cba3efeefb8 100644 --- a/test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll +++ b/test/CodeGen/X86/2006-05-01-SchedCausingSpills.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -march=x86 -mcpu=yonah -stats |& \ -; RUN: not grep {Number of register spills} +; RUN: llc < %s -march=x86 -mcpu=yonah -stats 2>&1 | \ +; RUN: not grep "Number of register spills" ; END. diff --git a/test/CodeGen/X86/2006-05-02-InstrSched1.ll b/test/CodeGen/X86/2006-05-02-InstrSched1.ll index 7d0a6ab0a04c..1c75f93915a7 100644 --- a/test/CodeGen/X86/2006-05-02-InstrSched1.ll +++ b/test/CodeGen/X86/2006-05-02-InstrSched1.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -relocation-model=static -stats |& \ +; RUN: llc < %s -march=x86 -relocation-model=static -stats 2>&1 | \ ; RUN: grep asm-printer | grep 14 ; @size20 = external global i32 ; [#uses=1] diff --git a/test/CodeGen/X86/2006-05-02-InstrSched2.ll b/test/CodeGen/X86/2006-05-02-InstrSched2.ll index 23954d76a5d6..95eefa1e7196 100644 --- a/test/CodeGen/X86/2006-05-02-InstrSched2.ll +++ b/test/CodeGen/X86/2006-05-02-InstrSched2.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -stats |& \ +; RUN: llc < %s -march=x86 -stats 2>&1 | \ ; RUN: grep asm-printer | grep 13 define void @_ZN9__gnu_cxx9hashtableISt4pairIKPKciES3_NS_4hashIS3_EESt10_Select1stIS5_E5eqstrSaIiEE14find_or_insertERKS5__cond_true456.i(i8* %tmp435.i, i32* %tmp449.i.out) nounwind { diff --git a/test/CodeGen/X86/2006-05-08-InstrSched.ll b/test/CodeGen/X86/2006-05-08-InstrSched.ll index d58d638562c9..3419d01fa083 100644 --- a/test/CodeGen/X86/2006-05-08-InstrSched.ll +++ b/test/CodeGen/X86/2006-05-08-InstrSched.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -relocation-model=static | not grep {subl.*%esp} +; RUN: llc < %s -march=x86 -relocation-model=static | not grep "subl.*%esp" @A = external global i16* ; [#uses=1] @B = external global i32 ; [#uses=1] diff --git a/test/CodeGen/X86/2006-05-11-InstrSched.ll b/test/CodeGen/X86/2006-05-11-InstrSched.ll index 38bca283b132..37c510786a5e 100644 --- a/test/CodeGen/X86/2006-05-11-InstrSched.ll +++ b/test/CodeGen/X86/2006-05-11-InstrSched.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -mattr=+sse2 -stats -realign-stack=0 |&\ -; RUN: grep {asm-printer} | grep 35 +; RUN: llc < %s -march=x86 -mtriple=i386-linux-gnu -mcpu=penryn -mattr=+sse2 -stats -realign-stack=0 2>&1 | \ +; RUN: grep "asm-printer" | grep 35 target datalayout = "e-p:32:32" define void @foo(i32* %mc, i32* %bp, i32* %ms, i32* %xmb, i32* %mpp, i32* %tpmm, i32* %ip, i32* %tpim, i32* %dpp, i32* %tpdm, i32* %bpi, i32 %M) nounwind { diff --git a/test/CodeGen/X86/2006-07-31-SingleRegClass.ll b/test/CodeGen/X86/2006-07-31-SingleRegClass.ll index 3159cec8553e..c5c74d104863 100644 --- a/test/CodeGen/X86/2006-07-31-SingleRegClass.ll +++ b/test/CodeGen/X86/2006-07-31-SingleRegClass.ll @@ -1,7 +1,7 @@ ; PR850 ; RUN: llc < %s -march=x86 -x86-asm-syntax=att > %t -; RUN: grep {movl 4(%eax),%ebp} %t -; RUN: grep {movl 0(%eax), %ebx} %t +; RUN: grep "movl 4(%eax),%ebp" %t +; RUN: grep "movl 0(%eax), %ebx" %t define i32 @foo(i32 %__s.i.i, i32 %tmp5.i.i, i32 %tmp6.i.i, i32 %tmp7.i.i, i32 %tmp8.i.i) { %tmp9.i.i = call i32 asm sideeffect "push %ebp\0Apush %ebx\0Amovl 4($2),%ebp\0Amovl 0($2), %ebx\0Amovl $1,%eax\0Aint $$0x80\0Apop %ebx\0Apop %ebp", "={ax},i,0,{cx},{dx},{si},{di}"( i32 192, i32 %__s.i.i, i32 %tmp5.i.i, i32 %tmp6.i.i, i32 %tmp7.i.i, i32 %tmp8.i.i ) ; [#uses=1] diff --git a/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll b/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll index a19d8f7092c3..56d5f2f3040a 100644 --- a/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll +++ b/test/CodeGen/X86/2006-08-21-ExtraMovInst.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -march=x86 -mcpu=i386 | \ -; RUN: not grep {movl %eax, %edx} +; RUN: not grep "movl %eax, %edx" define i32 @foo(i32 %t, i32 %C) { entry: diff --git a/test/CodeGen/X86/2006-11-12-CSRetCC.ll b/test/CodeGen/X86/2006-11-12-CSRetCC.ll index 6ec9a488494a..a58c9b102d13 100644 --- a/test/CodeGen/X86/2006-11-12-CSRetCC.ll +++ b/test/CodeGen/X86/2006-11-12-CSRetCC.ll @@ -52,8 +52,8 @@ entry: %tmp21 = load double* %tmp20 ; [#uses=1] %tmp.upgrd.6 = getelementptr [9 x i8]* @str, i32 0, i64 0 ; [#uses=1] %tmp.upgrd.7 = call i32 (i8*, ...)* @printf( i8* %tmp.upgrd.6, double %tmp21, double %tmp19 ) ; [#uses=0] - br label %return -return: ; preds = %entry + br label %finish +finish: %retval.upgrd.8 = load i32* %retval ; [#uses=1] ret i32 %retval.upgrd.8 } diff --git a/test/CodeGen/X86/2006-11-17-IllegalMove.ll b/test/CodeGen/X86/2006-11-17-IllegalMove.ll index affb7afb1c51..783d9f94caeb 100644 --- a/test/CodeGen/X86/2006-11-17-IllegalMove.ll +++ b/test/CodeGen/X86/2006-11-17-IllegalMove.ll @@ -1,6 +1,6 @@ ; RUN: llc < %s -march=x86-64 > %t -; RUN: grep movb %t | count 2 -; RUN: grep {movzb\[wl\]} %t +; RUN: grep movb %t | count 1 +; RUN: grep "movzb[wl]" %t define void @handle_vector_size_attribute() nounwind { diff --git a/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll b/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll index a2288986362e..04d4b8ee57eb 100644 --- a/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll +++ b/test/CodeGen/X86/2007-01-13-StackPtrIndex.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -march=x86-64 > %t -; RUN: not grep {,%rsp)} %t +; RUN: not grep ",%rsp)" %t ; PR1103 target datalayout = "e-p:64:64" diff --git a/test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll b/test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll index 3312e01b3d8e..3b2e443d7d4e 100644 --- a/test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll +++ b/test/CodeGen/X86/2007-03-24-InlineAsmPModifier.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 | grep {mov %gs:72, %eax} +; RUN: llc < %s -march=x86 | grep "mov %gs:72, %eax" target datalayout = "e-p:32:32" target triple = "i686-apple-darwin9" diff --git a/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll b/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll index c1b1ad1c730d..18b06dc0857c 100644 --- a/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll +++ b/test/CodeGen/X86/2007-03-24-InlineAsmVectorOp.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -mcpu=yonah -march=x86 | \ -; RUN: grep {cmpltsd %xmm0, %xmm0} +; RUN: grep "cmpltsd %xmm0, %xmm0" target datalayout = "e-p:32:32" target triple = "i686-apple-darwin9" diff --git a/test/CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll b/test/CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll index 85a2ecc959ab..cae68c9f3a1b 100644 --- a/test/CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll +++ b/test/CodeGen/X86/2007-04-27-InlineAsm-IntMemInput.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s | not grep {bsrl.*10} +; RUN: llc < %s | not grep "bsrl.*10" ; PR1356 target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64" diff --git a/test/CodeGen/X86/2007-05-07-InvokeSRet.ll b/test/CodeGen/X86/2007-05-07-InvokeSRet.ll index deb39998a3ab..c3d7e8a05472 100644 --- a/test/CodeGen/X86/2007-05-07-InvokeSRet.ll +++ b/test/CodeGen/X86/2007-05-07-InvokeSRet.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i686-pc-linux-gnu -disable-fp-elim | not grep {addl .12, %esp} +; RUN: llc < %s -mtriple=i686-pc-linux-gnu -disable-fp-elim | not grep "addl .12, %esp" ; PR1398 %struct.S = type { i32, i32 } diff --git a/test/CodeGen/X86/2007-08-10-SignExtSubreg.ll b/test/CodeGen/X86/2007-08-10-SignExtSubreg.ll index 77291f063b79..aa0ee5d07462 100644 --- a/test/CodeGen/X86/2007-08-10-SignExtSubreg.ll +++ b/test/CodeGen/X86/2007-08-10-SignExtSubreg.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 | grep {movsbl} +; RUN: llc < %s -march=x86 | grep "movsbl" @X = global i32 0 ; [#uses=1] diff --git a/test/CodeGen/X86/2007-09-05-InvalidAsm.ll b/test/CodeGen/X86/2007-09-05-InvalidAsm.ll index 5acb05134c7c..e81534b0110b 100644 --- a/test/CodeGen/X86/2007-09-05-InvalidAsm.ll +++ b/test/CodeGen/X86/2007-09-05-InvalidAsm.ll @@ -1,4 +1,5 @@ -; RUN: llc < %s -mtriple=x86_64-apple-darwin -x86-asm-syntax=intel | not grep {lea\[\[:space:\]\]R} +; RUN: llc < %s -mtriple=x86_64-apple-darwin -x86-asm-syntax=intel | FileCheck %s +; CHECK-NOT: lea R %struct.AGenericCall = type { %struct.AGenericManager*, %struct.ComponentParameters*, i32* } %struct.AGenericManager = type <{ i8 }> diff --git a/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll b/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll index 228a915e3e5a..56a109acfc79 100644 --- a/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll +++ b/test/CodeGen/X86/2007-11-04-rip-immediate-constant.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -relocation-model=static | grep {foo str$} +; RUN: llc < %s -relocation-model=static | grep "foo str$" ; PR1761 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" target triple = "x86_64-pc-linux" diff --git a/test/CodeGen/X86/2007-12-18-LoadCSEBug.ll b/test/CodeGen/X86/2007-12-18-LoadCSEBug.ll index 2e95082afa9c..99df20da2510 100644 --- a/test/CodeGen/X86/2007-12-18-LoadCSEBug.ll +++ b/test/CodeGen/X86/2007-12-18-LoadCSEBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -mcpu=generic | grep {(%esp)} | count 2 +; RUN: llc < %s -march=x86 -mcpu=generic | grep "(%esp)" | count 2 ; PR1872 %struct.c34007g__designated___XUB = type { i32, i32, i32, i32 } diff --git a/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll b/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll index 266fd7b91325..39af9319c8d1 100644 --- a/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll +++ b/test/CodeGen/X86/2008-01-08-SchedulerCrash.ll @@ -10,10 +10,10 @@ %struct.indexentry = type { i32, i8*, i8*, i8*, i8*, i8* } -define i32 @_bfd_stab_section_find_nearest_line(i32 %offset) nounwind { +define i32 @_bfd_stab_section_find_nearest_line(i32 %offset, i1 %cond) nounwind { entry: %tmp910 = add i32 0, %offset ; [#uses=1] - br i1 true, label %bb951, label %bb917 + br i1 %cond, label %bb951, label %bb917 bb917: ; preds = %entry ret i32 0 @@ -21,7 +21,7 @@ bb917: ; preds = %entry bb951: ; preds = %bb986, %entry %tmp955 = sdiv i32 0, 2 ; [#uses=3] %tmp961 = getelementptr %struct.indexentry* null, i32 %tmp955, i32 0 ; [#uses=1] - br i1 true, label %bb986, label %bb967 + br i1 %cond, label %bb986, label %bb967 bb967: ; preds = %bb951 ret i32 0 diff --git a/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll b/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll index 0091397ca6b0..9584b718fea0 100644 --- a/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll +++ b/test/CodeGen/X86/2008-01-16-FPStackifierAssert.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 -regalloc=fast +; RUN: llc < %s -march=x86 -mattr=+sse2 -regalloc=fast -optimize-regalloc=0 define void @SolveCubic(double %a, double %b, double %c, double %d, i32* %solutions, double* %x) { entry: diff --git a/test/CodeGen/X86/2008-02-18-TailMergingBug.ll b/test/CodeGen/X86/2008-02-18-TailMergingBug.ll index bdacf5071128..a1b973d7ccfa 100644 --- a/test/CodeGen/X86/2008-02-18-TailMergingBug.ll +++ b/test/CodeGen/X86/2008-02-18-TailMergingBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -mcpu=yonah -stats |& grep {Number of block tails merged} | grep 16 +; RUN: llc < %s -march=x86 -mcpu=yonah -stats 2>&1 | grep "Number of block tails merged" | grep 16 ; PR1909 @.str = internal constant [48 x i8] c"transformed bounds: (%.2f, %.2f), (%.2f, %.2f)\0A\00" ; <[48 x i8]*> [#uses=1] diff --git a/test/CodeGen/X86/2008-02-20-InlineAsmClobber.ll b/test/CodeGen/X86/2008-02-20-InlineAsmClobber.ll index 5115e48365fc..a52b36588a36 100644 --- a/test/CodeGen/X86/2008-02-20-InlineAsmClobber.ll +++ b/test/CodeGen/X86/2008-02-20-InlineAsmClobber.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s | grep {a:} | not grep ax -; RUN: llc < %s | grep {b:} | not grep ax +; RUN: llc < %s | grep "a:" | not grep ax +; RUN: llc < %s | grep "b:" | not grep ax ; PR2078 ; The clobber list says that "ax" is clobbered. Make sure that eax isn't ; allocated to the input/output register. diff --git a/test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll b/test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll index da029079c6ff..9185a3671184 100644 --- a/test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll +++ b/test/CodeGen/X86/2008-02-22-LocalRegAllocBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -regalloc=fast -march=x86 -mattr=+mmx | grep esi +; RUN: llc < %s -regalloc=fast -optimize-regalloc=0 -march=x86 -mattr=+mmx | grep esi ; PR2082 ; Local register allocator was refusing to use ESI, EDI, and EBP so it ran out of ; registers. diff --git a/test/CodeGen/X86/2008-03-23-DarwinAsmComments.ll b/test/CodeGen/X86/2008-03-23-DarwinAsmComments.ll index 4dc3a10f4647..5ca7e3ed3dbf 100644 --- a/test/CodeGen/X86/2008-03-23-DarwinAsmComments.ll +++ b/test/CodeGen/X86/2008-03-23-DarwinAsmComments.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -asm-verbose | grep {#} | not grep -v {##} +; RUN: llc < %s -mtriple=i386-apple-darwin -asm-verbose | grep "#" | not grep -v "##" %struct.AGenericCall = type { %struct.AGenericManager*, %struct.ComponentParameters*, i32* } %struct.AGenericManager = type <{ i8 }> diff --git a/test/CodeGen/X86/2008-04-16-ReMatBug.ll b/test/CodeGen/X86/2008-04-16-ReMatBug.ll index 109069e35365..3a1de11ea21b 100644 --- a/test/CodeGen/X86/2008-04-16-ReMatBug.ll +++ b/test/CodeGen/X86/2008-04-16-ReMatBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -disable-cgp-branch-opts | grep movw | not grep {, %e} +; RUN: llc < %s -mtriple=i386-apple-darwin -disable-cgp-branch-opts | grep movw | not grep ", %e" %struct.DBC_t = type { i32, i8*, i16, %struct.DBC_t*, i8*, i8*, i8*, i8*, i8*, %struct.DBC_t*, i32, i32, i32, i32, i8*, i8*, i8*, i8*, i8*, i32, i32, i32, i32, i32, i32, i32, i32, i16, i16, i32*, i8, i16, %struct.DRVOPT*, i16 } %struct.DRVOPT = type { i16, i32, i8, %struct.DRVOPT* } diff --git a/test/CodeGen/X86/2008-04-17-CoalescerBug.ll b/test/CodeGen/X86/2008-04-17-CoalescerBug.ll index 859041eb81ff..f244793e7a95 100644 --- a/test/CodeGen/X86/2008-04-17-CoalescerBug.ll +++ b/test/CodeGen/X86/2008-04-17-CoalescerBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin | grep xorl | grep {%e} +; RUN: llc < %s -mtriple=i386-apple-darwin | grep xorl | grep "%e" ; Make sure xorl operands are 32-bit registers. %struct.tm = type { i32, i32, i32, i32, i32, i32, i32, i32, i32, i32, i8* } diff --git a/test/CodeGen/X86/2008-04-28-CoalescerBug.ll b/test/CodeGen/X86/2008-04-28-CoalescerBug.ll index 5b97eb71cbfd..7c04206de72f 100644 --- a/test/CodeGen/X86/2008-04-28-CoalescerBug.ll +++ b/test/CodeGen/X86/2008-04-28-CoalescerBug.ll @@ -1,7 +1,7 @@ ; RUN: llc < %s -mtriple=x86_64-apple-darwin | grep movl > %t -; RUN: not grep {r\[abcd\]x} %t -; RUN: not grep {r\[ds\]i} %t -; RUN: not grep {r\[bs\]p} %t +; RUN: not grep "r[abcd]x" %t +; RUN: not grep "r[ds]i" %t +; RUN: not grep "r[bs]p" %t %struct.BITMAP = type { i16, i16, i32, i32, i32, i32, i32, i32, i8*, i8* } %struct.BltData = type { float, float, float, float } diff --git a/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll b/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll index c068f8ac632c..4e73b5aa1cdb 100644 --- a/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll +++ b/test/CodeGen/X86/2008-05-28-LocalRegAllocBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -regalloc=fast +; RUN: llc < %s -mtriple=i386-apple-darwin -regalloc=fast -optimize-regalloc=0 @_ZTVN10Evaluation10GridOutputILi3EEE = external constant [5 x i32 (...)*] ; <[5 x i32 (...)*]*> [#uses=1] diff --git a/test/CodeGen/X86/2008-08-06-CmpStride.ll b/test/CodeGen/X86/2008-08-06-CmpStride.ll index 99cb8569b3f4..bdac8fd48422 100644 --- a/test/CodeGen/X86/2008-08-06-CmpStride.ll +++ b/test/CodeGen/X86/2008-08-06-CmpStride.ll @@ -1,4 +1,4 @@ -; RUN: llc -march=x86-64 < %s -o - | grep {cmpl \\$\[1\], %} +; RUN: llc -march=x86-64 < %s -o - | grep "cmpl \$[1], %" @.str = internal constant [4 x i8] c"%d\0A\00" diff --git a/test/CodeGen/X86/2008-08-25-AsmRegTypeMismatch.ll b/test/CodeGen/X86/2008-08-25-AsmRegTypeMismatch.ll deleted file mode 100644 index f0d46a0252c3..000000000000 --- a/test/CodeGen/X86/2008-08-25-AsmRegTypeMismatch.ll +++ /dev/null @@ -1,18 +0,0 @@ -; RUN: llc < %s -mcpu=core2 | grep xorps | count 2 -; RUN: llc < %s -mcpu=core2 | not grep movap -; PR2715 - -target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128" -target triple = "x86_64-unknown-linux-gnu" - %struct.XPTTypeDescriptorPrefix = type { i8 } - %struct.nsISupports = type { i32 (...)** } - %struct.nsXPTCMiniVariant = type { %"struct.nsXPTCMiniVariant::._39" } - %"struct.nsXPTCMiniVariant::._39" = type { i64 } - %struct.nsXPTCVariant = type { %struct.nsXPTCMiniVariant, i8*, %struct.nsXPTType, i8 } - %struct.nsXPTType = type { %struct.XPTTypeDescriptorPrefix } - -define i32 @XPTC_InvokeByIndex(%struct.nsISupports* %that, i32 %methodIndex, i32 %paramCount, %struct.nsXPTCVariant* %params) nounwind { -entry: - call void asm sideeffect "", "{xmm0},{xmm1},{xmm2},{xmm3},{xmm4},{xmm5},{xmm6},{xmm7},~{dirflag},~{fpsr},~{flags}"( double undef, double undef, double undef, double 1.0, double undef, double 0.0, double undef, double 0.0 ) nounwind - ret i32 0 -} diff --git a/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll b/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll index 1d27fc53ea5e..c63c890add50 100644 --- a/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll +++ b/test/CodeGen/X86/2008-08-31-EH_RETURN32.ll @@ -1,15 +1,36 @@ ; Check that eh_return & unwind_init were properly lowered -; RUN: llc < %s | grep %ebp | count 9 -; RUN: llc < %s | grep %ecx | count 5 +; RUN: llc < %s -verify-machineinstrs | FileCheck %s target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64" target triple = "i386-pc-linux" -define i8* @test(i32 %a, i8* %b) { +; CHECK: test1 +; CHECK: pushl %ebp +define i8* @test1(i32 %a, i8* %b) { entry: call void @llvm.eh.unwind.init() %foo = alloca i32 call void @llvm.eh.return.i32(i32 %a, i8* %b) +; CHECK: movl 12(%ebp), %[[ECX:e..]] +; CHECK: movl 8(%ebp), %[[EAX:e..]] +; CHECK: movl %[[ECX]], 4(%ebp,%[[EAX]]) +; CHECK: leal 4(%ebp,%[[EAX]]), %[[ECX2:e..]] +; CHECK: movl %[[ECX2]], %esp +; CHECK: ret + unreachable +} + +; CHECK: test2 +; CHECK: pushl %ebp +define i8* @test2(i32 %a, i8* %b) { +entry: + call void @llvm.eh.return.i32(i32 %a, i8* %b) +; CHECK: movl 12(%ebp), %[[ECX:e..]] +; CHECK: movl 8(%ebp), %[[EAX:e..]] +; CHECK: movl %[[ECX]], 4(%ebp,%[[EAX]]) +; CHECK: leal 4(%ebp,%[[EAX]]), %[[ECX2:e..]] +; CHECK: movl %[[ECX2]], %esp +; CHECK: ret unreachable } diff --git a/test/CodeGen/X86/2008-09-17-inline-asm-1.ll b/test/CodeGen/X86/2008-09-17-inline-asm-1.ll index 86e50c98bfdb..4b2774b64b7b 100644 --- a/test/CodeGen/X86/2008-09-17-inline-asm-1.ll +++ b/test/CodeGen/X86/2008-09-17-inline-asm-1.ll @@ -1,5 +1,5 @@ ; RUN: llc < %s -march=x86 | FileCheck %s -; RUN: llc < %s -march=x86 -regalloc=fast | FileCheck %s +; RUN: llc < %s -march=x86 -regalloc=fast -optimize-regalloc=0 | FileCheck %s ; %0 must not be put in EAX or EDX. ; In the first asm, $0 and $2 must not be put in EAX. diff --git a/test/CodeGen/X86/2008-09-18-inline-asm-2.ll b/test/CodeGen/X86/2008-09-18-inline-asm-2.ll index 6867ae798087..5c2fbeee5c70 100644 --- a/test/CodeGen/X86/2008-09-18-inline-asm-2.ll +++ b/test/CodeGen/X86/2008-09-18-inline-asm-2.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -regalloc=fast | FileCheck %s +; RUN: llc < %s -march=x86 -regalloc=fast -optimize-regalloc=0 | FileCheck %s ; RUN: llc < %s -march=x86 -regalloc=basic | FileCheck %s ; RUN: llc < %s -march=x86 -regalloc=greedy | FileCheck %s diff --git a/test/CodeGen/X86/2008-10-24-FlippedCompare.ll b/test/CodeGen/X86/2008-10-24-FlippedCompare.ll index 421b931ecd5a..e504bc3e776c 100644 --- a/test/CodeGen/X86/2008-10-24-FlippedCompare.ll +++ b/test/CodeGen/X86/2008-10-24-FlippedCompare.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 -o - | not grep {ucomiss\[^,\]*esp} +; RUN: llc < %s -march=x86 -mattr=+sse2 -o - | not grep "ucomiss[^,]*esp" define void @f(float %wt) { entry: diff --git a/test/CodeGen/X86/2008-10-27-CoalescerBug.ll b/test/CodeGen/X86/2008-10-27-CoalescerBug.ll index 9d144a4be0e9..b2cf34cd2033 100644 --- a/test/CodeGen/X86/2008-10-27-CoalescerBug.ll +++ b/test/CodeGen/X86/2008-10-27-CoalescerBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 -stats |& FileCheck %s +; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 -stats 2>&1 | FileCheck %s ; Now this test spills one register. But a reload in the loop is cheaper than ; the divsd so it's a win. @@ -17,8 +17,7 @@ bb: ; preds = %bb, %entry ; CHECK: %bb30.loopexit ; CHECK: divsd %xmm0 ; CHECK: movsd %xmm0, 16(%esp) -; CHECK: .align -; CHECK-NEXT: %bb3 +; CHECK: %bb3 bb3: ; preds = %bb30.loopexit, %bb25, %bb3 %2 = load i32* null, align 4 ; [#uses=1] %3 = mul i32 %2, 0 ; [#uses=1] diff --git a/test/CodeGen/X86/2008-12-23-crazy-address.ll b/test/CodeGen/X86/2008-12-23-crazy-address.ll index 2edcaea80ce7..0e95c9e34e1c 100644 --- a/test/CodeGen/X86/2008-12-23-crazy-address.ll +++ b/test/CodeGen/X86/2008-12-23-crazy-address.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -relocation-model=static | grep {lea.*X.*esp} | count 2 +; RUN: llc < %s -march=x86 -relocation-model=static | grep "lea.*X.*esp" | count 2 @X = external global [0 x i32] diff --git a/test/CodeGen/X86/2009-01-31-BigShift2.ll b/test/CodeGen/X86/2009-01-31-BigShift2.ll index 3e425536d1b9..b478f27a95b9 100644 --- a/test/CodeGen/X86/2009-01-31-BigShift2.ll +++ b/test/CodeGen/X86/2009-01-31-BigShift2.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 | grep {mov.*56} +; RUN: llc < %s -march=x86 | grep "mov.*56" ; PR3449 define void @test(<8 x double>* %P, i64* %Q) nounwind { diff --git a/test/CodeGen/X86/2009-02-25-CommuteBug.ll b/test/CodeGen/X86/2009-02-25-CommuteBug.ll index 7ea699833ba8..9cbf35094061 100644 --- a/test/CodeGen/X86/2009-02-25-CommuteBug.ll +++ b/test/CodeGen/X86/2009-02-25-CommuteBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -mattr=+sse2 -stats |& not grep commuted +; RUN: llc < %s -march=x86 -mattr=+sse2 -stats 2>&1 | not grep commuted ; rdar://6608609 define <2 x double> @t(<2 x double> %A, <2 x double> %B, <2 x double> %C) nounwind readnone { diff --git a/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll b/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll index 0b5b7bdd94d7..d50fe6f73a00 100644 --- a/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll +++ b/test/CodeGen/X86/2009-02-26-MachineLICMBug.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -march=x86-64 -mattr=+sse3,+sse41 -stats |& grep {8 machine-licm} -; RUN: llc < %s -march=x86-64 -mattr=+sse3,+sse41 | FileCheck %s +; RUN: llc < %s -march=x86-64 -mattr=+sse3,+sse41 -mcpu=penryn -stats 2>&1 | grep "5 machine-licm" +; RUN: llc < %s -march=x86-64 -mattr=+sse3,+sse41 -mcpu=penryn | FileCheck %s ; rdar://6627786 ; rdar://7792037 diff --git a/test/CodeGen/X86/2009-03-12-CPAlignBug.ll b/test/CodeGen/X86/2009-03-12-CPAlignBug.ll index 3564f01a7c43..847a43fb06a1 100644 --- a/test/CodeGen/X86/2009-03-12-CPAlignBug.ll +++ b/test/CodeGen/X86/2009-03-12-CPAlignBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 | not grep {.space} +; RUN: llc < %s -mtriple=i386-apple-darwin -mattr=+sse2 | not grep ".space" ; rdar://6668548 declare double @llvm.sqrt.f64(double) nounwind readonly diff --git a/test/CodeGen/X86/2009-03-23-MultiUseSched.ll b/test/CodeGen/X86/2009-03-23-MultiUseSched.ll index 8bbdb0e82f78..d934ec9a88f8 100644 --- a/test/CodeGen/X86/2009-03-23-MultiUseSched.ll +++ b/test/CodeGen/X86/2009-03-23-MultiUseSched.ll @@ -1,7 +1,7 @@ ; RUN: llc < %s -mtriple=x86_64-linux -relocation-model=static -o /dev/null -stats -info-output-file - > %t ; RUN: not grep spill %t -; RUN: not grep {%rsp} %t -; RUN: not grep {%rbp} %t +; RUN: not grep "%rsp" %t +; RUN: not grep "%rbp" %t ; The register-pressure scheduler should be able to schedule this in a ; way that does not require spills. diff --git a/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll b/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll index f46eed4769f7..ad18a0c5b94d 100644 --- a/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll +++ b/test/CodeGen/X86/2009-04-16-SpillerUnfold.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -disable-fp-elim -stats |& grep {Number of modref unfolded} +; RUN: llc < %s -mtriple=x86_64-apple-darwin10.0 -relocation-model=pic -disable-fp-elim -stats 2>&1 | grep "Number of modref unfolded" ; XFAIL: * ; 69408 removed the opportunity for this optimization to work diff --git a/test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll b/test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll index 9f5a8c53be18..5cb05e8a796f 100644 --- a/test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll +++ b/test/CodeGen/X86/2009-04-21-NoReloadImpDef.ll @@ -1,5 +1,5 @@ ; RUN: llc -mtriple=i386-apple-darwin10.0 -relocation-model=pic -asm-verbose=false \ -; RUN: -disable-fp-elim -mattr=-sse41,-sse3,+sse2 -post-RA-scheduler=false -regalloc=basic < %s | \ +; RUN: -mcpu=generic -disable-fp-elim -mattr=-sse41,-sse3,+sse2 -post-RA-scheduler=false -regalloc=basic < %s | \ ; RUN: FileCheck %s ; rdar://6808032 diff --git a/test/CodeGen/X86/2009-04-24.ll b/test/CodeGen/X86/2009-04-24.ll index d6ed0c42230d..08bf9e3f9f36 100644 --- a/test/CodeGen/X86/2009-04-24.ll +++ b/test/CodeGen/X86/2009-04-24.ll @@ -1,6 +1,6 @@ -; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu -regalloc=fast -relocation-model=pic > %t2 -; RUN: grep {leaq.*TLSGD} %t2 -; RUN: grep {__tls_get_addr} %t2 +; RUN: llc < %s -march=x86-64 -mtriple=x86_64-linux-gnu -regalloc=fast -optimize-regalloc=0 -relocation-model=pic > %t2 +; RUN: grep "leaq.*TLSGD" %t2 +; RUN: grep "__tls_get_addr" %t2 ; PR4004 @i = thread_local global i32 15 diff --git a/test/CodeGen/X86/2009-04-29-IndirectDestOperands.ll b/test/CodeGen/X86/2009-04-29-IndirectDestOperands.ll index a2fd2e4c51c9..a6ed74ba2ee9 100644 --- a/test/CodeGen/X86/2009-04-29-IndirectDestOperands.ll +++ b/test/CodeGen/X86/2009-04-29-IndirectDestOperands.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s | grep {movl.*%ebx, 8(%esi)} +; RUN: llc < %s | grep "movl.*%ebx, 8(%esi)" target datalayout = "e-p:32:32:32-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:32:64-f32:32:32-f64:32:64-v64:64:64-v128:128:128-a0:0:64-f80:128:128" target triple = "i386-apple-darwin9.0" diff --git a/test/CodeGen/X86/2009-05-30-ISelBug.ll b/test/CodeGen/X86/2009-05-30-ISelBug.ll index af552d4ce20d..fe04272082c9 100644 --- a/test/CodeGen/X86/2009-05-30-ISelBug.ll +++ b/test/CodeGen/X86/2009-05-30-ISelBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86-64 | not grep {movzbl %\[abcd\]h,} +; RUN: llc < %s -march=x86-64 | not grep "movzbl %[abcd]h," define void @BZ2_bzDecompress_bb5_2E_outer_bb35_2E_i_bb54_2E_i(i32*, i32 %c_nblock_used.2.i, i32 %.reload51, i32* %.out, i32* %.out1, i32* %.out2, i32* %.out3) nounwind { newFuncRoot: diff --git a/test/CodeGen/X86/20090313-signext.ll b/test/CodeGen/X86/20090313-signext.ll index de930d512678..b8effa677355 100644 --- a/test/CodeGen/X86/20090313-signext.ll +++ b/test/CodeGen/X86/20090313-signext.ll @@ -1,6 +1,6 @@ ; RUN: llc < %s -march=x86-64 -relocation-model=pic > %t -; RUN: grep {movswl %ax, %edi} %t -; RUN: grep {movw (%rax), %ax} %t +; RUN: grep "movswl %ax, %edi" %t +; RUN: grep "movw (%rax), %ax" %t ; XFAIL: * @x = common global i16 0 diff --git a/test/CodeGen/X86/2010-01-19-OptExtBug.ll b/test/CodeGen/X86/2010-01-19-OptExtBug.ll index cd8960b9ed7b..eb4a5c04a2ae 100644 --- a/test/CodeGen/X86/2010-01-19-OptExtBug.ll +++ b/test/CodeGen/X86/2010-01-19-OptExtBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=x86_64-apple-darwin11 -relocation-model=pic -disable-fp-elim -stats |& not grep ext-opt +; RUN: llc < %s -mtriple=x86_64-apple-darwin11 -relocation-model=pic -disable-fp-elim -stats 2>&1 | not grep ext-opt define fastcc i8* @S_scan_str(i8* %start, i32 %keep_quoted, i32 %keep_delims) nounwind ssp { entry: diff --git a/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll b/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll index 90eb84d1dc40..35f233952df0 100644 --- a/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll +++ b/test/CodeGen/X86/2010-05-06-LocalInlineAsmClobber.ll @@ -1,4 +1,4 @@ -; RUN: llc -regalloc=fast %s -o %t +; RUN: llc -regalloc=fast -optimize-regalloc=0 %s -o %t ; PR7066 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" diff --git a/test/CodeGen/X86/2010-05-12-FastAllocKills.ll b/test/CodeGen/X86/2010-05-12-FastAllocKills.ll index 36a99d6f90e7..eb0b150378d6 100644 --- a/test/CodeGen/X86/2010-05-12-FastAllocKills.ll +++ b/test/CodeGen/X86/2010-05-12-FastAllocKills.ll @@ -1,4 +1,4 @@ -; RUN: llc -regalloc=fast -verify-machineinstrs < %s +; RUN: llc -regalloc=fast -optimize-regalloc=0 -verify-machineinstrs < %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-apple-darwin" diff --git a/test/CodeGen/X86/2010-06-15-FastAllocEarlyCLobber.ll b/test/CodeGen/X86/2010-06-15-FastAllocEarlyCLobber.ll index 4639866afc5e..9b47bb75bf16 100644 --- a/test/CodeGen/X86/2010-06-15-FastAllocEarlyCLobber.ll +++ b/test/CodeGen/X86/2010-06-15-FastAllocEarlyCLobber.ll @@ -1,4 +1,4 @@ -; RUN: llc -regalloc=fast < %s | FileCheck %s +; RUN: llc -regalloc=fast -optimize-regalloc=0 < %s | FileCheck %s ; PR7382 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64" target triple = "x86_64-unknown-linux-gnu" diff --git a/test/CodeGen/X86/2011-04-13-SchedCmpJmp.ll b/test/CodeGen/X86/2011-04-13-SchedCmpJmp.ll index c6f4b497af10..be10ad5cc206 100644 --- a/test/CodeGen/X86/2011-04-13-SchedCmpJmp.ll +++ b/test/CodeGen/X86/2011-04-13-SchedCmpJmp.ll @@ -12,9 +12,9 @@ declare hidden fastcc void @_ZN3JSCL23returnToThrowTrampolineEPNS_12JSGlobalData ; Avoid hoisting the test above loads or copies ; CHECK: %entry -; CHECK: cmpq +; CHECK: test ; CHECK-NOT: mov -; CHECK: jb +; CHECK: je define i32 @cti_op_eq(i8** nocapture %args) nounwind ssp { entry: %0 = load i8** null, align 8 diff --git a/test/CodeGen/X86/2011-04-19-sclr-bb.ll b/test/CodeGen/X86/2011-04-19-sclr-bb.ll new file mode 100644 index 000000000000..771e4b3a0815 --- /dev/null +++ b/test/CodeGen/X86/2011-04-19-sclr-bb.ll @@ -0,0 +1,21 @@ +; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7 | FileCheck %s + +; Make sure that values of illegal types are not scalarized between basic blocks. +;CHECK: test +;CHECK-NOT: pinsrw +;CHECK-NOT: pextrb +;CHECK: ret +define void @test(i1 %cond) { +ENTRY: + br label %LOOP +LOOP: + %vec1 = phi <4 x i1> [ %vec1_or_2, %LOOP ], [ zeroinitializer, %ENTRY ] + %vec2 = phi <4 x i1> [ %vec2_and_1, %LOOP ], [ zeroinitializer, %ENTRY ] + %vec1_or_2 = or <4 x i1> %vec1, %vec2 + %vec2_and_1 = and <4 x i1> %vec2, %vec1 + br i1 %cond, label %LOOP, label %EXIT + +EXIT: + ret void +} + diff --git a/test/CodeGen/X86/2011-06-03-x87chain.ll b/test/CodeGen/X86/2011-06-03-x87chain.ll index bf7f583aab73..ce63c74fbdfd 100644 --- a/test/CodeGen/X86/2011-06-03-x87chain.ll +++ b/test/CodeGen/X86/2011-06-03-x87chain.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86 -mattr=+sse | FileCheck %s +; RUN: llc < %s -mcpu=generic -march=x86 -mattr=+sse | FileCheck %s define float @chainfail1(i64* nocapture %a, i64* nocapture %b, i32 %x, i32 %y, float* nocapture %f) nounwind uwtable noinline ssp { entry: diff --git a/test/CodeGen/X86/2011-06-12-FastAllocSpill.ll b/test/CodeGen/X86/2011-06-12-FastAllocSpill.ll index a51dad03039e..47ef693cc25e 100644 --- a/test/CodeGen/X86/2011-06-12-FastAllocSpill.ll +++ b/test/CodeGen/X86/2011-06-12-FastAllocSpill.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -O0 -disable-fp-elim -relocation-model=pic -stats |& FileCheck %s +; RUN: llc < %s -O0 -disable-fp-elim -relocation-model=pic -stats 2>&1 | FileCheck %s ; ; This test should not cause any spilling with RAFast. ; diff --git a/test/CodeGen/X86/2011-09-18-sse2cmp.ll b/test/CodeGen/X86/2011-09-18-sse2cmp.ll index 844d674fc9e5..a6f428fdacc3 100644 --- a/test/CodeGen/X86/2011-09-18-sse2cmp.ll +++ b/test/CodeGen/X86/2011-09-18-sse2cmp.ll @@ -1,4 +1,4 @@ -;RUN: llc < %s -march=x86 -mcpu=yonah -promote-elements -mattr=+sse2,-sse41 | FileCheck %s +;RUN: llc < %s -march=x86 -mcpu=yonah -mattr=+sse2,-sse41 | FileCheck %s ;CHECK: @max ;CHECK: cmplepd diff --git a/test/CodeGen/X86/2011-09-21-setcc-bug.ll b/test/CodeGen/X86/2011-09-21-setcc-bug.ll index ed5649c60265..4daf6781495a 100644 --- a/test/CodeGen/X86/2011-09-21-setcc-bug.ll +++ b/test/CodeGen/X86/2011-09-21-setcc-bug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -march=x86-64 -mcpu=corei7 -promote-elements -mattr=+sse41 +; RUN: llc < %s -march=x86-64 -mcpu=corei7 -mattr=+sse41 ; Make sure we are not crashing on this code. diff --git a/test/CodeGen/X86/2011-10-11-srl.ll b/test/CodeGen/X86/2011-10-11-srl.ll index cf9d36f1c48c..6c6d340fd1a4 100644 --- a/test/CodeGen/X86/2011-10-11-srl.ll +++ b/test/CodeGen/X86/2011-10-11-srl.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -promote-elements -mattr=-sse41 +; RUN: llc < %s -mtriple=x86_64-apple-darwin -mcpu=corei7-avx -mattr=-sse41 target triple = "x86_64-unknown-linux-gnu" diff --git a/test/CodeGen/X86/2011-12-15-vec_shift.ll b/test/CodeGen/X86/2011-12-15-vec_shift.ll index 6f9188c44268..dc3a08bb4daf 100644 --- a/test/CodeGen/X86/2011-12-15-vec_shift.ll +++ b/test/CodeGen/X86/2011-12-15-vec_shift.ll @@ -1,5 +1,5 @@ -; RUN: llc -march=x86-64 -mattr=+sse41 < %s | FileCheck %s -check-prefix=CHECK-W-SSE4 -; RUN: llc -march=x86-64 -mattr=-sse41 < %s | FileCheck %s -check-prefix=CHECK-WO-SSE4 +; RUN: llc -march=x86-64 -mattr=+sse41 -mcpu=penryn < %s | FileCheck %s -check-prefix=CHECK-W-SSE4 +; RUN: llc -march=x86-64 -mattr=-sse41 -mcpu=penryn < %s | FileCheck %s -check-prefix=CHECK-WO-SSE4 ; Test case for r146671 target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.7" diff --git a/test/CodeGen/X86/2012-02-20-MachineCPBug.ll b/test/CodeGen/X86/2012-02-20-MachineCPBug.ll index 557d49d82f84..477b4deba820 100644 --- a/test/CodeGen/X86/2012-02-20-MachineCPBug.ll +++ b/test/CodeGen/X86/2012-02-20-MachineCPBug.ll @@ -1,4 +1,4 @@ -; RUN: llc < %s -mtriple=i386-apple-macosx -mattr=+sse | FileCheck %s +; RUN: llc < %s -mtriple=i386-apple-macosx -mcpu=core2 -mattr=+sse | FileCheck %s ; PR11940: Do not optimize away movb %al, %ch %struct.APInt = type { i64* } diff --git a/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll b/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll index 101eccabbd49..18a331377353 100644 --- a/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll +++ b/test/CodeGen/X86/2012-03-26-PostRALICMBug.ll @@ -1,5 +1,5 @@ -; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -stats |& \ -; RUN: not grep {Number of machine instructions hoisted out of loops post regalloc} +; RUN: llc < %s -mtriple=x86_64-apple-darwin10 -stats 2>&1 | \ +; RUN: not grep "Number of machine instructions hoisted out of loops post regalloc" ; rdar://11095580 diff --git a/test/CodeGen/X86/2012-04-26-sdglue.ll b/test/CodeGen/X86/2012-04-26-sdglue.ll index 9543587747a6..9a66b670c7af 100644 --- a/test/CodeGen/X86/2012-04-26-sdglue.ll +++ b/test/CodeGen/X86/2012-04-26-sdglue.ll @@ -5,7 +5,8 @@ ; It's hard to test for the ISEL condition because CodeGen optimizes ; away the bugpointed code. Just ensure the basics are still there. ;CHECK: func: -;CHECK: vmovups +;CHECK: vpxor +;CHECK: vinsertf128 ;CHECK: vpshufd ;CHECK: vpshufd ;CHECK: vmulps diff --git a/test/CodeGen/X86/2012-05-17-TwoAddressBug.ll b/test/CodeGen/X86/2012-05-17-TwoAddressBug.ll new file mode 100644 index 000000000000..171c3f18dc8b --- /dev/null +++ b/test/CodeGen/X86/2012-05-17-TwoAddressBug.ll @@ -0,0 +1,16 @@ +; RUN: llc < %s -mtriple=x86_64-apple-macosx -pre-RA-sched=source | FileCheck %s + +; Teach two-address pass to update the "source" map so it doesn't perform a +; non-profitable commute using outdated info. The test case would still fail +; because of poor pre-RA schedule. That will be fixed by MI scheduler. +; rdar://11472010 +define i32 @t(i32 %mask) nounwind readnone ssp { +entry: +; CHECK: t: +; CHECK-NOT: mov + %sub = add i32 %mask, -65535 + %shr = lshr i32 %sub, 23 + %and = and i32 %mask, 1 + %add = add i32 %shr, %and + ret i32 %add +} diff --git a/test/CodeGen/X86/2012-05-19-CoalescerCrash.ll b/test/CodeGen/X86/2012-05-19-CoalescerCrash.ll new file mode 100644 index 000000000000..837fbc0777f7 --- /dev/null +++ b/test/CodeGen/X86/2012-05-19-CoalescerCrash.ll @@ -0,0 +1,122 @@ +; RUN: llc < %s -verify-coalescing +; PR12892 +; +; Dead code elimination during coalesing causes a live range to split into two +; virtual registers. Stale identity copies that had already been joined were +; interfering with the liveness computations. + +target triple = "i386-pc-linux-gnu" + +define void @_ZN4llvm17AsmMatcherEmitter3runERNS_11raw_ostreamE() align 2 { + invoke void @_ZNK4llvm13CodeGenTarget12getAsmParserEv() + to label %1 unwind label %5 + +;