Chris Lattner
522211a435
Move CodeGenIntrinsic implementation to CodeGenTarget.cpp with the rest of
...
the CodeGen* implementations.
Parse the MVT::ValueType for each operand of the intrinsics.
llvm-svn: 27075
2006-03-24 19:49:31 +00:00
Chris Lattner
3be0858857
Specify the value type for each llvm type. This needs work for pointers.
...
llvm-svn: 27074
2006-03-24 19:41:10 +00:00
Chris Lattner
b979b51e39
Shuffle some includes around
...
llvm-svn: 27073
2006-03-24 18:52:35 +00:00
Chris Lattner
9c8fb73936
Pull in valuetypes.td here, we will use it shortly.
...
llvm-svn: 27072
2006-03-24 18:51:56 +00:00
Evan Cheng
ff1db97bca
Only to vector shuffle for {x,x,y,y} cases when SCALAR_TO_VECTOR is free.
...
llvm-svn: 27071
2006-03-24 18:45:20 +00:00
Chris Lattner
8e14f3544b
expose intrinsic info to the targets.
...
llvm-svn: 27070
2006-03-24 18:44:11 +00:00
Chris Lattner
21abff3712
Fix a bad JIT encoding of VPERM. Why is VPERM D,A,B,C but vfmadd is D,A,C,B ??
...
llvm-svn: 27069
2006-03-24 18:24:43 +00:00
Chris Lattner
3133dafd4b
Like the comment says, prefer to use the implicit add done by [r+r] addressing
...
modes than emitting an explicit add and using a base of r0. This implements
Regression/CodeGen/PowerPC/mem-rr-addr-mode.ll
llvm-svn: 27068
2006-03-24 17:58:06 +00:00
Chris Lattner
a9f9f0ce44
New testcase
...
llvm-svn: 27067
2006-03-24 17:57:24 +00:00
Jim Laskey
b4ff5c3e78
Tweak a comment.
...
llvm-svn: 27066
2006-03-24 16:18:42 +00:00
Jim Laskey
704b1e07a3
Fix indent.
...
llvm-svn: 27065
2006-03-24 10:08:23 +00:00
Jim Laskey
06c78bb995
Clean up some commentary.
...
llvm-svn: 27064
2006-03-24 10:00:56 +00:00
Jim Laskey
0d63725a26
Rename for truth in advertising.
...
llvm-svn: 27063
2006-03-24 09:50:27 +00:00
Jim Laskey
eb5bb57fe8
Fixed some grammer and spelling.
...
llvm-svn: 27062
2006-03-24 09:20:27 +00:00
Evan Cheng
de3a1b5f94
Zero vector testcase
...
llvm-svn: 27061
2006-03-24 08:02:50 +00:00
Chris Lattner
303dc30593
Disable the i32->float G5 optimization. It is unsafe, as documented in the
...
comment.
This fixes 177.mesa, and McCat/09-vor with the td scheduler.
llvm-svn: 27060
2006-03-24 07:53:47 +00:00
Chris Lattner
ba4966c16c
add support for using vxor to build zero vectors. This implements
...
Regression/CodeGen/PowerPC/vec_zero.ll
llvm-svn: 27059
2006-03-24 07:48:08 +00:00
Chris Lattner
9cc10794b1
new testcase
...
llvm-svn: 27058
2006-03-24 07:47:53 +00:00
Reid Spencer
fb9e34525e
Add a facility for invoking the llvm-config tool when linking a program.
...
This facility allows LLVMLIBS to be specified with something like:
LLVMLIBS = config --libs jit
instead of:
LLVMLIBS = JIT
with the same effect. However, the llvm-config utility is much more versatile
than the single keyword approach. Note that "config" is the keyword after
which any arguments to llvm-config are allowed. When llvm-config is tested
and working well, we'll start using this and drop support for the JIT
keyword.
llvm-svn: 27057
2006-03-24 07:36:57 +00:00
Evan Cheng
d58d54cf3e
Handle BUILD_VECTOR with all zero elements.
...
llvm-svn: 27056
2006-03-24 07:29:27 +00:00
Chris Lattner
62b04677c0
prefer to generate constant pool loads over splats. This prevents us from
...
using a splat for {1.0,1.0,1.0,1.0}
llvm-svn: 27055
2006-03-24 07:29:17 +00:00
Chris Lattner
a69d722c90
Fix a typo, thanks to Gabor Greif
...
llvm-svn: 27054
2006-03-24 07:16:10 +00:00
Chris Lattner
b2b32e9283
fix spello
...
llvm-svn: 27053
2006-03-24 07:15:07 +00:00
Chris Lattner
826dbd7173
Fix spello
...
llvm-svn: 27052
2006-03-24 07:14:34 +00:00
Chris Lattner
37951daad5
add the actual cost to the debug info
...
llvm-svn: 27051
2006-03-24 07:14:00 +00:00
Chris Lattner
66fc7472d8
fix two spellos
...
llvm-svn: 27050
2006-03-24 07:13:29 +00:00
Chris Lattner
ace2d0d227
Gabor points out that we can't spell. :)
...
llvm-svn: 27049
2006-03-24 07:12:19 +00:00
Reid Spencer
3dcc6e6891
Remove a spurious <table> tag.
...
llvm-svn: 27045
2006-03-24 06:42:09 +00:00
Evan Cheng
8507228441
All v2f64 shuffle cases can be handled.
...
llvm-svn: 27044
2006-03-24 06:40:32 +00:00
Jeff Cohen
3fb8f32540
Fix headers
...
llvm-svn: 27043
2006-03-24 06:07:16 +00:00
Jeff Cohen
184eecfc0e
Minor corrections.
...
llvm-svn: 27042
2006-03-24 03:11:31 +00:00
Jeff Cohen
1dcffcaf83
Minor corrections.
...
llvm-svn: 27041
2006-03-24 02:58:54 +00:00
Evan Cheng
3028b04057
More efficient v2f64 shuffle using movlhps, movhlps, unpckhpd, and unpcklpd.
...
llvm-svn: 27040
2006-03-24 02:58:06 +00:00
Evan Cheng
184c4b937e
A new entry
...
llvm-svn: 27039
2006-03-24 02:57:03 +00:00
Evan Cheng
17446e6261
Add a v2f64 shuffle case.
...
llvm-svn: 27038
2006-03-24 02:56:00 +00:00
Jeff Cohen
dab30f45d8
Get JIT/Interpreter working on Windows again.
...
llvm-svn: 27037
2006-03-24 02:53:49 +00:00
Chris Lattner
f7ceb5fdd4
legalize vbit_convert nodes whose result is a legal type.
...
Legalize intrinsic nodes.
llvm-svn: 27036
2006-03-24 02:26:29 +00:00
Chris Lattner
041588d953
Lower target intrinsics into an INTRINSIC node
...
llvm-svn: 27035
2006-03-24 02:22:33 +00:00
Reid Spencer
50cf826977
Ignore the lexer output.
...
llvm-svn: 27034
2006-03-24 02:22:22 +00:00
Reid Spencer
845084b469
Ignore the burg output files.
...
llvm-svn: 27033
2006-03-24 02:21:35 +00:00
Chris Lattner
3c7f31ad32
fix some bogus assertions: noop bitconverts are legal
...
llvm-svn: 27032
2006-03-24 02:20:47 +00:00
Jeff Cohen
a05322ff6d
Get Visual Studio happy again.
...
llvm-svn: 27031
2006-03-24 02:18:52 +00:00
Evan Cheng
a54cc613d4
Add a vector shuffle test case
...
llvm-svn: 27027
2006-03-24 01:22:25 +00:00
Evan Cheng
68410804f0
Handle more shuffle cases with SHUFP* instructions.
...
llvm-svn: 27024
2006-03-24 01:18:28 +00:00
Evan Cheng
a54a9fbe05
Lower BUILD_VECTOR to VECTOR_SHUFFLE if there are two distinct nodes (and if
...
the target can handle it). Issue two SCALAR_TO_VECTOR ops followed by a
VECTOR_SHUFFLE to select from the two vectors.
llvm-svn: 27023
2006-03-24 01:17:21 +00:00
Chris Lattner
e6a8522990
extract some more information from the intrinsic table
...
llvm-svn: 27022
2006-03-24 01:13:55 +00:00
Reid Spencer
76fdc46b2c
Remove the interpreter component as its not working at the moment.
...
llvm-svn: 27021
2006-03-24 01:10:39 +00:00
Chris Lattner
c5c9034e7f
Identify the INTRINSIC node
...
llvm-svn: 27020
2006-03-24 01:04:30 +00:00
Chris Lattner
7c4160da23
add a new intrinsic node
...
llvm-svn: 27019
2006-03-24 01:03:55 +00:00
Chris Lattner
41352d6892
Add a couple simple intrinsics for intel. Fix the v2f64 definition.
...
llvm-svn: 27018
2006-03-24 00:04:52 +00:00