oota-llvm.git
18 years agoFix PSHUF* and SHUF* jit code emission problems
Evan Cheng [Wed, 22 Mar 2006 07:10:28 +0000 (07:10 +0000)]
Fix PSHUF* and SHUF* jit code emission problems

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

18 years agoEliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.
Chris Lattner [Wed, 22 Mar 2006 06:07:50 +0000 (06:07 +0000)]
Eliminate the dependency of ExecutionEngine on the JIT/Interpreter libraries.

Now you can build a tool with just the JIT or just the interpreter.

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

18 years agowrap lines to 80 columns.
Chris Lattner [Wed, 22 Mar 2006 06:06:37 +0000 (06:06 +0000)]
wrap lines to 80 columns.

Add static JITCtor/InterpCtor fields

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

18 years agoThis has been implemented. Tweak it into another note
Chris Lattner [Wed, 22 Mar 2006 05:33:23 +0000 (05:33 +0000)]
This has been implemented.  Tweak it into another note

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

18 years agoWhen possible, custom lower 32-bit SINT_TO_FP to this:
Chris Lattner [Wed, 22 Mar 2006 05:30:33 +0000 (05:30 +0000)]
When possible, custom lower 32-bit SINT_TO_FP to this:

_foo2:
        extsw r2, r3
        std r2, -8(r1)
        lfd f0, -8(r1)
        fcfid f0, f0
        frsp f1, f0
        blr

instead of this:

_foo2:
        lis r2, ha16(LCPI2_0)
        lis r4, 17200
        xoris r3, r3, 32768
        stw r3, -4(r1)
        stw r4, -8(r1)
        lfs f0, lo16(LCPI2_0)(r2)
        lfd f1, -8(r1)
        fsub f0, f1, f0
        frsp f1, f0
        blr

This speeds up Misc/pi from 2.44s->2.09s with LLC and from 3.01->2.18s
with llcbeta (16.7% and 38.1% respectively).

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

18 years agoAdd support for "ri" addressing modes where the immediate is a 14-bit field
Chris Lattner [Wed, 22 Mar 2006 05:26:03 +0000 (05:26 +0000)]
Add support for "ri" addressing modes where the immediate is a 14-bit field
which is shifted left two bits before use.  Instructions like STD use this
addressing mode.

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

18 years agofix a warning
Chris Lattner [Wed, 22 Mar 2006 04:18:34 +0000 (04:18 +0000)]
fix a warning

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

18 years agoSome splat and shuffle support.
Evan Cheng [Wed, 22 Mar 2006 02:53:00 +0000 (02:53 +0000)]
Some splat and shuffle support.

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

18 years agoAdd a couple more pseudo instructions.
Evan Cheng [Wed, 22 Mar 2006 02:52:03 +0000 (02:52 +0000)]
Add a couple more pseudo instructions.

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

18 years agoEndianness does not affect the order of vector fields. This fixes
Chris Lattner [Wed, 22 Mar 2006 01:46:54 +0000 (01:46 +0000)]
Endianness does not affect the order of vector fields.  This fixes
SingleSource/UnitTests/Vector/build.c

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

18 years agoFix the JIT encoding of the VAForm_1 instructions, including vmaddfp
Chris Lattner [Wed, 22 Mar 2006 01:44:36 +0000 (01:44 +0000)]
Fix the JIT encoding of the VAForm_1 instructions, including vmaddfp

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

18 years agoEnclose some variables in a scope to avoid error with some gcc versions
Chris Lattner [Wed, 22 Mar 2006 00:12:37 +0000 (00:12 +0000)]
Enclose some variables in a scope to avoid error with some gcc versions

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

18 years agoDidn't mean to check this in. No MMX support yet.
Evan Cheng [Tue, 21 Mar 2006 23:04:23 +0000 (23:04 +0000)]
Didn't mean to check this in. No MMX support yet.

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

18 years ago- Use movaps to store 128-bit vector integers.
Evan Cheng [Tue, 21 Mar 2006 23:01:21 +0000 (23:01 +0000)]
- Use movaps to store 128-bit vector integers.
- Each scalar to vector v8i16 and v16i8 is a any_extend followed by a movd.

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

