oota-llvm.git
18 years agoCodegen shufflevector as VVECTOR_SHUFFLE
Chris Lattner [Sat, 8 Apr 2006 04:15:24 +0000 (04:15 +0000)]
Codegen shufflevector as VVECTOR_SHUFFLE

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

18 years agoadd a sanity check: LegalizeOp should return a value that is the same type
Chris Lattner [Sat, 8 Apr 2006 04:13:17 +0000 (04:13 +0000)]
add a sanity check: LegalizeOp should return a value that is the same type
as its input.

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

18 years agouse isValidOperands instead of duplicating checks
Chris Lattner [Sat, 8 Apr 2006 04:09:19 +0000 (04:09 +0000)]
use isValidOperands instead of duplicating checks

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

18 years agoRegenerate
Chris Lattner [Sat, 8 Apr 2006 04:09:02 +0000 (04:09 +0000)]
Regenerate

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

18 years agoUse isValidOperands instead of duplicating or eliding checks.
Chris Lattner [Sat, 8 Apr 2006 04:08:32 +0000 (04:08 +0000)]
Use isValidOperands instead of duplicating or eliding checks.

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

18 years agoUse the isValidOperands helper instead of duplicating checking code
Chris Lattner [Sat, 8 Apr 2006 04:07:52 +0000 (04:07 +0000)]
Use the isValidOperands helper instead of duplicating checking code

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

18 years agoAdd methods to check insertelement/extractelement instructions for validity,
Chris Lattner [Sat, 8 Apr 2006 04:05:48 +0000 (04:05 +0000)]
Add methods to check insertelement/extractelement instructions for validity,
check validity when instructions are created.

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

18 years agoAdd methods to check insert/extract element instructions for validity
Chris Lattner [Sat, 8 Apr 2006 04:04:54 +0000 (04:04 +0000)]
Add methods to check insert/extract element instructions for validity

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

18 years agoregenerate
Chris Lattner [Sat, 8 Apr 2006 03:55:17 +0000 (03:55 +0000)]
regenerate

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

18 years agoAdd insertelement and shufflevector constantexpr support
Chris Lattner [Sat, 8 Apr 2006 03:53:34 +0000 (03:53 +0000)]
Add insertelement and shufflevector constantexpr support

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

18 years agoFix recursion:
Reid Spencer [Sat, 8 Apr 2006 02:14:37 +0000 (02:14 +0000)]
Fix recursion:
1. Make setting OPTIONAL_DIRS use immediate assignment
2. Include Makefile.config before ifeq tests and then Makefile.rules later
   instead of Makefile.common up front. This ensures that the variable
   values are set before the ifeq statements in Makefile.rules are
   evaluated.
With this, recursion into projects/examples is corrected.

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

18 years agoDon't build projects/examples if libs-only was specified.
Reid Spencer [Sat, 8 Apr 2006 01:57:10 +0000 (01:57 +0000)]
Don't build projects/examples if libs-only was specified.

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

18 years agoINSERT_VECTOR_ELT lowering bug:
Evan Cheng [Sat, 8 Apr 2006 01:46:37 +0000 (01:46 +0000)]
INSERT_VECTOR_ELT lowering bug:
  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

18 years agoEnsure that the automatic "CVS build" detection works for both
Reid Spencer [Sat, 8 Apr 2006 01:41:26 +0000 (01:41 +0000)]
Ensure that the automatic "CVS build" detection works for both
objdir == srcdir and objdir != srcdir.

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

18 years agoAdd shufflevector support
Chris Lattner [Sat, 8 Apr 2006 01:19:47 +0000 (01:19 +0000)]
Add shufflevector support

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

18 years agoStub out shufflevector
Chris Lattner [Sat, 8 Apr 2006 01:19:25 +0000 (01:19 +0000)]
Stub out shufflevector

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

18 years agoAdd supprot for shufflevector
Chris Lattner [Sat, 8 Apr 2006 01:19:12 +0000 (01:19 +0000)]
Add supprot for shufflevector

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

18 years agoregenerate
Chris Lattner [Sat, 8 Apr 2006 01:18:56 +0000 (01:18 +0000)]
regenerate

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

18 years agoParse shufflevector
Chris Lattner [Sat, 8 Apr 2006 01:18:35 +0000 (01:18 +0000)]
Parse shufflevector

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

18 years agoAdd shufflevector support, todo, implement better constant folding.
Chris Lattner [Sat, 8 Apr 2006 01:18:18 +0000 (01:18 +0000)]
Add shufflevector support, todo, implement better constant folding.

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

