Chris Lattner [Sun, 16 Apr 2006 01:36:45 +0000 (01:36 +0000)]
Add support for promoting stores from one legal type to another, allowing us
to write one pattern for vector stores instead of 4.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27730
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Apr 2006 01:01:29 +0000 (01:01 +0000)]
Make the BUILD_VECTOR lowering code much more aggressive w.r.t constant vectors.
Remove some done items from the todo list.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27729
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Apr 2006 00:51:47 +0000 (00:51 +0000)]
Fix a bug in the 'shuffle(undef,x,mask) -> shuffle(x, undef,mask')' xform
Make the insert/extract elt -> shuffle code more aggressive.
This fixes CodeGen/PowerPC/vec_shuffle.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27728
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 16 Apr 2006 00:03:56 +0000 (00:03 +0000)]
Canonicalize shuffle(undef,x,mask) -> shuffle(x, undef,mask').
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27727
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Apr 2006 23:48:05 +0000 (23:48 +0000)]
Fix a crash when faced with a shuffle vector that has an undef in its mask.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27726
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Apr 2006 23:45:24 +0000 (23:45 +0000)]
Add patterns for matching vnots with bit converted inputs. Most of these will
go away when I start using evan's binop type canonicalizer
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27725
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Apr 2006 23:39:14 +0000 (23:39 +0000)]
Add a new vnot_conv predicate for matching vnot's where the allones vector is
bitconverted from some other type.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27724
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Apr 2006 23:38:00 +0000 (23:38 +0000)]
Make these predicates return true for bit_convert(buildvector)'s as well as
buildvectors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27723
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Apr 2006 06:10:09 +0000 (06:10 +0000)]
More encoding bugs
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27722
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Apr 2006 05:59:08 +0000 (05:59 +0000)]
pslldrm, psrawrm, etc. encoding bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27721
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Apr 2006 05:52:42 +0000 (05:52 +0000)]
hsubp{s|d} encoding bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27720
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Apr 2006 05:37:34 +0000 (05:37 +0000)]
Silly bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27719
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 15 Apr 2006 03:13:24 +0000 (03:13 +0000)]
Do not use movs{h|l}dup for a shuffle with a single non-undef node.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27718
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 15 Apr 2006 01:39:45 +0000 (01:39 +0000)]
significant cleanups to code that uses insert/extractelt heavily. This builds
maximal shuffles out of them where possible.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27717
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Apr 2006 23:33:27 +0000 (23:33 +0000)]
Added SSE (and other) entries to foldMemoryOperand().
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27716
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Apr 2006 23:32:40 +0000 (23:32 +0000)]
Some clean up
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27715
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Apr 2006 23:19:08 +0000 (23:19 +0000)]
Allow undef in a shuffle mask
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27714
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Apr 2006 22:20:32 +0000 (22:20 +0000)]
Move these ctors out of line
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27713
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 14 Apr 2006 22:20:07 +0000 (22:20 +0000)]
These instructions always return a packed vector. Improve the class definitions to expose this fact.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27712
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 14 Apr 2006 21:59:03 +0000 (21:59 +0000)]
Last few SSE3 intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27711
91177308-0d34-0410-b5e6-
96231b3b80d8
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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