18 years agoadd expand support for extractelement
Chris Lattner [Tue, 21 Mar 2006 21:02:03 +0000 (21:02 +0000)]
add expand support for extractelement

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

18 years agoThese targets don't support EXTRACT_VECTOR_ELT, though, in time, X86 will.
Chris Lattner [Tue, 21 Mar 2006 20:51:05 +0000 (20:51 +0000)]
These targets don't support EXTRACT_VECTOR_ELT, though, in time, X86 will.

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

18 years agoDon't forget to promote xform function to an explicit node for def : Pat<>
Evan Cheng [Tue, 21 Mar 2006 20:44:17 +0000 (20:44 +0000)]
Don't forget to promote xform function to an explicit node for def : Pat<>
patterns.

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

18 years agoadd some trivial support for extractelement.
Chris Lattner [Tue, 21 Mar 2006 20:44:12 +0000 (20:44 +0000)]
add some trivial support for extractelement.

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

18 years agoadd some nodes for extractelement
Chris Lattner [Tue, 21 Mar 2006 20:43:08 +0000 (20:43 +0000)]
add some nodes for extractelement

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

18 years agoDon't emit pseudo instructions!
Chris Lattner [Tue, 21 Mar 2006 20:19:37 +0000 (20:19 +0000)]
Don't emit pseudo instructions!

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

18 years agoAdd a hacky workaround for crashes due to vectors live across blocks.
Chris Lattner [Tue, 21 Mar 2006 19:20:37 +0000 (19:20 +0000)]
Add a hacky workaround for crashes due to vectors live across blocks.
Note that this code won't work for vectors that aren't legal on the
target.  Improvements coming.

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

18 years agoUpdate readme
Nate Begeman [Tue, 21 Mar 2006 18:58:20 +0000 (18:58 +0000)]
Update readme

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

18 years agoAdd an integer splat test
Chris Lattner [Tue, 21 Mar 2006 18:27:27 +0000 (18:27 +0000)]
Add an integer splat test

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

18 years agoPrint absolute memory references like this:
Chris Lattner [Tue, 21 Mar 2006 17:21:13 +0000 (17:21 +0000)]
Print absolute memory references like this:

       lwz r2, 8(0)
instead of this:
       lwz r2, 8(r0)

This fixes the llc/llc-beta failures on PPC last night.

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

18 years agoCombine 2 entries
Evan Cheng [Tue, 21 Mar 2006 07:18:26 +0000 (07:18 +0000)]
Combine 2 entries

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

18 years agoAdd a note about x86 register coallescing
Evan Cheng [Tue, 21 Mar 2006 07:12:57 +0000 (07:12 +0000)]
Add a note about x86 register coallescing

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

18 years ago- Remove scalar to vector pseudo ops. They are just wrong.
Evan Cheng [Tue, 21 Mar 2006 07:09:35 +0000 (07:09 +0000)]
- Remove scalar to vector pseudo ops. They are just wrong.
- Handle FR32 to VR128:v4f32 and FR64 to VR128:v2f64 with aliases of MOVAPS
and MOVAPD. Mark them as move instructions and *hope* they will be deleted.

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

18 years agominor code simplification
Chris Lattner [Tue, 21 Mar 2006 06:42:58 +0000 (06:42 +0000)]
minor code simplification

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

18 years agoWith Evan's latest tblgen patch, this code is obsolete, thanks Evan!
Chris Lattner [Tue, 21 Mar 2006 06:37:40 +0000 (06:37 +0000)]
With Evan's latest tblgen patch, this code is obsolete, thanks Evan!

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

18 years agoCause the various warnings list to be generated via a <ul> list with
Reid Spencer [Tue, 21 Mar 2006 01:21:39 +0000 (01:21 +0000)]
Cause the various warnings list to be generated via a <ul> list with
text enclosed in <tt>. This ensures that (a) the text is in a fixed width
font (to indicated generated text) and (b) the text wraps without causing
the page width to be extended. The main result of this is that the report
will wrap to conform to the window size in which it is displayed instead of
having a very wide length if a warning message is long.

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