18 years agoAdd shufflevector reading support
Chris Lattner [Sat, 8 Apr 2006 01:17:59 +0000 (01:17 +0000)]
Add shufflevector reading support

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

18 years agonew testcase for shufflevector
Chris Lattner [Sat, 8 Apr 2006 01:17:42 +0000 (01:17 +0000)]
new testcase for shufflevector

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

18 years agoAdd a new shufflevector instruction
Chris Lattner [Sat, 8 Apr 2006 01:15:18 +0000 (01:15 +0000)]
Add a new shufflevector instruction

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

18 years agoldmxcsr and stmxcsr.
Evan Cheng [Sat, 8 Apr 2006 00:47:44 +0000 (00:47 +0000)]
ldmxcsr and stmxcsr.

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

18 years agoFix int_x86_sse_stmxcsr and int_x86_sse_ldmxcsr. Not directly translated from
Evan Cheng [Sat, 8 Apr 2006 00:47:01 +0000 (00:47 +0000)]
Fix int_x86_sse_stmxcsr and int_x86_sse_ldmxcsr. Not directly translated from
gcc builtins. They are not lowered into these intrinsics which take a ptr
argument.

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

18 years agoGet Visual Studio building again.
Jeff Cohen [Sat, 8 Apr 2006 00:43:03 +0000 (00:43 +0000)]
Get Visual Studio building again.

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

18 years agoRemove section change in function end, preventing override of function's real
Jim Laskey [Sat, 8 Apr 2006 00:35:59 +0000 (00:35 +0000)]
Remove section change in function end, preventing override of function's real
section.

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

18 years agoDescription for the new shufflevector instruction I'm adding.
Chris Lattner [Sat, 8 Apr 2006 00:13:41 +0000 (00:13 +0000)]
Description for the new shufflevector instruction I'm adding.

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

18 years agoCode clean up.
Evan Cheng [Fri, 7 Apr 2006 21:53:05 +0000 (21:53 +0000)]
Code clean up.

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

18 years agoDoh!
Evan Cheng [Fri, 7 Apr 2006 21:52:15 +0000 (21:52 +0000)]
Doh!

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

18 years agoInvert the tests on LLVMGCC_MAJVERS to check for value 4 instead of value
Reid Spencer [Fri, 7 Apr 2006 21:45:23 +0000 (21:45 +0000)]
Invert the tests on LLVMGCC_MAJVERS to check for value 4 instead of value
3. This ensures that if llvm-gcc isn't available and consequently the value
of LLVMGCC_MAJVERS is blank, that the old (include runtime) behavior will
persist.

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

18 years agoAdded patterns for MOVHPSmr and MOVLPSmr.
Evan Cheng [Fri, 7 Apr 2006 21:20:58 +0000 (21:20 +0000)]
Added patterns for MOVHPSmr and MOVLPSmr.

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

18 years agoKeep track of an Mac OS X / x86 ABI bug.
Evan Cheng [Fri, 7 Apr 2006 21:19:53 +0000 (21:19 +0000)]
Keep track of an Mac OS X / x86 ABI bug.

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

18 years agoRemove int_x86_sse_storeh_ps and int_x86_sse_storel_ps. These are now lowered
Evan Cheng [Fri, 7 Apr 2006 21:18:40 +0000 (21:18 +0000)]
Remove int_x86_sse_storeh_ps and int_x86_sse_storel_ps. These are now lowered
by the frontend.

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

18 years agoMake sure that debug labels are defined within the same section and after the
Jim Laskey [Fri, 7 Apr 2006 20:44:42 +0000 (20:44 +0000)]
Make sure that debug labels are defined within the same section and after the
entry point of a function.

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

18 years agoadd a newline at the end of the file
Chris Lattner [Fri, 7 Apr 2006 18:41:16 +0000 (18:41 +0000)]
add a newline at the end of the file

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

18 years agoFoundation for call frame information.
Jim Laskey [Fri, 7 Apr 2006 16:34:46 +0000 (16:34 +0000)]
Foundation for call frame information.

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

18 years agoTHis -> This
Chris Lattner [Fri, 7 Apr 2006 16:21:59 +0000 (16:21 +0000)]
THis -> This

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

18 years agoFor PR723:
Reid Spencer [Fri, 7 Apr 2006 16:07:37 +0000 (16:07 +0000)]
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.

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

