1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 12:43:36 +01:00
Commit Graph

24110 Commits

Author SHA1 Message Date
Evan Cheng
300456c7f2 Added SSE (and other) entries to foldMemoryOperand().
llvm-svn: 27716
2006-04-14 23:33:27 +00:00
Evan Cheng
c626c9bb00 Some clean up
llvm-svn: 27715
2006-04-14 23:32:40 +00:00
Chris Lattner
5c9d357d7c Allow undef in a shuffle mask
llvm-svn: 27714
2006-04-14 23:19:08 +00:00
Chris Lattner
5ecb2adcc6 Move these ctors out of line
llvm-svn: 27713
2006-04-14 22:20:32 +00:00
Chris Lattner
5324c4f9aa These instructions always return a packed vector. Improve the class definitions to expose this fact.
llvm-svn: 27712
2006-04-14 22:20:07 +00:00
Evan Cheng
32c4470374 Last few SSE3 intrinsics.
llvm-svn: 27711
2006-04-14 21:59:03 +00:00
Chris Lattner
b3cae60d0b Teach scalarrepl to promote unions of vectors and floats, producing
insert/extractelement operations.  This implements
Transforms/ScalarRepl/vector_promote.ll

llvm-svn: 27710
2006-04-14 21:42:41 +00:00
Chris Lattner
dc53296ea1 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.

llvm-svn: 27709
2006-04-14 21:41:54 +00:00
Tanya Lattner
72a79541a8 Adding back vector instructions to keep in mainline.
llvm-svn: 27704
2006-04-14 19:24:33 +00:00
Tanya Lattner
61fcf9afdf Removing unimplemented vector instructions from language referrence.
llvm-svn: 27703
2006-04-14 19:07:42 +00:00
Reid Spencer
68923074ca 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.

llvm-svn: 27701
2006-04-14 14:11:48 +00:00
Reid Spencer
860522ab68 Allow an option, -with-externals, to be specified that provides the location
of the external tests. This turns into --with-externals option to configure.

llvm-svn: 27700
2006-04-14 13:53:56 +00:00
Evan Cheng
184264997e Misc. SSE2 intrinsics: clflush, lfench, mfence
llvm-svn: 27699
2006-04-14 07:43:12 +00:00
Evan Cheng
4831ed56e4 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.

llvm-svn: 27698
2006-04-14 07:26:43 +00:00
Evan Cheng
cc83472e2d New entry
llvm-svn: 27697
2006-04-14 07:24:04 +00:00
Reid Spencer
ac43fc444d Don't print out the install command for Intrinsics.gen unless VERBOSE mode.
llvm-svn: 27696
2006-04-14 06:32:31 +00:00
Chris Lattner
8882bef982 Make this assertion better
llvm-svn: 27695
2006-04-14 06:08:35 +00:00
Chris Lattner
043ed1eefa Force a specific config, because this test fails in certain configs otherwise.
llvm-svn: 27694
2006-04-14 06:06:51 +00:00
Chris Lattner
cf80e569f6 Move the rest of the PPCTargetLowering::LowerOperation cases out into
separate functions, for simplicity and code clarity.

llvm-svn: 27693
2006-04-14 06:01:58 +00:00
Chris Lattner
aacabea404 Pull the VECTOR_SHUFFLE and BUILD_VECTOR lowering code out into separate
functions, which makes the code much cleaner :)

llvm-svn: 27692
2006-04-14 05:19:18 +00:00
Chris Lattner
9f3ef19ced Implement value #'ing for vector operations, implementing
Regression/Transforms/GCSE/vectorops.ll