18 years agoDocument ENABLE_ASSERTIONS=1
Chris Lattner [Tue, 21 Mar 2006 01:10:57 +0000 (01:10 +0000)]
Document ENABLE_ASSERTIONS=1

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

18 years agoEnable assertions to be enabled in release builds by building with
Chris Lattner [Tue, 21 Mar 2006 01:06:41 +0000 (01:06 +0000)]
Enable assertions to be enabled in release builds by building with
make ENABLE_OPTIMIZED=1 ENABLE_ASSERTIONS=1

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

18 years agoWhen codegen'ing vector MUL using VFMADD, *add* the 0, don't *mul* the 0.
Chris Lattner [Tue, 21 Mar 2006 00:51:38 +0000 (00:51 +0000)]
When codegen'ing vector MUL using VFMADD, *add* the 0, don't *mul* the 0.

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

18 years agominor note
Chris Lattner [Tue, 21 Mar 2006 00:47:09 +0000 (00:47 +0000)]
minor note

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

18 years agox86 ISD::SCALAR_TO_VECTOR support.
Evan Cheng [Tue, 21 Mar 2006 00:33:35 +0000 (00:33 +0000)]
x86 ISD::SCALAR_TO_VECTOR support.

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

18 years agoJunk unused vector register classes.
Evan Cheng [Tue, 21 Mar 2006 00:30:59 +0000 (00:30 +0000)]
Junk unused vector register classes.

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

18 years agoThe node wrapped in PatLeaf<> should be treated as a leaf even if it isn't
Evan Cheng [Mon, 20 Mar 2006 22:53:06 +0000 (22:53 +0000)]
The node wrapped in PatLeaf<> should be treated as a leaf even if it isn't
one, i.e. don't select it.

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

18 years agoHandle constant addresses more efficiently, folding the low bits into the
Chris Lattner [Mon, 20 Mar 2006 22:38:22 +0000 (22:38 +0000)]
Handle constant addresses more efficiently, folding the low bits into the
disp field of the load/store if possible.  This compiles
CodeGen/PowerPC/load-constant-addr.ll to:

_test:
        lis r2, 2838
        lfs f1, 26848(r2)
        blr

instead of:

_test:
        lis r2, 2838
        ori r2, r2, 26848
        lfs f1, 0(r2)
        blr

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

18 years agoremove dead variable
Chris Lattner [Mon, 20 Mar 2006 22:37:23 +0000 (22:37 +0000)]
remove dead variable

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

18 years agonew testcase
Chris Lattner [Mon, 20 Mar 2006 22:37:05 +0000 (22:37 +0000)]
new testcase

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

18 years agoMove some common data structures between dom and pdom into the base class
Nate Begeman [Mon, 20 Mar 2006 19:32:48 +0000 (19:32 +0000)]
Move some common data structures between dom and pdom into the base class

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

18 years agoFix a couple of bugs in permute/splat generate, thanks to Nate for actually
Chris Lattner [Mon, 20 Mar 2006 18:26:51 +0000 (18:26 +0000)]
Fix a couple of bugs in permute/splat generate, thanks to Nate for actually
figuring these out! :)

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

18 years agoOption -enable-x86-lsr has been removed
Evan Cheng [Mon, 20 Mar 2006 18:26:11 +0000 (18:26 +0000)]
Option -enable-x86-lsr has been removed

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

18 years agoreenable this hack, the tblgen version isn't quite ready
Chris Lattner [Mon, 20 Mar 2006 17:54:43 +0000 (17:54 +0000)]
reenable this hack, the tblgen version isn't quite ready

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

18 years agoFix the pattern for VADDUWM, add i32 splat
Chris Lattner [Mon, 20 Mar 2006 17:51:58 +0000 (17:51 +0000)]
Fix the pattern for VADDUWM, add i32 splat

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

18 years agoUse tblgen'd VECTOR_SHUFFLE selection code.
Evan Cheng [Mon, 20 Mar 2006 08:14:16 +0000 (08:14 +0000)]
Use tblgen'd VECTOR_SHUFFLE selection code.

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

18 years agoIt should be ok for a xform output type to be different from input type.
Evan Cheng [Mon, 20 Mar 2006 08:09:17 +0000 (08:09 +0000)]
It should be ok for a xform output type to be different from input type.

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