18 years agoFor PR723:
Reid Spencer [Fri, 7 Apr 2006 16:06:18 +0000 (16:06 +0000)]
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.

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

18 years agoFor PR723:
Reid Spencer [Fri, 7 Apr 2006 16:01:51 +0000 (16:01 +0000)]
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.

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

18 years agoFor PR723:
Reid Spencer [Fri, 7 Apr 2006 15:59:41 +0000 (15:59 +0000)]
For PR723:
- Provide for the include of ENABLE_ASSERTIONS flag from the configuration.
- Enhance the documentation for ENABLE_OPTIMIZED

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

18 years agoFor PR723:
Reid Spencer [Fri, 7 Apr 2006 15:58:18 +0000 (15:58 +0000)]
For PR723:
Print out something at the end of the build that indicates what kind of
build has just completed.

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

18 years agoIgnore stuff built by "make dist".
Reid Spencer [Fri, 7 Apr 2006 15:55:18 +0000 (15:55 +0000)]
Ignore stuff built by "make dist".

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

18 years agoA saner workaround. I hope.
Evan Cheng [Fri, 7 Apr 2006 08:31:56 +0000 (08:31 +0000)]
A saner workaround. I hope.

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

18 years agoTemporary workaround for a Mac OSX specific issue.
Evan Cheng [Fri, 7 Apr 2006 08:10:09 +0000 (08:10 +0000)]
Temporary workaround for a Mac OSX specific issue.

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

18 years agoAdded more shuffle tests
Evan Cheng [Fri, 7 Apr 2006 05:35:45 +0000 (05:35 +0000)]
Added more shuffle tests

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

18 years agoWe have an assertion that checks that we do not encode null values into the
Chris Lattner [Fri, 7 Apr 2006 05:00:02 +0000 (05:00 +0000)]
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.

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

18 years agoConstant fold extractelement(zero, x) -> zero
Chris Lattner [Fri, 7 Apr 2006 04:44:06 +0000 (04:44 +0000)]
Constant fold extractelement(zero, x) -> zero

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

18 years agoFix inlining of insert/extract element constantexprs
Chris Lattner [Fri, 7 Apr 2006 04:41:03 +0000 (04:41 +0000)]
Fix inlining of insert/extract element constantexprs

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

18 years agoAdd code to RemapOperand() to handle Instruction::ExtractElement and
Evan Cheng [Fri, 7 Apr 2006 01:27:42 +0000 (01:27 +0000)]
Add code to RemapOperand() to handle Instruction::ExtractElement and
Instruction::InsertElement.

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

18 years agoA MOVPS2SSmr, i.e. _mm_store_ss, encoding bug.
Evan Cheng [Thu, 6 Apr 2006 23:53:29 +0000 (23:53 +0000)]
A MOVPS2SSmr, i.e. _mm_store_ss, encoding bug.
Also MOVPDI2DIrr.

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

18 years agoRemove int_x86_sse_loadh_ps and int_x86_sse_loadl_ps. These are now lowered
Evan Cheng [Thu, 6 Apr 2006 23:25:41 +0000 (23:25 +0000)]
Remove int_x86_sse_loadh_ps and int_x86_sse_loadl_ps. These are now lowered
by the frontend to shuffles.

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

18 years ago- movlp{s|d} and movhp{s|d} support.
Evan Cheng [Thu, 6 Apr 2006 23:23:56 +0000 (23:23 +0000)]
- 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.

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

18 years agoNew entries.
Evan Cheng [Thu, 6 Apr 2006 23:21:24 +0000 (23:21 +0000)]
New entries.

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

18 years ago1. If both vector operands of a vector_shuffle are undef, turn it into an undef.
Evan Cheng [Thu, 6 Apr 2006 23:20:43 +0000 (23:20 +0000)]
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.

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

18 years agoThis may be overconservative, but it lets the new cfe compile
Andrew Lenharth [Thu, 6 Apr 2006 23:18:45 +0000 (23:18 +0000)]
This may be overconservative, but it lets the new cfe compile

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

18 years agoAdd an item
Chris Lattner [Thu, 6 Apr 2006 23:16:19 +0000 (23:16 +0000)]
Add an item

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

18 years agoMake sure to return the result in the right type.
Chris Lattner [Thu, 6 Apr 2006 23:12:19 +0000 (23:12 +0000)]
Make sure to return the result in the right type.

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

18 years agoMove this to lib/Analysis.
Andrew Lenharth [Thu, 6 Apr 2006 22:58:58 +0000 (22:58 +0000)]
Move this to lib/Analysis.
This reduces Core size, yay.

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