llvm-svn: 27691
2006-04-14 05:10:20 +00:00
Chris Lattner
dbe00bf8d7 new testcase, vector operations should be CSE'd
llvm-svn: 27690
2006-04-14 05:09:53 +00:00
Chris Lattner
5eb63e14c3 Remove this test, there is no need to test GCC's bugs
llvm-svn: 27689
2006-04-14 04:47:26 +00:00
Reid Spencer
79402c889b Ahem. HEAD -> 1.8cvs not 1.7 (I'm an idiot).
llvm-svn: 27687
2006-04-14 03:01:27 +00:00
Reid Spencer
bdce815d08 remove the "cvs" part of the version number for the release branch.
llvm-svn: 27686
2006-04-14 02:55:43 +00:00
Evan Cheng
360a73046f pcmpeq* and pcmpgt* intrinsics.
llvm-svn: 27685
2006-04-14 01:39:53 +00:00
Evan Cheng
18a1a0e199 psll*, psrl*, and psra* intrinsics.
llvm-svn: 27684
2006-04-14 00:14:05 +00:00
Reid Spencer
86c9d10360 Remove the .cvsignore file so this directory can be pruned.
llvm-svn: 27683
2006-04-13 22:00:10 +00:00
Reid Spencer
460ea010ae Remove .cvsignore so that this directory can be pruned.
llvm-svn: 27682
2006-04-13 21:59:03 +00:00
Chris Lattner
a8a5fea940 My addition of the xfail marker threw off the line #. move it.
llvm-svn: 27678
2006-04-13 21:19:13 +00:00
Reid Spencer
6794b8e049 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 ""

llvm-svn: 27676
2006-04-13 20:33:59 +00:00
Andrew Lenharth
7f45a6639b from the linux kernel
llvm-svn: 27674
2006-04-13 19:50:07 +00:00
Chris Lattner
2763672aca Fix this regex to match what llvmgcc4 produces also
llvm-svn: 27673
2006-04-13 19:46:16 +00:00
Andrew Lenharth
b6264f0dbd Handle some kernel code than ends in [0 x sbyte]. I think this is safe
llvm-svn: 27672
2006-04-13 19:31:49 +00:00
Reid Spencer
4719e9699d Expand some code with temporary variables to rid ourselves of the warning
about "dereferencing type-punned pointer will break strict-aliasing rules"

llvm-svn: 27671
2006-04-13 18:29:58 +00:00
Chris Lattner
4bebf6718d Fix an incorrect prototype for this intrinsic, fixing
CFrontend/2003-08-18-SigSetJmp.c  with llvm-gcc3.  This is part of PR733.

llvm-svn: 27670
2006-04-13 18:23:48 +00:00
Chris Lattner
69bc609781 Try xfailing this
llvm-svn: 27669
2006-04-13 18:15:24 +00:00
Evan Cheng
f7645b0c49 Doh. PANDrm, etc. are not commutable.
llvm-svn: 27668
2006-04-13 18:11:28 +00:00
Andrew Lenharth
fe51509b60 fix this for the more restrictive linkage
llvm-svn: 27667
2006-04-13 17:52:32 +00:00
Chris Lattner
908de0d45f These tests are now xfailed for llvmgcc4. This is PR735, unlikely to be
resolved before 1.7 :(

llvm-svn: 27666
2006-04-13 17:35:36 +00:00
Chris Lattner
87d369960c Only look at .ll files in this directory
llvm-svn: 27665
2006-04-13 17:32:53 +00:00
Chris Lattner
eec81793f9 This file is an invalid C file, test that it is properly rejected
llvm-svn: 27664
2006-04-13 17:32:03 +00:00
Chris Lattner
93829fa037 Another case where a dead cast was causing the test to spuriously
fail with the new front-end.

llvm-svn: 27663
2006-04-13 17:28:28 +00:00
Chris Lattner
82586d100d Don't get confused by dead casts.
llvm-svn: 27662
2006-04-13 17:26:54 +00:00
Chris Lattner
0c06377b9c Fix an accidental commit.
llvm-svn: 27661
2006-04-13 17:21:49 +00:00
Chris Lattner
6cddb81c90 This test fails and I don't know why, xfail it until andrew gets a chance to
look at it.

llvm-svn: 27660
2006-04-13 17:19:34 +00:00
Chris Lattner
1b60100f18 Oops, move misplaced test
llvm-svn: 27659
2006-04-13 17:18:42 +00:00
Chris Lattner
f2663af875 These are only XFAILs with llvmgcc3, they pass with llvmgcc4
llvm-svn: 27658
2006-04-13 17:16:21 +00:00
Chris Lattner
569ea9c6dd Force non-darwin targets to use a static relo model. This fixes PR734,
tested by CodeGen/Generic/vector.ll

llvm-svn: 27657
2006-04-13 17:10:48 +00:00
Chris Lattner
2c017add7e 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.

llvm-svn: 27656
2006-04-13 17:10:03 +00:00