Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Fix arguments for some Altivec instructions. From SWB. | Dale Johannesen | 2007-08-09 | 1 | -9/+15 | |
| | | | | llvm-svn: 40957 | |||||
* | Fix spelling of mtvscr and mfvscr. | Dale Johannesen | 2007-08-07 | 1 | -2/+2 | |
| | | | | llvm-svn: 40908 | |||||
* | Vector fneg must be expanded into fsub -0.0, X. | Evan Cheng | 2007-07-30 | 1 | -2/+6 | |
| | | | | llvm-svn: 40586 | |||||
* | No more noResults. | Evan Cheng | 2007-07-21 | 1 | -3/+1 | |
| | | | | llvm-svn: 40132 | |||||
* | Change instruction description to split OperandList into OutOperandList and | Evan Cheng | 2007-07-19 | 1 | -58/+58 | |
| | | | | | | | | | | | | | | | InOperandList. This gives one piece of important information: # of results produced by an instruction. An example of the change: def ADD32rr : I<0x01, MRMDestReg, (ops GR32:$dst, GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; => def ADD32rr : I<0x01, MRMDestReg, (outs GR32:$dst), (ins GR32:$src1, GR32:$src2), "add{l} {$src2, $dst|$dst, $src2}", [(set GR32:$dst, (add GR32:$src1, GR32:$src2))]>; llvm-svn: 40033 | |||||
* | fix incorrect encoding of vminsw. | Chris Lattner | 2007-02-16 | 1 | -1/+1 | |
| | | | | llvm-svn: 34351 | |||||
* | Make the implicit def instructions look like other instrs. | Chris Lattner | 2006-07-18 | 1 | -1/+1 | |
| | | | | llvm-svn: 29174 | |||||
* | Remove some now-unneeded casts from instruction patterns. With the casts | Chris Lattner | 2006-06-20 | 1 | -11/+11 | |
| | | | | | | removed, tblgen produces identical output to with them in. llvm-svn: 28867 | |||||
* | Fix the CodeGen/PowerPC/buildvec_canonicalize.ll regression last night. | Chris Lattner | 2006-04-20 | 1 | -1/+1 | |
| | | | | llvm-svn: 27908 | |||||
* | Make sure that the new instructions selected have the right type. This fixes | Chris Lattner | 2006-04-20 | 1 | -5/+5 | |
| | | | | | | CodeGen/PowerPC/2006-04-19-vmaddfp-crash.ll llvm-svn: 27868 | |||||
* | Implement a TODO: have the legalizer canonicalize a bunch of operations to | Chris Lattner | 2006-04-16 | 1 | -41/+6 | |
| | | | | | | | one type (v4i32) so that we don't have to write patterns for each type, and so that more CSE opportunities are exposed. llvm-svn: 27731 | |||||
* | Add patterns for matching vnots with bit converted inputs. Most of these will | Chris Lattner | 2006-04-15 | 1 | -0/+17 | |
| | | | | | | go away when I start using evan's binop type canonicalizer llvm-svn: 27725 | |||||
* | Rename get_VSPLI_elt -> get_VSPLTI_elt | Chris Lattner | 2006-04-12 | 1 | -23/+10 | |
| | | | | | | | | | Canonicalize BUILD_VECTOR's that match VSPLTI's into a single type for each form, eliminating a bunch of Pat patterns in the .td file and allowing us to CSE stuff more aggressively. This implements PowerPC/buildvec_canonicalize.ll:VSPLTI llvm-svn: 27614 | |||||
* | Ensure that zero vectors are always v4i32, which forces them to CSE with | Chris Lattner | 2006-04-12 | 1 | -5/+2 | |
| | | | | | | each other. This implements CodeGen/PowerPC/vxor-canonicalize.ll llvm-svn: 27609 | |||||
* | Change the interface to the predicate that determines if vsplti* can be used. | Chris Lattner | 2006-04-08 | 1 | -12/+6 | |
| | | | | | | No functionality changes. llvm-svn: 27536 | |||||
* | Match vpku[hw]um(x,x). | Chris Lattner | 2006-04-06 | 1 | -14/+25 | |
| | | | | | | Convert vsldoi(x,x) to work the same way other (x,x) cases work. llvm-svn: 27467 | |||||
* | Add support for matching vmrg(x,x) patterns | Chris Lattner | 2006-04-06 | 1 | -6/+40 | |
| | | | | llvm-svn: 27463 | |||||
* | Pattern match vmrg* instructions, which are now lowered by the CFE into ↵ | Chris Lattner | 2006-04-06 | 1 | -6/+44 | |
| | | | | | | shuffles. llvm-svn: 27457 | |||||
* | Support pattern matching vsldoi(x,y) and vsldoi(x,x), which allows the f.e. to | Chris Lattner | 2006-04-06 | 1 | -3/+27 | |
| | | | | | | | lower it and LLVM to have one fewer intrinsic. This implements CodeGen/PowerPC/vec_shuffle.ll llvm-svn: 27450 | |||||
* | Compile the vpkuhum/vpkuwum intrinsics into vpkuhum/vpkuwum instead of into | Chris Lattner | 2006-04-06 | 1 | -2/+13 | |
| | | | | | | vperm with a perm mask lvx'd from the constant pool. llvm-svn: 27448 | |||||
* | Add all of the data stream intrinsics and instructions. woo | Chris Lattner | 2006-04-05 | 1 | -0/+21 | |
| | | | | llvm-svn: 27442 | |||||
* | Fix a typo | Chris Lattner | 2006-04-05 | 1 | -1/+1 | |
| | | | | llvm-svn: 27440 | |||||
* | add vsl | Chris Lattner | 2006-04-05 | 1 | -0/+2 | |
| | | | | llvm-svn: 27425 | |||||
* | add vmladduhm | Chris Lattner | 2006-04-05 | 1 | -0/+2 | |
| | | | | llvm-svn: 27423 | |||||
* | Add m[tf]vscr instructions. | Chris Lattner | 2006-04-05 | 1 | -0/+7 | |
| | | | | llvm-svn: 27421 | |||||
* | Add missing byte merges. | Chris Lattner | 2006-04-04 | 1 | -0/+2 | |
| | | | | llvm-svn: 27418 | |||||
* | Add FP -> Int Conversions | Chris Lattner | 2006-04-04 | 1 | -2/+4 | |
| | | | | llvm-svn: 27417 | |||||
* | add average intrinsics | Chris Lattner | 2006-04-04 | 1 | -0/+7 | |
| | | | | llvm-svn: 27416 | |||||
* | Ask legalize to promote all vector shuffles to be v16i8 instead of having to | Chris Lattner | 2006-04-04 | 1 | -27/+28 | |
| | | | | | | | | handle all 4 PPC vector types. This simplifies the matching code and allows us to eliminate a bunch of patterns. This also adds cases we were missing, such as CodeGen/PowerPC/vec_splat.ll:splat_h. llvm-svn: 27400 | |||||
* | Plug in the byte and short splats | Chris Lattner | 2006-04-04 | 1 | -2/+4 | |
| | | | | llvm-svn: 27387 | |||||
* | Add the full set of min/max instructions | Chris Lattner | 2006-04-03 | 1 | -6/+14 | |
| | | | | llvm-svn: 27372 | |||||
* | Implement vnot using VNOR instead of using 'vspltisb v0, -1' and vxor | Chris Lattner | 2006-04-01 | 1 | -0/+4 | |
| | | | | llvm-svn: 27331 | |||||
* | Shrinkify some more intrinsic definitions. | Chris Lattner | 2006-03-31 | 1 | -52/+17 | |
| | | | | llvm-svn: 27322 | |||||
* | Pull operand asm string into base class, shrinkifying intrinsic definitions. | Chris Lattner | 2006-03-31 | 1 | -77/+58 | |
| | | | | | | No functionality change. llvm-svn: 27320 | |||||
* | Fix 80 column violations :) | Chris Lattner | 2006-03-31 | 1 | -14/+13 | |
| | | | | llvm-svn: 27315 | |||||
* | fix a pasto | Chris Lattner | 2006-03-31 | 1 | -1/+1 | |
| | | | | llvm-svn: 27308 | |||||
* | Add vperm support for all datatypes | Chris Lattner | 2006-03-31 | 1 | -19/+13 | |
| | | | | llvm-svn: 27307 | |||||
* | compactify some more instruction definitions | Chris Lattner | 2006-03-31 | 1 | -61/+15 | |
| | | | | llvm-svn: 27288 | |||||
* | Compactify comparisons. | Chris Lattner | 2006-03-31 | 1 | -104/+34 | |
| | | | | llvm-svn: 27287 | |||||
* | Lower vector compares to VCMP nodes, just like we lower vector comparison | Chris Lattner | 2006-03-31 | 1 | -26/+25 | |
| | | | | | | predicates to VCMPo nodes. llvm-svn: 27285 | |||||
* | Add the rest of the vmul instructions and the vmulsum* instructions. | Chris Lattner | 2006-03-30 | 1 | -1/+15 | |
| | | | | llvm-svn: 27268 | |||||
* | Use a new tblgen feature to significantly shrinkify instruction definitions that | Chris Lattner | 2006-03-30 | 1 | -108/+46 | |
| | | | | | | directly correspond to intrinsics. llvm-svn: 27266 | |||||
* | Add a bunch of new instructions for intrinsics. | Chris Lattner | 2006-03-30 | 1 | -6/+87 | |
| | | | | llvm-svn: 27265 | |||||
* | Fix a couple typos | Nate Begeman | 2006-03-28 | 1 | -2/+2 | |
| | | | | llvm-svn: 27216 | |||||
* | Add a few more altivec intrinsics | Nate Begeman | 2006-03-28 | 1 | -2/+26 | |
| | | | | llvm-svn: 27215 | |||||
* | implement a bunch more intrinsics. | Chris Lattner | 2006-03-28 | 1 | -13/+107 | |
| | | | | llvm-svn: 27209 | |||||
* | Use normal lvx for scalar_to_vector instead of lve*x. They do the exact | Chris Lattner | 2006-03-28 | 1 | -7/+3 | |
| | | | | | | same thing and we have a dag node for the former. llvm-svn: 27205 | |||||
* | Tblgen doesn't like multiple SDNode<> definitions that map to the sameenum ↵ | Chris Lattner | 2006-03-28 | 1 | -9/+9 | |
| | | | | | | value. Split them into separate enums. llvm-svn: 27201 | |||||
* | Fix the JIT encoding of VSEL | Chris Lattner | 2006-03-27 | 1 | -4/+4 | |
| | | | | llvm-svn: 27160 | |||||
* | Fix the JIT encoding of VSPLTI* | Chris Lattner | 2006-03-27 | 1 | -9/+9 | |
| | | | | llvm-svn: 27159 |