18 years agoMatch vpku[hw]um(x,x).
Chris Lattner [Thu, 6 Apr 2006 22:28:36 +0000 (22:28 +0000)]
Match vpku[hw]um(x,x).
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

18 years agoAdd testcases for vpku[hw]um(x,x)
Chris Lattner [Thu, 6 Apr 2006 22:27:59 +0000 (22:27 +0000)]
Add testcases for vpku[hw]um(x,x)

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

18 years agoAdd the variable llvmgccmajvers to the site.exp file. This will contain
Reid Spencer [Thu, 6 Apr 2006 22:22:08 +0000 (22:22 +0000)]
Add the variable llvmgccmajvers to the site.exp file. This will contain
the major version number of llvm-gcc, as configured.

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

18 years agoAvoid building the runtime libraries if llvm-gcc version 4 is detected.
Reid Spencer [Thu, 6 Apr 2006 22:15:51 +0000 (22:15 +0000)]
Avoid building the runtime libraries if llvm-gcc version 4 is detected.

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

18 years agoAdd support for matching vmrg(x,x) patterns
Chris Lattner [Thu, 6 Apr 2006 22:02:42 +0000 (22:02 +0000)]
Add support for matching vmrg(x,x) patterns

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

18 years agoAdd vmrg(x,x) tests
Chris Lattner [Thu, 6 Apr 2006 22:02:11 +0000 (22:02 +0000)]
Add vmrg(x,x) tests

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

18 years agoFor support of new GCC v4, obtain the full and major versions of the
Reid Spencer [Thu, 6 Apr 2006 22:00:36 +0000 (22:00 +0000)]
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.

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

18 years agofix some linking problems with the new gcc
Andrew Lenharth [Thu, 6 Apr 2006 21:26:32 +0000 (21:26 +0000)]
fix some linking problems with the new gcc

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

18 years agoAdd tests for vmrg[hl]*
Chris Lattner [Thu, 6 Apr 2006 21:19:37 +0000 (21:19 +0000)]
Add tests for vmrg[hl]*

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

18 years agoThese intrinsics are now lowered by the FE.
Chris Lattner [Thu, 6 Apr 2006 21:12:48 +0000 (21:12 +0000)]
These intrinsics are now lowered by the FE.

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

18 years agoPattern match vmrg* instructions, which are now lowered by the CFE into shuffles.
Chris Lattner [Thu, 6 Apr 2006 21:11:54 +0000 (21:11 +0000)]
Pattern match vmrg* instructions, which are now lowered by the CFE into shuffles.

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

18 years agoInfer element types for shuffle masks
Chris Lattner [Thu, 6 Apr 2006 20:36:51 +0000 (20:36 +0000)]
Infer element types for shuffle masks

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

18 years agorename a method, to avoid confusion with llvm intrinsics.
Chris Lattner [Thu, 6 Apr 2006 20:19:52 +0000 (20:19 +0000)]
rename a method, to avoid confusion with llvm intrinsics.

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

18 years agotest vperm promotion
Chris Lattner [Thu, 6 Apr 2006 19:21:02 +0000 (19:21 +0000)]
test vperm promotion

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

18 years agoremove two done items
Chris Lattner [Thu, 6 Apr 2006 19:19:38 +0000 (19:19 +0000)]
remove two done items

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

18 years agoLower vperm(x,y, mask) -> shuffle(x,y,mask) if mask is constant. This allows
Chris Lattner [Thu, 6 Apr 2006 19:19:17 +0000 (19:19 +0000)]
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

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

18 years agothis is no longer an intrinsic.
Chris Lattner [Thu, 6 Apr 2006 18:29:17 +0000 (18:29 +0000)]
this is no longer an intrinsic.

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

18 years agoSupport pattern matching vsldoi(x,y) and vsldoi(x,x), which allows the f.e. to
Chris Lattner [Thu, 6 Apr 2006 18:26:28 +0000 (18:26 +0000)]
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

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

18 years agonew testcase
Chris Lattner [Thu, 6 Apr 2006 18:26:13 +0000 (18:26 +0000)]
new testcase

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

18 years agoCompile the vpkuhum/vpkuwum intrinsics into vpkuhum/vpkuwum instead of into
Chris Lattner [Thu, 6 Apr 2006 17:23:16 +0000 (17:23 +0000)]
Compile the vpkuhum/vpkuwum intrinsics into vpkuhum/vpkuwum instead of into
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

