Evan Cheng
e8b5180044
Now generating perfect (I think) code for "vector set" with a single non-zero
...
scalar value.
e.g.
_mm_set_epi32(0, a, 0, 0);
==>
movd 4(%esp), %xmm0
pshufd $69, %xmm0, %xmm0
_mm_set_epi8(0, 0, 0, 0, 0, a, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0);
==>
movzbw 4(%esp), %ax
movzwl %ax, %eax
pxor %xmm0, %xmm0
pinsrw $5, %eax, %xmm0
llvm-svn: 27923
2006-04-21 01:05:10 +00:00
Chris Lattner
cc47ab3305
Fix a really subtle and obnoxious memory bug that caused issues with an
...
llvm-gcc4 boostrap. Whenever a node is deleted by the dag combiner, it
*must* be returned by the visit function, or the dag combiner will not
know that the node has been processed (and will, e.g., send it to the
target dag combine xforms).
llvm-svn: 27922
2006-04-20 23:55:59 +00:00
Reid Spencer
5e6f97b7c9
Don't require the "dot" program if -flat option is given, and don't produce
...
any of the fancy graphs or other output. Just produce the flat, makefile
style output on stdout.
llvm-svn: 27921
2006-04-20 23:09:57 +00:00
Jeff Cohen
9c0ba827f7
Keep Visual Studio informed.
...
llvm-svn: 27920
2006-04-20 22:19:06 +00:00
Reid Spencer
aff245875b
Configure llvm-config in tools, not utils.
...
llvm-svn: 27919
2006-04-20 22:15:30 +00:00
Reid Spencer
0a1de79808
Remove the llvm-config directory. Its now in tools.
...
llvm-svn: 27918
2006-04-20 21:16:32 +00:00
Reid Spencer
6826031c70
llvm-config doesn't live here anymore ==> tools
...
llvm-svn: 27917
2006-04-20 21:15:41 +00:00
Reid Spencer
2b1041cf13
Okay, llvm-config is good to go now.
...
llvm-svn: 27916
2006-04-20 21:14:39 +00:00
Reid Spencer
5952201b67
Several Changes To Support Building llvm-config:
...
1. If Perl is not available, don't run Perl dependent targets.
2. Check in FinalLibDeps.txt for build environments that can't build it
because there's no Perl processor.
3. Ensure that FinalLibDeps.txt depends on LibDeps.txt so it is
automatically regenerated.
4. Support objdir != srcdir building.
llvm-svn: 27915
2006-04-20 21:13:58 +00:00
Reid Spencer
62b9b71ff7
Don't build llvm-config until issues are resolved.
...
llvm-svn: 27914
2006-04-20 21:00:24 +00:00
Reid Spencer
57d891afe1
Build the llvm-config directory as a tool.
...
llvm-svn: 27913
2006-04-20 20:53:23 +00:00
Chris Lattner
dae49df407
Fix Transforms/ScalarRepl/2006-04-20-PromoteCrash.ll
...
llvm-svn: 27912
2006-04-20 20:48:50 +00:00
Chris Lattner
c11f4f4214
new testcase
...
llvm-svn: 27911
2006-04-20 20:48:32 +00:00
Reid Spencer
8794317843
Update the library dependencies for 1.8 with SparcV9 now gone.
...
llvm-svn: 27910
2006-04-20 19:50:53 +00:00
Evan Cheng
968db7ffb7
Don't know what I was thinking...
...
llvm-svn: 27909
2006-04-20 19:47:28 +00:00
Chris Lattner
99d3da9d2c
Fix the CodeGen/PowerPC/buildvec_canonicalize.ll regression last night.
...
llvm-svn: 27908
2006-04-20 19:01:30 +00:00
Chris Lattner
d1c3a067ee
add a note
...
llvm-svn: 27907
2006-04-20 18:49:28 +00:00
Reid Spencer
53345be5e2
Remove Burg as a directory to be considered.
...
llvm-svn: 27906
2006-04-20 18:47:13 +00:00
Reid Spencer
a278128a59
Remove more references to Burg.
...
llvm-svn: 27905
2006-04-20 18:46:45 +00:00
Reid Spencer
355913aa7a
Remove reference to BURG variable. It no longer exists.
...
llvm-svn: 27904
2006-04-20 18:44:24 +00:00
Chris Lattner
32150b90b7
remove some stuff
...
llvm-svn: 27903
2006-04-20 18:43:59 +00:00
Reid Spencer
9597684ba7
Remove traces of Burg utility now that its gone and not needed.
...
llvm-svn: 27902
2006-04-20 18:42:24 +00:00
Reid Spencer
06502b6135
Burg not needed any more now that SparcV9 is gone.
...
llvm-svn: 27901
2006-04-20 18:39:19 +00:00
Chris Lattner
3e5521799c
remove some v9 specific code
...
llvm-svn: 27900
2006-04-20 18:33:11 +00:00
Chris Lattner
dcc1f995eb
This field no longer exists
...
llvm-svn: 27899
2006-04-20 18:32:41 +00:00
Chris Lattner
778509c844
Don't fill in fields that no longer exist.
...
llvm-svn: 27898
2006-04-20 18:32:22 +00:00
Chris Lattner
f2a5922fa9
Remove a bunch of dead stuff, shrinkifying TargetInstrDescriptor significantly.
...
llvm-svn: 27897
2006-04-20 18:32:02 +00:00
Chris Lattner
7d7ed24b96
Remove some obsolete interfaces
...
llvm-svn: 27896
2006-04-20 18:17:21 +00:00
Chris Lattner
2a875285f7
Remove this obsolete file
...
llvm-svn: 27895
2006-04-20 18:16:45 +00:00
Chris Lattner
862755b95b
Remove some of the obvious v9-specific cruft
...
llvm-svn: 27894
2006-04-20 18:09:13 +00:00
Chris Lattner
a38c3580bd
Remove some of the obvious V9-specific cruft
...
llvm-svn: 27893
2006-04-20 18:08:53 +00:00
Evan Cheng
73b12f2f53
Vector extract element test case.
...
llvm-svn: 27892
2006-04-20 17:59:30 +00:00
Chris Lattner
d5737be0f0
Remove V9 jit support
...
llvm-svn: 27891
2006-04-20 17:52:00 +00:00
Evan Cheng
aecd41384f
Vector insert test case.
...
llvm-svn: 27890
2006-04-20 17:50:10 +00:00
Chris Lattner
ec86eace63
allow this dir to get pruned
...
llvm-svn: 27889
2006-04-20 17:45:33 +00:00
Chris Lattner
1798687dba
Remove this target's reg tests
...
llvm-svn: 27888
2006-04-20 17:44:51 +00:00
Chris Lattner
5197dfadf2
Fails with all sparcs
...
llvm-svn: 27887
2006-04-20 17:43:41 +00:00
Chris Lattner
7991e85b2e
Remove V9
...
llvm-svn: 27886
2006-04-20 17:42:23 +00:00
Chris Lattner
ac61195539
This target is no longer built. The ,v files now live in the reoptimizer.
...
llvm-svn: 27885
2006-04-20 17:15:44 +00:00
Chris Lattner
53f4499b22
Never link in sparcv9
...
llvm-svn: 27884
2006-04-20 17:07:46 +00:00
Chris Lattner
8fe3dbceb0
Never build SparcV9
...
llvm-svn: 27883
2006-04-20 17:01:19 +00:00
Chris Lattner
d0a3a32eae
remove a dead prototype
...
llvm-svn: 27882
2006-04-20 15:45:54 +00:00
Andrew Lenharth
f89e630b2f
Make code match cvs commit message :)
...
llvm-svn: 27881
2006-04-20 15:41:37 +00:00
Andrew Lenharth
61eae29ad6
If we can convert the return pointer type into an integer that IntPtrType
...
can be converted to losslessly, we can continue the conversion to a direct call.
llvm-svn: 27880
2006-04-20 14:56:47 +00:00
Andrew Lenharth
b950dbea0b
can we cast between pointers and IntPtrType
...
llvm-svn: 27879
2006-04-20 14:54:17 +00:00
Reid Spencer
8923c09997
Add a missing =back to eliminate error.
...
llvm-svn: 27878
2006-04-20 14:17:47 +00:00
Evan Cheng
3ee104c852
v16i8 splat with 2 punpcklbw and a single pshufd.
...
llvm-svn: 27877
2006-04-20 09:05:16 +00:00
Evan Cheng
f2c5fe9139
Another shuffle test. For 4-wide shuffle, no more than 3 {p}shuf*.
...
llvm-svn: 27876
2006-04-20 09:01:54 +00:00
Evan Cheng
60f0b8998e
- Added support to turn "vector clear elements", e.g. pand V, <-1, -1, 0, -1>
...
to a vector shuffle.
- VECTOR_SHUFFLE lowering change in preparation for more efficient codegen
of vector shuffle with zero (or any splat) vector.
llvm-svn: 27875
2006-04-20 08:58:49 +00:00
Evan Cheng
a320abc494
Turn a VAND into a VECTOR_SHUFFLE is applicable.
...
DAG combiner can turn a VAND V, <-1, 0, -1, -1>, i.e. vector clear elements,
into a vector shuffle with a zero vector. It only does so when TLI tells it
the xform is profitable.
llvm-svn: 27874
2006-04-20 08:56:16 +00:00