18 years agoAdd support for generating vspltw, instead of a vperm instruction with a
Chris Lattner [Mon, 20 Mar 2006 06:51:10 +0000 (06:51 +0000)]
Add support for generating vspltw, instead of a vperm instruction with a
constant pool load.  This generates significantly nicer code for splats.

When tblgen gets bugfixed, we can remove the custom selection code.

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

18 years agoImplement PPC::isSplatShuffleMask and PPC::getVSPLTImmediate.
Chris Lattner [Mon, 20 Mar 2006 06:37:44 +0000 (06:37 +0000)]
Implement PPC::isSplatShuffleMask and PPC::getVSPLTImmediate.

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

18 years agofix duplicate definition errors
Chris Lattner [Mon, 20 Mar 2006 06:33:01 +0000 (06:33 +0000)]
fix duplicate definition errors

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

18 years agoAdd a build_vector node
Chris Lattner [Mon, 20 Mar 2006 06:18:01 +0000 (06:18 +0000)]
Add a build_vector node

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

18 years agoCheck in some intermediate code that adds a skeleton for matching vsplt*
Chris Lattner [Mon, 20 Mar 2006 06:15:45 +0000 (06:15 +0000)]
Check in some intermediate code that adds a skeleton for  matching vsplt*
instructions

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

18 years agoMove a few things around.
Evan Cheng [Mon, 20 Mar 2006 06:04:52 +0000 (06:04 +0000)]
Move a few things around.

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

18 years agoCopy matching pattern's output type info to instruction result pattern.
Evan Cheng [Mon, 20 Mar 2006 06:04:09 +0000 (06:04 +0000)]
Copy matching pattern's output type info to instruction result pattern.
The instruction patterns do not contain enough information to resolve the
exact type of the destination if it of a generic vector type.

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

18 years agoadd vector_shuffle
Chris Lattner [Mon, 20 Mar 2006 05:40:45 +0000 (05:40 +0000)]
add vector_shuffle

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

18 years agoAdd a new SDTCisIntVectorOfSameSize type constraint
Chris Lattner [Mon, 20 Mar 2006 05:39:48 +0000 (05:39 +0000)]
Add a new SDTCisIntVectorOfSameSize type constraint

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

18 years agofix typo
Chris Lattner [Mon, 20 Mar 2006 05:05:55 +0000 (05:05 +0000)]
fix typo

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

18 years agoadd vsplat instructions, fix sched description for vperm
Chris Lattner [Mon, 20 Mar 2006 04:47:33 +0000 (04:47 +0000)]
add vsplat instructions, fix sched description for vperm

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

18 years agoCustom lower arbitrary VECTOR_SHUFFLE's to VPERM.
Chris Lattner [Mon, 20 Mar 2006 01:53:53 +0000 (01:53 +0000)]
Custom lower arbitrary VECTOR_SHUFFLE's to VPERM.
TODO: leave specific ones as VECTOR_SHUFFLE's and turn them into specialized
operations like vsplt*

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

18 years agoClaim to have v16i8 for perm masks
Chris Lattner [Mon, 20 Mar 2006 01:53:02 +0000 (01:53 +0000)]
Claim to have v16i8 for perm masks

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

18 years agoIf a target supports splatting with SHUFFLE_VECTOR, lower to it from BUILD_VECTOR...
Chris Lattner [Mon, 20 Mar 2006 01:52:29 +0000 (01:52 +0000)]
If a target supports splatting with SHUFFLE_VECTOR, lower to it from BUILD_VECTOR(x,x,x,x)

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

18 years agoTargetData doesn't know the alignment of vectors :(
Chris Lattner [Mon, 20 Mar 2006 01:51:46 +0000 (01:51 +0000)]
TargetData doesn't know the alignment of vectors :(

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

18 years agoadd the vperm instruction
Chris Lattner [Mon, 20 Mar 2006 01:00:56 +0000 (01:00 +0000)]
add the vperm instruction

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

18 years agoAdd some helper methods
Chris Lattner [Mon, 20 Mar 2006 00:55:52 +0000 (00:55 +0000)]
Add some helper methods

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

