oota-llvm.git
18 years agoTeach scalarrepl to promote unions of vectors and floats, producing
Chris Lattner [Fri, 14 Apr 2006 21:42:41 +0000 (21:42 +0000)]
Teach scalarrepl to promote unions of vectors and floats, producing
insert/extractelement operations.  This implements
Transforms/ScalarRepl/vector_promote.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27710 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew testcase, checking to see we can turn this code:
Chris Lattner [Fri, 14 Apr 2006 21:41:54 +0000 (21:41 +0000)]
New testcase, checking to see we can turn this code:

void test(vector float *F, float f) {
  vector float G = *F + *F;
  *((float*)&G) = f;
  *F = G + G;
}

void test2(vector float *F, float f) {
  vector float G = *F + *F;
  ((float*)&G)[2] = f;
  *F = G + G;
}

void test3(vector float *F, float *f) {
  vector float G = *F + *F;
  *f = ((float*)&G)[2];
}

void test4(vector float *F, float *f) {
  vector float G = *F + *F;
  *f = *((float*)&G);
}

into insert/extract element operations with no memory traffic.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27709 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdding back vector instructions to keep in mainline.
Tanya Lattner [Fri, 14 Apr 2006 19:24:33 +0000 (19:24 +0000)]
Adding back vector instructions to keep in mainline.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27704 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemoving unimplemented vector instructions from language referrence.
Tanya Lattner [Fri, 14 Apr 2006 19:07:42 +0000 (19:07 +0000)]
Removing unimplemented vector instructions from language referrence.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27703 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoCorrect the Superclasses list for GlobalVariable and Function to indicate
Reid Spencer [Fri, 14 Apr 2006 14:11:48 +0000 (14:11 +0000)]
Correct the Superclasses list for GlobalVariable and Function to indicate
that they are "Constant" as they derive from GlobalValue. Also, fix some of
the wording where it mentions this.
Patch inspired by Nai Xia.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27701 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAllow an option, -with-externals, to be specified that provides the location
Reid Spencer [Fri, 14 Apr 2006 13:53:56 +0000 (13:53 +0000)]
Allow an option, -with-externals, to be specified that provides the location
of the external tests. This turns into --with-externals option to configure.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27700 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMisc. SSE2 intrinsics: clflush, lfench, mfence
Evan Cheng [Fri, 14 Apr 2006 07:43:12 +0000 (07:43 +0000)]
Misc. SSE2 intrinsics: clflush, lfench, mfence

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27699 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoWe were not adjusting the frame size to ensure proper alignment when alloca /
Evan Cheng [Fri, 14 Apr 2006 07:26:43 +0000 (07:26 +0000)]
We were not adjusting the frame size to ensure proper alignment when alloca /
vla are present in the function. This causes a crash when a leaf function
allocates space on the stack used to store / load with 128-bit SSE
instructions.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27698 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNew entry
Evan Cheng [Fri, 14 Apr 2006 07:24:04 +0000 (07:24 +0000)]
New entry

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27697 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't print out the install command for Intrinsics.gen unless VERBOSE mode.
Reid Spencer [Fri, 14 Apr 2006 06:32:31 +0000 (06:32 +0000)]
Don't print out the install command for Intrinsics.gen unless VERBOSE mode.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27696 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake this assertion better
Chris Lattner [Fri, 14 Apr 2006 06:08:35 +0000 (06:08 +0000)]
Make this assertion better

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27695 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoForce a specific config, because this test fails in certain configs otherwise.
Chris Lattner [Fri, 14 Apr 2006 06:06:51 +0000 (06:06 +0000)]
Force a specific config, because this test fails in certain configs otherwise.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27694 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMove the rest of the PPCTargetLowering::LowerOperation cases out into
Chris Lattner [Fri, 14 Apr 2006 06:01:58 +0000 (06:01 +0000)]
Move the rest of the PPCTargetLowering::LowerOperation cases out into
separate functions, for simplicity and code clarity.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27693 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPull the VECTOR_SHUFFLE and BUILD_VECTOR lowering code out into separate
Chris Lattner [Fri, 14 Apr 2006 05:19:18 +0000 (05:19 +0000)]
Pull the VECTOR_SHUFFLE and BUILD_VECTOR lowering code out into separate
functions, which makes the code much cleaner :)

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27692 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement value #'ing for vector operations, implementing
Chris Lattner [Fri, 14 Apr 2006 05:10:20 +0000 (05:10 +0000)]
Implement value #'ing for vector operations, implementing
Regression/Transforms/GCSE/vectorops.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27691 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase, vector operations should be CSE'd
Chris Lattner [Fri, 14 Apr 2006 05:09:53 +0000 (05:09 +0000)]
new testcase, vector operations should be CSE'd

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27690 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove this test, there is no need to test GCC's bugs
Chris Lattner [Fri, 14 Apr 2006 04:47:26 +0000 (04:47 +0000)]
Remove this test, there is no need to test GCC's bugs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27689 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAhem. HEAD -> 1.8cvs not 1.7 (I'm an idiot).
Reid Spencer [Fri, 14 Apr 2006 03:01:27 +0000 (03:01 +0000)]
Ahem. HEAD -> 1.8cvs not 1.7 (I'm an idiot).

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27687 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoremove the "cvs" part of the version number for the release branch.
Reid Spencer [Fri, 14 Apr 2006 02:55:43 +0000 (02:55 +0000)]
remove the "cvs" part of the version number for the release branch.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27686 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopcmpeq* and pcmpgt* intrinsics.
Evan Cheng [Fri, 14 Apr 2006 01:39:53 +0000 (01:39 +0000)]
pcmpeq* and pcmpgt* intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27685 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopsll*, psrl*, and psra* intrinsics.
Evan Cheng [Fri, 14 Apr 2006 00:14:05 +0000 (00:14 +0000)]
psll*, psrl*, and psra* intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27684 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove the .cvsignore file so this directory can be pruned.
Reid Spencer [Thu, 13 Apr 2006 22:00:10 +0000 (22:00 +0000)]
Remove the .cvsignore file so this directory can be pruned.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27683 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove .cvsignore so that this directory can be pruned.
Reid Spencer [Thu, 13 Apr 2006 21:59:03 +0000 (21:59 +0000)]
Remove .cvsignore so that this directory can be pruned.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27682 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMy addition of the xfail marker threw off the line #. move it.
Chris Lattner [Thu, 13 Apr 2006 21:19:13 +0000 (21:19 +0000)]
My addition of the xfail marker threw off the line #. move it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27678 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUse quotes properly so that the possibility of a null variable set is
Reid Spencer [Thu, 13 Apr 2006 20:33:59 +0000 (20:33 +0000)]
Use quotes properly so that the possibility of a null variable set is
eliminated. This can happen, for example, if LLVM is configured without
llvm-gcc in which case things like LLVMGCC_VERSION will be empty. In
such cases, deja-gnu fails with:
can't read "llvmgcc_version": no such variable
because it sees:
set llvmgcc_version
instead of:
set llvmgcc_version ""

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27676 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofrom the linux kernel
Andrew Lenharth [Thu, 13 Apr 2006 19:50:07 +0000 (19:50 +0000)]
from the linux kernel

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27674 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix this regex to match what llvmgcc4 produces also
Chris Lattner [Thu, 13 Apr 2006 19:46:16 +0000 (19:46 +0000)]
Fix this regex to match what llvmgcc4 produces also

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27673 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoHandle some kernel code than ends in [0 x sbyte]. I think this is safe
Andrew Lenharth [Thu, 13 Apr 2006 19:31:49 +0000 (19:31 +0000)]
Handle some kernel code than ends in [0 x sbyte].  I think this is safe

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27672 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoExpand some code with temporary variables to rid ourselves of the warning
Reid Spencer [Thu, 13 Apr 2006 18:29:58 +0000 (18:29 +0000)]
Expand some code with temporary variables to rid ourselves of the warning
about "dereferencing type-punned pointer will break strict-aliasing rules"

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27671 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix an incorrect prototype for this intrinsic, fixing
Chris Lattner [Thu, 13 Apr 2006 18:23:48 +0000 (18:23 +0000)]
Fix an incorrect prototype for this intrinsic, fixing
CFrontend/2003-08-18-SigSetJmp.c  with llvm-gcc3.  This is part of PR733.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27670 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTry xfailing this
Chris Lattner [Thu, 13 Apr 2006 18:15:24 +0000 (18:15 +0000)]
Try xfailing this

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27669 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDoh. PANDrm, etc. are not commutable.
Evan Cheng [Thu, 13 Apr 2006 18:11:28 +0000 (18:11 +0000)]
Doh. PANDrm, etc. are not commutable.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27668 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agofix this for the more restrictive linkage
Andrew Lenharth [Thu, 13 Apr 2006 17:52:32 +0000 (17:52 +0000)]
fix this for the more restrictive linkage

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27667 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThese tests are now xfailed for llvmgcc4. This is PR735, unlikely to be
Chris Lattner [Thu, 13 Apr 2006 17:35:36 +0000 (17:35 +0000)]
These tests are now xfailed for llvmgcc4.  This is PR735, unlikely to be
resolved before 1.7 :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27666 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOnly look at .ll files in this directory
Chris Lattner [Thu, 13 Apr 2006 17:32:53 +0000 (17:32 +0000)]
Only look at .ll files in this directory

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27665 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis file is an invalid C file, test that it is properly rejected
Chris Lattner [Thu, 13 Apr 2006 17:32:03 +0000 (17:32 +0000)]
This file is an invalid C file, test that it is properly rejected

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27664 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAnother case where a dead cast was causing the test to spuriously
Chris Lattner [Thu, 13 Apr 2006 17:28:28 +0000 (17:28 +0000)]
Another case where a dead cast was causing the test to spuriously
fail with the new front-end.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27663 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't get confused by dead casts.
Chris Lattner [Thu, 13 Apr 2006 17:26:54 +0000 (17:26 +0000)]
Don't get confused by dead casts.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27662 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix an accidental commit.
Chris Lattner [Thu, 13 Apr 2006 17:21:49 +0000 (17:21 +0000)]
Fix an accidental commit.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27661 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThis test fails and I don't know why, xfail it until andrew gets a chance to
Chris Lattner [Thu, 13 Apr 2006 17:19:34 +0000 (17:19 +0000)]
This test fails and I don't know why, xfail it until andrew gets a chance to
look at it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27660 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoOops, move misplaced test
Chris Lattner [Thu, 13 Apr 2006 17:18:42 +0000 (17:18 +0000)]
Oops, move misplaced test

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27659 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThese are only XFAILs with llvmgcc3, they pass with llvmgcc4
Chris Lattner [Thu, 13 Apr 2006 17:16:21 +0000 (17:16 +0000)]
These are only XFAILs with llvmgcc3, they pass with llvmgcc4

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27658 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoForce non-darwin targets to use a static relo model. This fixes PR734,
Chris Lattner [Thu, 13 Apr 2006 17:10:48 +0000 (17:10 +0000)]
Force non-darwin targets to use a static relo model.  This fixes PR734,
tested by CodeGen/Generic/vector.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27657 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd a run with an unusual target triple, revert the patch that sent output to
Chris Lattner [Thu, 13 Apr 2006 17:10:03 +0000 (17:10 +0000)]
Add a run with an unusual target triple, revert the patch that sent output to
dev null as it broke the test and doesn't add anything.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27656 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdate a count, this test now passes.
Chris Lattner [Thu, 13 Apr 2006 16:52:13 +0000 (16:52 +0000)]
Update a count, this test now passes.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27655 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoadd a note, move an altivec todo to the altivec list.
Chris Lattner [Thu, 13 Apr 2006 16:48:00 +0000 (16:48 +0000)]
add a note, move an altivec todo to the altivec list.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27654 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agolinear -> constant time
Andrew Lenharth [Thu, 13 Apr 2006 13:43:31 +0000 (13:43 +0000)]
linear -> constant time

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27652 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd the README files to the distribution.
Reid Spencer [Thu, 13 Apr 2006 06:39:24 +0000 (06:39 +0000)]
Add the README files to the distribution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27651 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd missing things to the distribution.
Reid Spencer [Thu, 13 Apr 2006 06:27:20 +0000 (06:27 +0000)]
Add missing things to the distribution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27650 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDistribute the Stacker samples directory.
Reid Spencer [Thu, 13 Apr 2006 06:16:37 +0000 (06:16 +0000)]
Distribute the Stacker samples directory.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27648 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopsad, pmax, pmin intrinsics.
Evan Cheng [Thu, 13 Apr 2006 06:11:45 +0000 (06:11 +0000)]
psad, pmax, pmin intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27647 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopmin, pmax, and psad intrinsics.
Evan Cheng [Thu, 13 Apr 2006 06:09:41 +0000 (06:09 +0000)]
pmin, pmax, and psad intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27646 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoVarious SSE2 packed integer intrinsics: pmulhuw, pavgw, etc.
Evan Cheng [Thu, 13 Apr 2006 05:24:54 +0000 (05:24 +0000)]
Various SSE2 packed integer intrinsics: pmulhuw, pavgw, etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27645 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoX86 SSE2 supports v8i16 multiplication
Evan Cheng [Thu, 13 Apr 2006 05:10:25 +0000 (05:10 +0000)]
X86 SSE2 supports v8i16 multiplication

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27644 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdate
Evan Cheng [Thu, 13 Apr 2006 05:09:45 +0000 (05:09 +0000)]
Update

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27643 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopmul*, pmadd*, and pavg* intrinsics.
Evan Cheng [Thu, 13 Apr 2006 05:09:06 +0000 (05:09 +0000)]
pmul*, pmadd*, and pavg* intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27642 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoone too many l's
Chris Lattner [Thu, 13 Apr 2006 04:21:31 +0000 (04:21 +0000)]
one too many l's

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27641 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoquick update
Andrew Lenharth [Thu, 13 Apr 2006 02:05:30 +0000 (02:05 +0000)]
quick update

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27640 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agopadds{b|w}, paddus{b|w}, psubs{b|w}, psubus{b|w} intrinsics.
Evan Cheng [Thu, 13 Apr 2006 00:43:35 +0000 (00:43 +0000)]
padds{b|w}, paddus{b|w}, psubs{b|w}, psubus{b|w} intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27639 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoNaming inconsistency.
Evan Cheng [Thu, 13 Apr 2006 00:00:23 +0000 (00:00 +0000)]
Naming inconsistency.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27638 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoSSE / SSE2 conversion intrinsics.
Evan Cheng [Wed, 12 Apr 2006 23:42:44 +0000 (23:42 +0000)]
SSE / SSE2 conversion intrinsics.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27637 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoFix a typo in the name of a file.
Reid Spencer [Wed, 12 Apr 2006 23:15:10 +0000 (23:15 +0000)]
Fix a typo in the name of a file.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27636 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded the ability to xfail based on llvmgcc version
Tanya Lattner [Wed, 12 Apr 2006 21:57:40 +0000 (21:57 +0000)]
Added the ability to xfail based on llvmgcc version

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27635 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdate my credits. Can I add "Build breaker" to my entry?
Evan Cheng [Wed, 12 Apr 2006 21:28:14 +0000 (21:28 +0000)]
Update my credits. Can I add "Build breaker" to my entry?

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27634 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAll "integer" logical ops (pand, por, pxor) are now promoted to v2i64.
Evan Cheng [Wed, 12 Apr 2006 21:21:57 +0000 (21:21 +0000)]
All "integer" logical ops (pand, por, pxor) are now promoted to v2i64.
Clean up and fix various logical ops issues.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27633 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPromote vector AND, OR, and XOR
Evan Cheng [Wed, 12 Apr 2006 21:20:24 +0000 (21:20 +0000)]
Promote vector AND, OR, and XOR

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27632 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't dump the llc assembly output to stdout.
Reid Spencer [Wed, 12 Apr 2006 21:03:04 +0000 (21:03 +0000)]
Don't dump the llc assembly output to stdout.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27631 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake sure CVS versions of yacc and lex files get distributed.
Reid Spencer [Wed, 12 Apr 2006 20:57:05 +0000 (20:57 +0000)]
Make sure CVS versions of yacc and lex files get distributed.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27630 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDistribute CVS versions of lex files
Reid Spencer [Wed, 12 Apr 2006 20:56:12 +0000 (20:56 +0000)]
Distribute CVS versions of lex files

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27629 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDistribute the lex/yacc files from the cvs version.
Reid Spencer [Wed, 12 Apr 2006 20:55:23 +0000 (20:55 +0000)]
Distribute the lex/yacc files from the cvs version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27628 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdditional files to distribute.
Reid Spencer [Wed, 12 Apr 2006 20:54:01 +0000 (20:54 +0000)]
Additional files to distribute.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27627 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoInclude the win32 and Xcode directories in the distribution.
Reid Spencer [Wed, 12 Apr 2006 20:53:14 +0000 (20:53 +0000)]
Include the win32 and Xcode directories in the distribution.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27626 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoGet rid of a signed/unsigned compare warning.
Reid Spencer [Wed, 12 Apr 2006 19:28:15 +0000 (19:28 +0000)]
Get rid of a signed/unsigned compare warning.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27625 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd a new way to match vector constants, which make it easier to bang bits of
Chris Lattner [Wed, 12 Apr 2006 19:07:14 +0000 (19:07 +0000)]
Add a new way to match vector constants, which make it easier to bang bits of
different types.

Codegen spltw(0x7FFFFFFF) and spltw(0x80000000) without a constant pool load,
implementing PowerPC/vec_constants.ll:test1.  This compiles:

typedef float vf __attribute__ ((vector_size (16)));
typedef int vi __attribute__ ((vector_size (16)));
void test(vi *P1, vi *P2, vf *P3) {
  *P1 &= (vi){0x80000000,0x80000000,0x80000000,0x80000000};
  *P2 &= (vi){0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF,0x7FFFFFFF};
  *P3 = vec_abs((vector float)*P3);
}

to:

_test:
        mfspr r2, 256
        oris r6, r2, 49152
        mtspr 256, r6
        vspltisw v0, -1
        vslw v0, v0, v0
        lvx v1, 0, r3
        vand v1, v1, v0
        stvx v1, 0, r3
        lvx v1, 0, r4
        vandc v1, v1, v0
        stvx v1, 0, r4
        lvx v1, 0, r5
        vandc v0, v1, v0
        stvx v0, 0, r5
        mtspr 256, r2
        blr

instead of (with two constant pool entries):

_test:
        mfspr r2, 256
        oris r6, r2, 49152
        mtspr 256, r6
        li r6, lo16(LCPI1_0)
        lis r7, ha16(LCPI1_0)
        li r8, lo16(LCPI1_1)
        lis r9, ha16(LCPI1_1)
        lvx v0, r7, r6
        lvx v1, 0, r3
        vand v0, v1, v0
        stvx v0, 0, r3
        lvx v0, r9, r8
        lvx v1, 0, r4
        vand v1, v1, v0
        stvx v1, 0, r4
        lvx v1, 0, r5
        vand v0, v1, v0
        stvx v0, 0, r5
        mtspr 256, r2
        blr

GCC produces (with 2 cp entries):

_test:
        mfspr r0,256
        stw r0,-4(r1)
        oris r0,r0,0xc00c
        mtspr 256,r0
        lis r2,ha16(LC0)
        lis r9,ha16(LC1)
        la r2,lo16(LC0)(r2)
        lvx v0,0,r3
        lvx v1,0,r5
        la r9,lo16(LC1)(r9)
        lwz r12,-4(r1)
        lvx v12,0,r2
        lvx v13,0,r9
        vand v0,v0,v12
        stvx v0,0,r3
        vspltisw v0,-1
        vslw v12,v0,v0
        vandc v1,v1,v12
        stvx v1,0,r5
        lvx v0,0,r4
        vand v0,v0,v13
        stvx v0,0,r4
        mtspr 256,r12
        blr

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27624 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdd the llvm-config directory to the EXTRA_DIST line so it gets distributed
Reid Spencer [Wed, 12 Apr 2006 19:06:14 +0000 (19:06 +0000)]
Add the llvm-config directory to the EXTRA_DIST line so it gets distributed
even though its not being built currently. This prevents dist-check from
failing because configure can't find llvm-config.in.in

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27623 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Wed, 12 Apr 2006 19:04:27 +0000 (19:04 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27622 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake sure that the C Frontend's runtime library directory is included as
Reid Spencer [Wed, 12 Apr 2006 18:21:35 +0000 (18:21 +0000)]
Make sure that the C Frontend's runtime library directory is included as
a -L option to gccld whenever we're building a bytecode module or archive.
This gets around the "Cannot find library 'crtend'" warning messages.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27621 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoTurn casts into getelementptr's when possible. This enables SROA to be more
Chris Lattner [Wed, 12 Apr 2006 18:09:35 +0000 (18:09 +0000)]
Turn casts into getelementptr's when possible.  This enables SROA to be more
aggressive in some cases where LLVMGCC 4 is inserting casts for no reason.

This implements InstCombine/cast.ll:test27/28.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27620 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded llvmgcc version to allow tests to be xfailed by frontend version.
Tanya Lattner [Wed, 12 Apr 2006 18:08:25 +0000 (18:08 +0000)]
Added llvmgcc version to allow tests to be xfailed by frontend version.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27619 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoThese casts should turn into gep instructions
Chris Lattner [Wed, 12 Apr 2006 18:07:41 +0000 (18:07 +0000)]
These casts should turn into gep instructions

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27618 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't emit useless warning messages.
Reid Spencer [Wed, 12 Apr 2006 17:56:16 +0000 (17:56 +0000)]
Don't emit useless warning messages.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27617 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoUpdate adding an intrinsic to describe that you can now just plop it into the
Chris Lattner [Wed, 12 Apr 2006 17:42:39 +0000 (17:42 +0000)]
Update adding an intrinsic to describe that you can now just plop it into the
target .td file instead of adding SDNodes etc.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27616 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agomake recovering running_Olden data easier when the nightly tester eats the graphs
Andrew Lenharth [Wed, 12 Apr 2006 17:41:19 +0000 (17:41 +0000)]
make recovering running_Olden data easier when the nightly tester eats the graphs

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27615 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRename get_VSPLI_elt -> get_VSPLTI_elt
Chris Lattner [Wed, 12 Apr 2006 17:37:20 +0000 (17:37 +0000)]
Rename get_VSPLI_elt -> get_VSPLTI_elt

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

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27614 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agotwo equivalent vsplti*s in different types should be CSEd.
Chris Lattner [Wed, 12 Apr 2006 17:36:04 +0000 (17:36 +0000)]
two equivalent vsplti*s in different types should be CSEd.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27613 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoPromote v4i32, v8i16, v16i8 load to v2i64 load.
Evan Cheng [Wed, 12 Apr 2006 17:12:36 +0000 (17:12 +0000)]
Promote v4i32, v8i16, v16i8 load to v2i64 load.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27612 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRename this file
Chris Lattner [Wed, 12 Apr 2006 17:01:11 +0000 (17:01 +0000)]
Rename this file

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27611 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake this test more interesting by checking that the 0.0 used to implement vector...
Chris Lattner [Wed, 12 Apr 2006 16:57:39 +0000 (16:57 +0000)]
Make this test more interesting by checking that the 0.0 used to implement vector fmul gets cse'd also.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27610 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoEnsure that zero vectors are always v4i32, which forces them to CSE with
Chris Lattner [Wed, 12 Apr 2006 16:53:28 +0000 (16:53 +0000)]
Ensure that zero vectors are always v4i32, which forces them to CSE with
each other.  This implements CodeGen/PowerPC/vxor-canonicalize.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27609 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Wed, 12 Apr 2006 16:49:16 +0000 (16:49 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27608 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoMake sure both member variables are initialized in the default constructor
Reid Spencer [Wed, 12 Apr 2006 16:44:15 +0000 (16:44 +0000)]
Make sure both member variables are initialized in the default constructor
for SDOperand. This gets rid of numerous warnings in lib/CodeGen and
lib/Target when compiled with GCC 4.0.2

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27607 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoVector type promotion for ISD::LOAD and ISD::SELECT
Evan Cheng [Wed, 12 Apr 2006 16:33:18 +0000 (16:33 +0000)]
Vector type promotion for ISD::LOAD and ISD::SELECT

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27606 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoProvide a default impl of LowerArguments
Chris Lattner [Wed, 12 Apr 2006 16:21:12 +0000 (16:21 +0000)]
Provide a default impl of LowerArguments

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27605 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoImplement support for the formal_arguments node. To get this, targets shouldcustom...
Chris Lattner [Wed, 12 Apr 2006 16:20:43 +0000 (16:20 +0000)]
Implement support for the formal_arguments node.  To get this, targets shouldcustom legalize it and remove their XXXTargetLowering::LowerArguments overload

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27604 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoVarious SSE2 conversion intrinsics
Evan Cheng [Wed, 12 Apr 2006 05:20:24 +0000 (05:20 +0000)]
Various SSE2 conversion intrinsics

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27603 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't memoize vloads in the load map! Don't memoize them anywhere here, let
Chris Lattner [Wed, 12 Apr 2006 03:25:41 +0000 (03:25 +0000)]
Don't memoize vloads in the load map!  Don't memoize them anywhere here, let
getNode do it.  This fixes CodeGen/Generic/2006-04-11-vecload.ll

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27602 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agonew testcase
Chris Lattner [Wed, 12 Apr 2006 03:24:46 +0000 (03:24 +0000)]
new testcase

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27601 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoRemove extraneous building in target dist-check. There is no reason that
Reid Spencer [Wed, 12 Apr 2006 03:07:02 +0000 (03:07 +0000)]
Remove extraneous building in target dist-check. There is no reason that
a distribution should need to be able to make a distribution so eliminate
the "make dist" from the list of targets attempted.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27600 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoAdded __builtin_ia32_storelv4si, __builtin_ia32_movqv4si,
Evan Cheng [Tue, 11 Apr 2006 22:28:25 +0000 (22:28 +0000)]
Added __builtin_ia32_storelv4si, __builtin_ia32_movqv4si,
__builtin_ia32_loadlv4si, __builtin_ia32_loaddqu, __builtin_ia32_storedqu.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27599 91177308-0d34-0410-b5e6-96231b3b80d8

18 years agoDon't overload anchor names, silly browser's can't handle it.
Reid Spencer [Tue, 11 Apr 2006 22:02:18 +0000 (22:02 +0000)]
Don't overload anchor names, silly browser's can't handle it.

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27598 91177308-0d34-0410-b5e6-96231b3b80d8