Commit Graph

23903 Commits

Author SHA1 Message Date
Reid Spencer
bc88d6857e For PR723:
Configure with the --enable-optimized and --enable-assertions option to
ensure that binary RPM packages are built with the options required by the
feature request.

llvm-svn: 27489
2006-04-07 16:07:37 +00:00
Reid Spencer
0c6aa1e21e For PR723:
1. Don't force debug builds to have assertion checking turned on always.
   Let the default (on) be taken, or overridden by the command line
2. Create two new BuildModes based on assertion checking: Release+Assert
   and Debug-Assert.
3. Ensure that when building a distribution we get a release build with
   assertions enabled, regardless of the tree's configuration.
4. (unrelated) Fix library name generation for llvm-config usage.

llvm-svn: 27488
2006-04-07 16:06:18 +00:00
Reid Spencer
24021a2c49 For PR723:
Support detection of a "CVS" directory at configure time to distinguish
whether this is a release build or a "from tree" build. This knowledge is
used to set the defaults for --enable-optimzied and --enable-assertions
options.

llvm-svn: 27487
2006-04-07 16:01:51 +00:00
Reid Spencer
dfdc1ef793 For PR723:
- Provide for the include of ENABLE_ASSERTIONS flag from the configuration.
- Enhance the documentation for ENABLE_OPTIMIZED

llvm-svn: 27486
2006-04-07 15:59:41 +00:00
Reid Spencer
d4bdc7793c For PR723:
Print out something at the end of the build that indicates what kind of
build has just completed.

llvm-svn: 27485
2006-04-07 15:58:18 +00:00
Reid Spencer
295a3aa9be Ignore stuff built by "make dist".
llvm-svn: 27484
2006-04-07 15:55:18 +00:00
Evan Cheng
29e481eeff A saner workaround. I hope.
llvm-svn: 27483
2006-04-07 08:31:56 +00:00
Evan Cheng
16cd1588dd Temporary workaround for a Mac OSX specific issue.
llvm-svn: 27482
2006-04-07 08:10:09 +00:00
Evan Cheng
1041cdddc2 Added more shuffle tests
llvm-svn: 27481
2006-04-07 05:35:45 +00:00
Chris Lattner
f358863a69 We have an assertion that checks that we do not encode null values into the
.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.

llvm-svn: 27480
2006-04-07 05:00:02 +00:00
Chris Lattner
8c5ac50fb4 Constant fold extractelement(zero, x) -> zero
llvm-svn: 27479
2006-04-07 04:44:06 +00:00
Chris Lattner
32b65613d9 Fix inlining of insert/extract element constantexprs
llvm-svn: 27478
2006-04-07 04:41:03 +00:00
Evan Cheng
37b4263eb8 Add code to RemapOperand() to handle Instruction::ExtractElement and
Instruction::InsertElement.

llvm-svn: 27477
2006-04-07 01:27:42 +00:00
Evan Cheng
aaa0d70b65 A MOVPS2SSmr, i.e. _mm_store_ss, encoding bug.
Also MOVPDI2DIrr.

llvm-svn: 27476
2006-04-06 23:53:29 +00:00
Evan Cheng
f49979cf28 Remove int_x86_sse_loadh_ps and int_x86_sse_loadl_ps. These are now lowered
by the frontend to shuffles.

llvm-svn: 27475
2006-04-06 23:25:41 +00:00
Evan Cheng
9f27046dc9 - movlp{s|d} and movhp{s|d} support.
- 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.

llvm-svn: 27474
2006-04-06 23:23:56 +00:00
Evan Cheng
e248d318a8 New entries.
llvm-svn: 27473
2006-04-06 23:21:24 +00:00
Evan Cheng
e5eefd369a 1. If both vector operands of a vector_shuffle are undef, turn it into an undef.
2. A shuffle mask element can also be an undef.

llvm-svn: 27472
2006-04-06 23:20:43 +00:00
Andrew Lenharth
892b890d6a This may be overconservative, but it lets the new cfe compile
llvm-svn: 27471
2006-04-06 23:18:45 +00:00
Chris Lattner
db7dfe8c61 Add an item
llvm-svn: 27470
2006-04-06 23:16:19 +00:00
Chris Lattner
a390188fd4 Make sure to return the result in the right type.
llvm-svn: 27469
2006-04-06 23:12:19 +00:00
Andrew Lenharth
038b30839d Move this to lib/Analysis.
This reduces Core size, yay.

llvm-svn: 27468
2006-04-06 22:58:58 +00:00
Chris Lattner
c0680ae07e Match vpku[hw]um(x,x).
Convert vsldoi(x,x) to work the same way other (x,x) cases work.