18 years agoAdd another helper
Chris Lattner [Mon, 20 Mar 2006 00:20:30 +0000 (00:20 +0000)]
Add another helper

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

18 years agoAdd very basic support for VECTOR_SHUFFLE
Chris Lattner [Sun, 19 Mar 2006 23:56:04 +0000 (23:56 +0000)]
Add very basic support for VECTOR_SHUFFLE

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

18 years agoadd a node
Chris Lattner [Sun, 19 Mar 2006 23:42:51 +0000 (23:42 +0000)]
add a node

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

18 years agoAdd a helper method
Chris Lattner [Sun, 19 Mar 2006 23:41:32 +0000 (23:41 +0000)]
Add a helper method

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

18 years agoadd a note with a testcase
Chris Lattner [Sun, 19 Mar 2006 22:27:41 +0000 (22:27 +0000)]
add a note with a testcase

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

18 years agoThe library dependency file in flat format. This file is generated by the
Reid Spencer [Sun, 19 Mar 2006 22:12:30 +0000 (22:12 +0000)]
The library dependency file in flat format. This file is generated by the
makefile using the utils/GenLibDeps.pl script with the -flat option. It
records the dependencies between libraries in such a way that the
llvm-config script can easily read it (in makefile dependency format).

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

18 years agoFirst cut at the Makefile for llvm-config. This initial version just provides
Reid Spencer [Sun, 19 Mar 2006 22:10:53 +0000 (22:10 +0000)]
First cut at the Makefile for llvm-config. This initial version just provides
the rule for building the LibDeps.txt file using GenLibDeps.pl. This needs
to be done from time to time manually in order to keep LibDeps.txt up to
date.

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

18 years agoAdd a note about the MUL -> FMADD vector bug.
Chris Lattner [Sun, 19 Mar 2006 22:08:08 +0000 (22:08 +0000)]
Add a note about the MUL -> FMADD vector bug.

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

18 years agoAdd a -flat option for generating the library dependencies in a flat
Reid Spencer [Sun, 19 Mar 2006 22:08:01 +0000 (22:08 +0000)]
Add a -flat option for generating the library dependencies in a flat
format with one library per line, similar to a makefile dependency list.

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

18 years agoTeach cee to propagate through switch statements. This implements
Chris Lattner [Sun, 19 Mar 2006 19:37:24 +0000 (19:37 +0000)]
Teach cee to propagate through switch statements.  This implements
Transforms/CorrelatedExprs/switch.ll

Patch contributed by Eric Kidd!

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

18 years agonew testcase, contributed by Eric Kidd.
Chris Lattner [Sun, 19 Mar 2006 19:36:32 +0000 (19:36 +0000)]
new testcase, contributed by Eric Kidd.

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

18 years agoVector undef's
Evan Cheng [Sun, 19 Mar 2006 09:38:54 +0000 (09:38 +0000)]
Vector undef's

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

18 years agogetEnumName() missed v8i8, v4i16, and v2i32 types
Evan Cheng [Sun, 19 Mar 2006 07:57:34 +0000 (07:57 +0000)]
getEnumName() missed v8i8, v4i16, and v2i32 types

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

18 years agoCustom lower SCALAR_TO_VECTOR into lve*x.
Chris Lattner [Sun, 19 Mar 2006 06:55:52 +0000 (06:55 +0000)]
Custom lower SCALAR_TO_VECTOR into lve*x.

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

18 years agoAllow SCALAR_TO_VECTOR to be custom lowered.
Chris Lattner [Sun, 19 Mar 2006 06:47:21 +0000 (06:47 +0000)]
Allow SCALAR_TO_VECTOR to be custom lowered.

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

18 years agoAdd SCALAR_TO_VECTOR support
Chris Lattner [Sun, 19 Mar 2006 06:31:19 +0000 (06:31 +0000)]
Add SCALAR_TO_VECTOR support

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

18 years agoPPC doesn't have SCALAR_TO_VECTOR
Chris Lattner [Sun, 19 Mar 2006 06:17:19 +0000 (06:17 +0000)]
PPC doesn't have SCALAR_TO_VECTOR

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

18 years agoadd support for vector undef
Chris Lattner [Sun, 19 Mar 2006 06:10:09 +0000 (06:10 +0000)]
add support for vector undef

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

