Commit Graph

23502 Commits

Author SHA1 Message Date
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