| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | Implement support for the formal_arguments node. To get this, targets ↵ | Chris Lattner | 2006-04-12 | 1 | -3/+8 | |
| | | | | | | | shouldcustom legalize it and remove their XXXTargetLowering::LowerArguments overload llvm-svn: 27604 | |||||
| * | Only get Tmp2 for cases where number of operands is > 1. Fixed return void. | Evan Cheng | 2006-04-11 | 1 | -1/+1 | |
| | | | | | llvm-svn: 27586 | |||||
| * | add some todos | Chris Lattner | 2006-04-11 | 1 | -0/+8 | |
| | | | | | llvm-svn: 27580 | |||||
| * | Add basic support for legalizing returns of vectors | Chris Lattner | 2006-04-11 | 1 | -9/+36 | |
| | | | | | llvm-svn: 27578 | |||||
| * | Missing break | Evan Cheng | 2006-04-10 | 1 | -0/+1 | |
| | | | | | llvm-svn: 27559 | |||||
| * | Add code generator support for VSELECT | Chris Lattner | 2006-04-08 | 1 | -0/+5 | |
| | | | | | llvm-svn: 27542 | |||||
| * | Canonicalize vvector_shuffle(x,x) -> vvector_shuffle(x,undef) to enable patterns | Chris Lattner | 2006-04-08 | 1 | -2/+14 | |
| | | | | | | | to match again :) llvm-svn: 27533 | |||||
| * | add a sanity check: LegalizeOp should return a value that is the same type | Chris Lattner | 2006-04-08 | 1 | -0/+3 | |
| | | | | | | | as its input. llvm-svn: 27528 | |||||
| * | INSERT_VECTOR_ELT lowering bug: | Evan Cheng | 2006-04-08 | 1 | -14/+11 | |
| | | | | | | | | | | store vector to $esp store element to $esp + sizeof(VT) * index load vector from $esp The bug is VT is the type of the vector element, not the type of the vector! llvm-svn: 27517 | |||||
| * | Exapnd a VECTOR_SHUFFLE to a BUILD_VECTOR if target asks for it to be expanded | Evan Cheng | 2006-04-05 | 1 | -2/+30 | |
| | | | | | | | or custom lowering fails. llvm-svn: 27432 | |||||
| * | * Add supprot for SCALAR_TO_VECTOR operations where the input needs to be | Chris Lattner | 2006-04-04 | 1 | -21/+102 | |
| | | | | | | | | | | | promoted/expanded (e.g. SCALAR_TO_VECTOR from i8/i16 on PPC). * Add support for targets to request that VECTOR_SHUFFLE nodes be promoted to a canonical type, for example, we only want v16i8 shuffles on PPC. * Move isShuffleLegal out of TLI into Legalize. * Teach isShuffleLegal to allow shuffles that need to be promoted. llvm-svn: 27399 | |||||
| * | Implement promotion for EXTRACT_VECTOR_ELT, allowing v16i8 multiplies to ↵ | Chris Lattner | 2006-04-02 | 1 | -16/+27 | |
| | | | | | | | work with PowerPC. llvm-svn: 27349 | |||||
| * | Implement the Expand action for binary vector operations to break the binop | Chris Lattner | 2006-04-02 | 1 | -1/+18 | |
| | | | | | | | | into elements and operate on each piece. This allows generic vector integer multiplies to work on PPC, though the generated code is horrible. llvm-svn: 27347 | |||||
| * | Add a new -view-legalize-dags command line option | Chris Lattner | 2006-04-02 | 1 | -1/+12 | |
| | | | | | llvm-svn: 27342 | |||||
| * | Do not endian swap split vector loads. This fixes ↵ | Chris Lattner | 2006-03-31 | 1 | -2/+0 | |
| | | | | | | | | | UnitTests/Vector/sumarray-dbl on PPC. Now all UnitTests/Vector/* tests pass on PPC. llvm-svn: 27299 | |||||
| * | Do not endian swap the operands to a store if the operands came from a vector. | Chris Lattner | 2006-03-31 | 1 | -3/+3 | |
| | | | | | | | This fixes UnitTests/Vector/simple.c with altivec. llvm-svn: 27298 | |||||
| * | Implement PromoteOp for VEXTRACT_VECTOR_ELT. Thsi fixes | Chris Lattner | 2006-03-31 | 1 | -42/+54 | |
| | | | | | | | Generic/vector.ll:test_extract_elt on non-sse X86 systems. llvm-svn: 27294 | |||||
| * | Scalarized vector stores need not be legal, e.g. if the vector element type | Chris Lattner | 2006-03-31 | 1 | -0/+3 | |
| | | | | | | | | needs to be promoted or expanded. Relegalize the scalar store once created. This fixes CodeGen/Generic/vector.ll:test1 on non-SSE x86 targets. llvm-svn: 27293 | |||||
| * | Significantly improve handling of vectors that are live across basic blocks, | Chris Lattner | 2006-03-31 | 1 | -4/+1 | |
| | | | | | | | | handling cases where the vector elements need promotion, expansion, and when the vector type itself needs to be decimated. llvm-svn: 27278 | |||||
| * | Expand INSERT_VECTOR_ELT to store vec, sp; store elt, sp+k; vec = load sp; | Evan Cheng | 2006-03-31 | 1 | -1/+24 | |
| | | | | | llvm-svn: 27274 | |||||
| * | Teach Legalize how to pack VVECTOR_SHUFFLE nodes into VECTOR_SHUFFLE nodes. | Chris Lattner | 2006-03-28 | 1 | -0/+21 | |
| | | | | | llvm-svn: 27232 | |||||
| * | Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum ↵ | Chris Lattner | 2006-03-28 | 1 | -2/+4 | |
| | | | | | | | value. Split them into separate enums. llvm-svn: 27201 | |||||
| * | Fix legalization of intrinsics with chain and result values | Chris Lattner | 2006-03-27 | 1 | -2/+13 | |
| | | | | | llvm-svn: 27181 | |||||
| * | Allow targets to custom lower their own intrinsics if desired. | Chris Lattner | 2006-03-26 | 1 | -0/+7 | |
| | | | | | llvm-svn: 27146 | |||||
| * | Only to vector shuffle for {x,x,y,y} cases when SCALAR_TO_VECTOR is free. | Evan Cheng | 2006-03-24 | 1 | -1/+2 | |
| | | | | | llvm-svn: 27071 | |||||
| * | prefer to generate constant pool loads over splats. This prevents us from | Chris Lattner | 2006-03-24 | 1 | -34/+33 | |
| | | | | | | | using a splat for {1.0,1.0,1.0,1.0} llvm-svn: 27055 | |||||
| * | legalize vbit_convert nodes whose result is a legal type. | Chris Lattner | 2006-03-24 | 1 | -0/+38 | |
| | | | | | | | Legalize intrinsic nodes. llvm-svn: 27036 | |||||
| * | Lower BUILD_VECTOR to VECTOR_SHUFFLE if there are two distinct nodes (and if | Evan Cheng | 2006-03-24 | 1 | -8/+49 | |
| | | | | | | | | the target can handle it). Issue two SCALAR_TO_VECTOR ops followed by a VECTOR_SHUFFLE to select from the two vectors. llvm-svn: 27023 | |||||
| * | add support for splitting casts. This implements | Chris Lattner | 2006-03-23 | 1 | -1/+41 | |
| | | | | | | | CodeGen/Generic/vector.ll:test_cast_2. llvm-svn: 26999 | |||||
| * | simplify some code | Chris Lattner | 2006-03-23 | 1 | -8/+5 | |
| | | | | | llvm-svn: 26972 | |||||
| * | Implement simple support for vector casting. This can currently only handle | Chris Lattner | 2006-03-22 | 1 | -0/+29 | |
| | | | | | | | casts between legal vector types. llvm-svn: 26961 | |||||
| * | Endianness does not affect the order of vector fields. This fixes | Chris Lattner | 2006-03-22 | 1 | -6/+1 | |
| | | | | | | | SingleSource/UnitTests/Vector/build.c llvm-svn: 26936 | |||||
| * | Enclose some variables in a scope to avoid error with some gcc versions | Chris Lattner | 2006-03-22 | 1 | -2/+3 | |
| | | | | | llvm-svn: 26934 | |||||
| * | add expand support for extractelement | Chris Lattner | 2006-03-21 | 1 | -1/+31 | |
| | | | | | llvm-svn: 26931 | |||||
| * | add some trivial support for extractelement. | Chris Lattner | 2006-03-21 | 1 | -1/+51 | |
| | | | | | llvm-svn: 26928 | |||||
| * | Add a hacky workaround for crashes due to vectors live across blocks. | Chris Lattner | 2006-03-21 | 1 | -0/+3 | |
| | | | | | | | | Note that this code won't work for vectors that aren't legal on the target. Improvements coming. llvm-svn: 26925 | |||||
| * | If a target supports splatting with SHUFFLE_VECTOR, lower to it from ↵ | Chris Lattner | 2006-03-20 | 1 | -4/+41 | |
| | | | | | | | BUILD_VECTOR(x,x,x,x) llvm-svn: 26885 | |||||
| * | Allow SCALAR_TO_VECTOR to be custom lowered. | Chris Lattner | 2006-03-19 | 1 | -0/+9 | |
| | | | | | llvm-svn: 26867 | |||||
| * | Add SCALAR_TO_VECTOR support | Chris Lattner | 2006-03-19 | 1 | -87/+140 | |
| | | | | | llvm-svn: 26866 | |||||
| * | Don't bother storing undef elements of BUILD_VECTOR's | Chris Lattner | 2006-03-19 | 1 | -1/+9 | |
| | | | | | llvm-svn: 26858 | |||||
| * | Implement expand of BUILD_VECTOR containing variable elements. | Chris Lattner | 2006-03-19 | 1 | -2/+32 | |
| | | | | | | | This implements CodeGen/Generic/vector.ll:test_variable_buildvector llvm-svn: 26852 | |||||
| * | implement basic support for INSERT_VECTOR_ELT. | Chris Lattner | 2006-03-19 | 1 | -51/+93 | |
| | | | | | llvm-svn: 26849 | |||||
| * | Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. ↵ | Chris Lattner | 2006-03-19 | 1 | -50/+65 | |
| | | | | | | | Allow*BUILD_VECTOR to take variable inputs. llvm-svn: 26847 | |||||
| * | implement vector.ll:test_undef | Chris Lattner | 2006-03-19 | 1 | -2/+6 | |
| | | | | | llvm-svn: 26845 | |||||
| * | Fix the remaining bugs in the vector expansion rework I commited yesterday. | Chris Lattner | 2006-03-19 | 1 | -4/+5 | |
| | | | | | | | This fixes CodeGen/Generic/vector.ll llvm-svn: 26843 | |||||
| * | Change the structure of lowering vector stuff. Note: This breaks some | Chris Lattner | 2006-03-18 | 1 | -160/+269 | |
| | | | | | | | things. llvm-svn: 26840 | |||||
| * | Remove BRTWOWAY* | Nate Begeman | 2006-03-17 | 1 | -94/+0 | |
| | | | | | | | | | Make the PPC backend not dependent on BRTWOWAY_CC and make the branch selector smarter about the code it generates, fixing a case in the readme. llvm-svn: 26814 | |||||
| * | Add a note, this code should be moved to the dag combiner. | Chris Lattner | 2006-03-15 | 1 | -0/+1 | |
| | | | | | llvm-svn: 26787 | |||||
| * | For targets with FABS/FNEG support, lower copysign to an integer load, | Chris Lattner | 2006-03-13 | 1 | -2/+25 | |
| | | | | | | | | | | a select and FABS/FNEG. This speeds up a trivial (aka stupid) copysign benchmark I wrote from 6.73s to 2.64s, woo. llvm-svn: 26723 | |||||
| * | revert the previous patch, didn't mean to check it in yet | Chris Lattner | 2006-03-08 | 1 | -25/+2 | |
| | | | | | llvm-svn: 26610 | |||||