llvm-svn: 27467
2006-04-06 22:28:36 +00:00
Chris Lattner
f3f1a0f172 Add testcases for vpku[hw]um(x,x)
llvm-svn: 27466
2006-04-06 22:27:59 +00:00
Reid Spencer
f6ff0f1ead Add the variable llvmgccmajvers to the site.exp file. This will contain
the major version number of llvm-gcc, as configured.

llvm-svn: 27465
2006-04-06 22:22:08 +00:00
Reid Spencer
8067330e59 Avoid building the runtime libraries if llvm-gcc version 4 is detected.
llvm-svn: 27464
2006-04-06 22:15:51 +00:00
Chris Lattner
a52d88ee89 Add support for matching vmrg(x,x) patterns
llvm-svn: 27463
2006-04-06 22:02:42 +00:00
Chris Lattner
5340c1f247 Add vmrg(x,x) tests
llvm-svn: 27462
2006-04-06 22:02:11 +00:00
Reid Spencer
750a186e86 For support of new GCC v4, obtain the full and major versions of the
llvm-gcc command. This will help distinguish which version is being used
so the makefiles can accommodate.

llvm-svn: 27461
2006-04-06 22:00:36 +00:00
Andrew Lenharth
95d16ade31 fix some linking problems with the new gcc
llvm-svn: 27460
2006-04-06 21:26:32 +00:00
Chris Lattner
e1efb9ea23 Add tests for vmrg[hl]*
llvm-svn: 27459
2006-04-06 21:19:37 +00:00
Chris Lattner
b19cdc8fc1 These intrinsics are now lowered by the FE.
llvm-svn: 27458
2006-04-06 21:12:48 +00:00
Chris Lattner
300076cbd8 Pattern match vmrg* instructions, which are now lowered by the CFE into shuffles.
llvm-svn: 27457
2006-04-06 21:11:54 +00:00
Chris Lattner
9f8d5b538e Infer element types for shuffle masks
llvm-svn: 27456
2006-04-06 20:36:51 +00:00
Chris Lattner
7f54d730f1 rename a method, to avoid confusion with llvm intrinsics.
llvm-svn: 27455
2006-04-06 20:19:52 +00:00
Chris Lattner
9d4b5fa2b8 test vperm promotion
llvm-svn: 27454
2006-04-06 19:21:02 +00:00
Chris Lattner
6cf87c1b01 remove two done items
llvm-svn: 27453
2006-04-06 19:19:38 +00:00
Chris Lattner
bc0489232b Lower vperm(x,y, mask) -> shuffle(x,y,mask) if mask is constant. This allows
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

llvm-svn: 27452
2006-04-06 19:19:17 +00:00
Chris Lattner
09b9548243 this is no longer an intrinsic.
llvm-svn: 27451
2006-04-06 18:29:17 +00:00
Chris Lattner
2875bb116e Support pattern matching vsldoi(x,y) and vsldoi(x,x), which allows the f.e. to
lower it and LLVM to have one fewer intrinsic.  This implements
CodeGen/PowerPC/vec_shuffle.ll

llvm-svn: 27450
2006-04-06 18:26:28 +00:00
Chris Lattner
e547562ea3 new testcase
llvm-svn: 27449
2006-04-06 18:26:13 +00:00
Chris Lattner
10fa7be550 Compile the vpkuhum/vpkuwum intrinsics into vpkuhum/vpkuwum instead of into
vperm with a perm mask lvx'd from the constant pool.

llvm-svn: 27448
2006-04-06 17:23:16 +00:00
Chris Lattner
df19e57d3f Add support for building the LLVM libraries and tools as a Mac OS/X
universal binary, by specifying UNIVERSAL=1 on the make command line.

llvm-svn: 27447
2006-04-06 06:30:15 +00:00
Evan Cheng
d2d7aff6ba POR encoded as PAND, yikes.
llvm-svn: 27446
2006-04-06 01:49:20 +00:00
Evan Cheng
dcf423ad74 An entry about comi / ucomi intrinsics.
llvm-svn: 27445
2006-04-05 23:46:04 +00:00
Evan Cheng
6d470008c8 Support for comi / ucomi intrinsics.
llvm-svn: 27444
2006-04-05 23:38:46 +00:00
Evan Cheng
f1a2e421c3 Added comi and ucomi SSE intrinsics.
llvm-svn: 27443
2006-04-05 23:37:18 +00:00
Chris Lattner
7f13e50435 Add all of the data stream intrinsics and instructions. woo
llvm-svn: 27442
2006-04-05 22:27:14 +00:00
Chris Lattner
86763bafa7 add altivec ds* intrinsics
llvm-svn: 27441
2006-04-05 22:18:01 +00:00
Chris Lattner
338945e669 Fix a typo
llvm-svn: 27440
2006-04-05 20:15:25 +00:00