llvm-6502/test/CodeGen/Mips/msa
Daniel Sanders acfa5a203c [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching BUILD_VECTOR.
Most constant BUILD_VECTOR's are matched using ComplexPatterns which cover
bitcasted as well as normal vectors. However, it doesn't seem to be possible to
match ldi.[bhwd] in a type-agnostic manner (e.g. to support the widest range of
immediates, it should be possible to use ldi.b to load v2i64) using TableGen so
ldi.[bhwd] is matched using custom code in MipsSEISelDAGToDAG.cpp

This made the majority of the constant splat BUILD_VECTOR lowering redundant.
The only transformation remaining for constant splats is when an (up-to) 32-bit
constant splat is possible but the value does not fit into a 10-bit signed
integer. In this case, the BUILD_VECTOR is transformed into a bitcasted
BUILD_VECTOR so that fill.[bhw] can be used to splat the vector from a GPR32
register (which is initialized using the usual lui/addui sequence).

There are no additional tests since this is a re-implementation of previous
functionality. The change is intended to make it easier to implement some of
the upcoming instruction selection patches since they can rely on existing
support for BUILD_VECTOR's in the DAGCombiner.

compare_float.ll changed slightly because a BITCAST is no longer
introduced during legalization.



git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@191299 91177308-0d34-0410-b5e6-96231b3b80d8
2013-09-24 13:33:07 +00:00
..
2r_vector_scalar.ll
2r.ll
2rf_exup.ll
2rf_float_int.ll
2rf_fq.ll
2rf_int_float.ll
2rf_tq.ll
2rf.ll [mips][msa] Added support for matching fadd, fdiv, flog2, fmul, frint, fsqrt, and fsub from normal IR (i.e. not intrinsics) 2013-09-11 10:51:30 +00:00
3r_4r_widen.ll
3r_4r.ll
3r_ld_st.ll
3r_splat.ll
3r-a.ll
3r-b.ll
3r-c.ll
3r-d.ll
3r-i.ll
3r-m.ll [mips][msa] Added support for matching mulv, nlzc, sll, sra, srl, and subv from normal IR (i.e. not intrinsics) 2013-09-11 11:58:30 +00:00
3r-p.ll
3r-s.ll [mips][msa] Added support for matching mulv, nlzc, sll, sra, srl, and subv from normal IR (i.e. not intrinsics) 2013-09-11 11:58:30 +00:00
3r-v.ll
3rf_4rf_q.ll
3rf_4rf.ll
3rf_exdo.ll
3rf_float_int.ll
3rf_int_float.ll
3rf_q.ll
3rf.ll [mips][msa] Added support for matching fadd, fdiv, flog2, fmul, frint, fsqrt, and fsub from normal IR (i.e. not intrinsics) 2013-09-11 10:51:30 +00:00
arithmetic_float.ll [mips][msa] Added partial support for matching fmax_a from normal IR (i.e. not intrinsics) 2013-09-24 13:02:08 +00:00
arithmetic.ll [mips][msa] Added support for matching max, maxi, min, mini from normal IR (i.e. not intrinsics) 2013-09-24 12:18:31 +00:00
basic_operations_float.ll [mips][msa] Implemented build_vector using ldi, fill, and custom SelectionDAG nodes (VSPLAT and VSPLATD) 2013-09-23 12:02:46 +00:00
basic_operations.ll [mips][msa] Non-constant BUILD_VECTOR's should be expanded to INSERT_VECTOR_ELT instead of memory operations. 2013-09-24 13:16:15 +00:00
bit.ll
bitcast.ll
bitwise.ll [mips][msa] Added support for matching andi, ori, nori, and xori from normal IR (i.e. not intrinsics) 2013-09-24 12:32:47 +00:00
compare_float.ll [mips][msa] Remove the VSPLAT and VSPLATD nodes in favour of matching BUILD_VECTOR. 2013-09-24 13:33:07 +00:00
compare.ll [mips][msa] Added support for matching max, maxi, min, mini from normal IR (i.e. not intrinsics) 2013-09-24 12:18:31 +00:00
elm_copy.ll [mips][msa] Summarize tests 2013-08-28 10:02:29 +00:00
elm_cxcmsa.ll
elm_insv.ll
elm_move.ll
elm_shift_slide.ll
i5_ld_st.ll
i5-a.ll
i5-b.ll
i5-c.ll
i5-m.ll
i5-s.ll
i8.ll [mips][msa] Added support for matching bsel and bseli from normal IR (i.e. not intrinsics) 2013-09-24 12:04:44 +00:00
i10.ll
spill.ll
vec.ll [mips][msa] Added support for matching bsel and bseli from normal IR (i.e. not intrinsics) 2013-09-24 12:04:44 +00:00
vecs10.ll