aboutsummaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)Author
2006-04-08add a sanity check: LegalizeOp should return a value that is the same typeChris Lattner
as its input. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27528 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08use isValidOperands instead of duplicating checksChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27527 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08RegenerateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27526 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Use isValidOperands instead of duplicating or eliding checks.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27525 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Use the isValidOperands helper instead of duplicating checking codeChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27524 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add methods to check insertelement/extractelement instructions for validity,Chris Lattner
check validity when instructions are created. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27523 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08regenerateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27521 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add insertelement and shufflevector constantexpr supportChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27520 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08INSERT_VECTOR_ELT lowering bug:Evan Cheng
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! git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27517 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add shufflevector supportChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27515 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Stub out shufflevectorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27514 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add supprot for shufflevectorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27513 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08regenerateChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27512 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Parse shufflevectorChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27511 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add shufflevector support, todo, implement better constant folding.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27510 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Add shufflevector reading supportChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27509 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08ldmxcsr and stmxcsr.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27506 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-08Remove section change in function end, preventing override of function's realJim Laskey
section. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27503 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Code clean up.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27501 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Added patterns for MOVHPSmr and MOVLPSmr.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27497 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Keep track of an Mac OS X / x86 ABI bug.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27496 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Make sure that debug labels are defined within the same section and after theJim Laskey
entry point of a function. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27494 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Foundation for call frame information.Jim Laskey
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27491 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07We have an assertion that checks that we do not encode null values into theChris Lattner
.bc file if they are supposed to be implicit. This is cool, except that it checked *after* constant expr folding: improving constant expr folding could cause the .bc reader to assert out on old .bc files. Move the check so that it checks all simple constants, but no constantexprs. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27480 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Constant fold extractelement(zero, x) -> zeroChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27479 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Fix inlining of insert/extract element constantexprsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27478 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-07Add code to RemapOperand() to handle Instruction::ExtractElement andEvan Cheng
Instruction::InsertElement. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27477 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06A MOVPS2SSmr, i.e. _mm_store_ss, encoding bug.Evan Cheng
Also MOVPDI2DIrr. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27476 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06- movlp{s|d} and movhp{s|d} support.Evan Cheng
- Normalize shuffle nodes so result vector lower half elements come from the first vector, the rest come from the second vector. (Except for the exceptions :-). - Other minor fixes. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27474 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06New entries.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27473 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-061. If both vector operands of a vector_shuffle are undef, turn it into an undef.Evan Cheng
2. A shuffle mask element can also be an undef. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27472 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06This may be overconservative, but it lets the new cfe compileAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27471 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Add an itemChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27470 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Make sure to return the result in the right type.Chris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27469 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Move this to lib/Analysis.Andrew Lenharth
This reduces Core size, yay. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27468 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Match vpku[hw]um(x,x).Chris Lattner
Convert vsldoi(x,x) to work the same way other (x,x) cases work. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27467 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Add support for matching vmrg(x,x) patternsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27463 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06fix some linking problems with the new gccAndrew Lenharth
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27460 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Pattern match vmrg* instructions, which are now lowered by the CFE into ↵Chris Lattner
shuffles. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27457 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06remove two done itemsChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27453 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Lower vperm(x,y, mask) -> shuffle(x,y,mask) if mask is constant. This allowsChris Lattner
us to compile oh-so-realistic stuff like this: vec_vperm(A, B, (vector unsigned char){14}); to: vspltb v0, v0, 14 instead of: vspltisb v0, 14 vperm v0, v2, v1, v0 git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27452 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Support pattern matching vsldoi(x,y) and vsldoi(x,x), which allows the f.e. toChris Lattner
lower it and LLVM to have one fewer intrinsic. This implements CodeGen/PowerPC/vec_shuffle.ll git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27450 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06Compile the vpkuhum/vpkuwum intrinsics into vpkuhum/vpkuwum instead of intoChris Lattner
vperm with a perm mask lvx'd from the constant pool. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27448 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-06POR encoded as PAND, yikes.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27446 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-05An entry about comi / ucomi intrinsics.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27445 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-05Support for comi / ucomi intrinsics.Evan Cheng
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27444 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-05Add all of the data stream intrinsics and instructions. wooChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27442 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-05Fix a typoChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27440 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-05Fix CodeGen/PowerPC/2006-04-05-splat-ish.llChris Lattner
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27439 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-05Handle canonical form of e.g.Evan Cheng
vector_shuffle v1, v1, <0, 4, 1, 5, 2, 6, 3, 7> This is turned into vector_shuffle v1, <undef>, <0, 0, 1, 1, 2, 2, 3, 3> by dag combiner. It would match a {p}unpckl on x86. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27437 91177308-0d34-0410-b5e6-96231b3b80d8