18 years agoAdd support for building the LLVM libraries and tools as a Mac OS/X
Chris Lattner [Thu, 6 Apr 2006 06:30:15 +0000 (06:30 +0000)]
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.

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

18 years agoPOR encoded as PAND, yikes.
Evan Cheng [Thu, 6 Apr 2006 01:49:20 +0000 (01:49 +0000)]
POR encoded as PAND, yikes.

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

18 years agoAn entry about comi / ucomi intrinsics.
Evan Cheng [Wed, 5 Apr 2006 23:46:04 +0000 (23:46 +0000)]
An entry about comi / ucomi intrinsics.

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

18 years agoSupport for comi / ucomi intrinsics.
Evan Cheng [Wed, 5 Apr 2006 23:38:46 +0000 (23:38 +0000)]
Support for comi / ucomi intrinsics.

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

18 years agoAdded comi and ucomi SSE intrinsics.
Evan Cheng [Wed, 5 Apr 2006 23:37:18 +0000 (23:37 +0000)]
Added comi and ucomi SSE intrinsics.

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

18 years agoAdd all of the data stream intrinsics and instructions. woo
Chris Lattner [Wed, 5 Apr 2006 22:27:14 +0000 (22:27 +0000)]
Add all of the data stream intrinsics and instructions.  woo

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

18 years agoadd altivec ds* intrinsics
Chris Lattner [Wed, 5 Apr 2006 22:18:01 +0000 (22:18 +0000)]
add altivec ds* intrinsics

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

18 years agoFix a typo
Chris Lattner [Wed, 5 Apr 2006 20:15:25 +0000 (20:15 +0000)]
Fix a typo

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

18 years agoFix CodeGen/PowerPC/2006-04-05-splat-ish.ll
Chris Lattner [Wed, 5 Apr 2006 17:39:25 +0000 (17:39 +0000)]
Fix CodeGen/PowerPC/2006-04-05-splat-ish.ll

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

18 years agonew testcase that was miscompiled to vspltisb
Chris Lattner [Wed, 5 Apr 2006 17:38:50 +0000 (17:38 +0000)]
new testcase that was miscompiled to vspltisb

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

18 years agoHandle canonical form of e.g.
Evan Cheng [Wed, 5 Apr 2006 07:20:06 +0000 (07:20 +0000)]
Handle canonical form of e.g.
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

18 years agoMake a vector live across blocks have the correct Vec type. This fixes
Chris Lattner [Wed, 5 Apr 2006 06:54:42 +0000 (06:54 +0000)]
Make a vector live across blocks have the correct Vec type.  This fixes
CodeGen/X86/2006-04-04-CrossBlockCrash.ll

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

18 years agonew testcase
Chris Lattner [Wed, 5 Apr 2006 06:54:14 +0000 (06:54 +0000)]
new testcase

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

18 years agoBogus assert
Evan Cheng [Wed, 5 Apr 2006 06:11:20 +0000 (06:11 +0000)]
Bogus assert

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

18 years agoFallthrough to expand if a VECTOR_SHUFFLE cannot be custom lowered.
Evan Cheng [Wed, 5 Apr 2006 06:09:26 +0000 (06:09 +0000)]
Fallthrough to expand if a VECTOR_SHUFFLE cannot be custom lowered.

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

18 years agoExapnd a VECTOR_SHUFFLE to a BUILD_VECTOR if target asks for it to be expanded
Evan Cheng [Wed, 5 Apr 2006 06:07:11 +0000 (06:07 +0000)]
Exapnd a VECTOR_SHUFFLE to a BUILD_VECTOR if target asks for it to be expanded
or custom lowering fails.

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

18 years agoFix more tablegen depedency issues in Visual Studio.
Jeff Cohen [Wed, 5 Apr 2006 05:19:18 +0000 (05:19 +0000)]
Fix more tablegen depedency issues in Visual Studio.

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

18 years agoSeparate out to 2 test cases
Evan Cheng [Wed, 5 Apr 2006 04:40:55 +0000 (04:40 +0000)]
Separate out to 2 test cases

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

18 years agomake this test less exacting
Andrew Lenharth [Wed, 5 Apr 2006 03:31:45 +0000 (03:31 +0000)]
make this test less exacting

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

18 years agorevert this, this is safe, if conservative. leave a note to that effect
Andrew Lenharth [Wed, 5 Apr 2006 02:42:36 +0000 (02:42 +0000)]
revert this, this is safe, if conservative.  leave a note to that effect

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