18 years agoRemind us of exit value substitution
Evan Cheng [Sun, 19 Mar 2006 06:09:23 +0000 (06:09 +0000)]
Remind us of exit value substitution

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

18 years agoTurning on LSR by default
Evan Cheng [Sun, 19 Mar 2006 06:08:49 +0000 (06:08 +0000)]
Turning on LSR by default

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

18 years agoRemember which tests are hurt by LSR.
Evan Cheng [Sun, 19 Mar 2006 06:08:11 +0000 (06:08 +0000)]
Remember which tests are hurt by LSR.

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

18 years agoadd a new testcase. This insertelement should be a noop on SSE.
Chris Lattner [Sun, 19 Mar 2006 05:46:51 +0000 (05:46 +0000)]
add a new testcase.  This insertelement should be a noop on SSE.

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

18 years agoDon't bother storing undef elements of BUILD_VECTOR's
Chris Lattner [Sun, 19 Mar 2006 05:46:04 +0000 (05:46 +0000)]
Don't bother storing undef elements of BUILD_VECTOR's

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

18 years agominor fixes
Chris Lattner [Sun, 19 Mar 2006 05:43:01 +0000 (05:43 +0000)]
minor fixes

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

18 years agonotes
Chris Lattner [Sun, 19 Mar 2006 05:33:30 +0000 (05:33 +0000)]
notes

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

18 years agoimprove comments, add a new MVT::getVectorBaseType method.
Chris Lattner [Sun, 19 Mar 2006 05:26:45 +0000 (05:26 +0000)]
improve comments, add a new MVT::getVectorBaseType method.

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

18 years agoadd another testcase, explicitly check stuff works with G5 and G3 codegen on
Chris Lattner [Sun, 19 Mar 2006 04:45:11 +0000 (04:45 +0000)]
add another testcase, explicitly check stuff works with G5 and G3 codegen on
PPC.

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

18 years agowe don't use lmw/stmw. When we want them they are easy enough to add
Chris Lattner [Sun, 19 Mar 2006 04:33:37 +0000 (04:33 +0000)]
we don't use lmw/stmw.  When we want them they are easy enough to add

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

18 years agoImplement expand of BUILD_VECTOR containing variable elements.
Chris Lattner [Sun, 19 Mar 2006 04:18:56 +0000 (04:18 +0000)]
Implement expand of BUILD_VECTOR containing variable elements.
This implements CodeGen/Generic/vector.ll:test_variable_buildvector

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

18 years agofold insertelement(buildvector) -> buildvector if the inserted element # is
Chris Lattner [Sun, 19 Mar 2006 01:27:56 +0000 (01:27 +0000)]
fold insertelement(buildvector) -> buildvector if the inserted element # is
a constant.  This implements test_constant_insert in CodeGen/Generic/vector.ll

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

18 years agoadd two new insert_element tests
Chris Lattner [Sun, 19 Mar 2006 01:27:04 +0000 (01:27 +0000)]
add two new insert_element tests

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

18 years agoimplement basic support for INSERT_VECTOR_ELT.
Chris Lattner [Sun, 19 Mar 2006 01:17:20 +0000 (01:17 +0000)]
implement basic support for INSERT_VECTOR_ELT.

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

18 years agorename these nodes
Chris Lattner [Sun, 19 Mar 2006 01:13:28 +0000 (01:13 +0000)]
rename these nodes

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

18 years agoRename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. Allow*BUILD_VECTO...
Chris Lattner [Sun, 19 Mar 2006 00:52:58 +0000 (00:52 +0000)]
Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR.  Allow*BUILD_VECTOR to take variable inputs.

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

18 years agoRename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR. Allow
Chris Lattner [Sun, 19 Mar 2006 00:52:25 +0000 (00:52 +0000)]
Rename ConstantVec -> BUILD_VECTOR and VConstant -> VBUILD_VECTOR.  Allow
*BUILD_VECTOR to take variable inputs.

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

18 years agoimplement vector.ll:test_undef
Chris Lattner [Sun, 19 Mar 2006 00:20:20 +0000 (00:20 +0000)]
implement vector.ll:test_undef

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