Jim Laskey [Sun, 26 Mar 2006 22:46:27 +0000 (22:46 +0000)]
Bullet proof against undefined args produced by upgrading ols-style debug info.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27155
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sun, 26 Mar 2006 22:45:20 +0000 (22:45 +0000)]
How to be dumb on $5/day. Need a tri-state to track valid debug descriptors.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27154
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 22:38:43 +0000 (22:38 +0000)]
add vsel
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27153
91177308-0d34-0410-b5e6-
96231b3b80d8
Nate Begeman [Sun, 26 Mar 2006 19:19:27 +0000 (19:19 +0000)]
Readme note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27152
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 10:06:40 +0000 (10:06 +0000)]
Codegen vector predicate compares.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27151
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 26 Mar 2006 09:53:12 +0000 (09:53 +0000)]
Remove X86:isZeroVector, use ISD::isBuildVectorAllZeros instead; some fixes / cleanups
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27150
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 26 Mar 2006 09:52:32 +0000 (09:52 +0000)]
Remove PPC:isZeroVector, use ISD::isBuildVectorAllZeros instead
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27149
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 26 Mar 2006 09:51:39 +0000 (09:51 +0000)]
Add immAllZerosV helper
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27148
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sun, 26 Mar 2006 09:50:58 +0000 (09:50 +0000)]
Add ISD::isBuildVectorAllZeros predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27147
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 09:12:51 +0000 (09:12 +0000)]
Allow targets to custom lower their own intrinsics if desired.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27146
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 07:50:25 +0000 (07:50 +0000)]
Add predicate comparison intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27145
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 07:45:48 +0000 (07:45 +0000)]
Update dependencies to reflect split of the Intrinsics.td file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27144
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 04:57:17 +0000 (04:57 +0000)]
Add all of the altivec comparison instructions. Add patterns for the
non-predicate altivec compare intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27143
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 02:39:02 +0000 (02:39 +0000)]
Add and 8/16-bit adds, add all integer subtracts, add saturating subtract
intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27142
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 02:37:19 +0000 (02:37 +0000)]
Split the PPC and X86 intrinsics out to their own files.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27141
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 02:34:07 +0000 (02:34 +0000)]
Add saturating subtracts, non-predicate compares, and some other random
intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27140
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 00:41:48 +0000 (00:41 +0000)]
implement the vsldoi intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27139
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sun, 26 Mar 2006 00:25:43 +0000 (00:25 +0000)]
add int_ppc_altivec_vsldoi intrinsic
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27138
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 23:12:47 +0000 (23:12 +0000)]
Correct the vandc testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27137
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 23:10:40 +0000 (23:10 +0000)]
fix the pattern for vandc, it's NOT vnand
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27136
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 23:05:29 +0000 (23:05 +0000)]
add patterns for VANDC/VNOR, implementing
CodeGen/PowerPC/eqv-andc-orc-nor.ll:VNOR/VANDC
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27135
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 23:04:34 +0000 (23:04 +0000)]
new testcases
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27134
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 23:00:56 +0000 (23:00 +0000)]
Add some comments.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27133
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 23:00:08 +0000 (23:00 +0000)]
add a vnot helper node for matching 'not' on vectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27132
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 22:59:28 +0000 (22:59 +0000)]
Fix a bug in ISD::isBuildVectorAllOnesInteger that caused it to always return
false
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27131
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 22:57:01 +0000 (22:57 +0000)]
Implement the ISD::isBuildVectorAllOnesInteger predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27130
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 22:56:35 +0000 (22:56 +0000)]
Add a predicate
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27129
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 22:19:00 +0000 (22:19 +0000)]
Don't call SimplifyDemandedBits on vectors
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27128
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 22:16:05 +0000 (22:16 +0000)]
Add some logical operations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27127
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 22:12:44 +0000 (22:12 +0000)]
Add a missing check which cause an invalid .td file to crash tblgen
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27126
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 21:58:26 +0000 (21:58 +0000)]
Don't crash on packed logical ops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27125
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 21:54:21 +0000 (21:54 +0000)]
Teach BinaryOperator::createNot to work with packed integer types
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27124
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 25 Mar 2006 18:42:45 +0000 (18:42 +0000)]
Unused function - easier to throw away than fix.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27123
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Sat, 25 Mar 2006 18:40:47 +0000 (18:40 +0000)]
Cast instruction not inserted into basic block.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27122
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 09:48:14 +0000 (09:48 +0000)]
Add a BUILD_VECTOR with unpack and interleave testcase.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27121
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 09:45:48 +0000 (09:45 +0000)]
Added missing (any_extend (load ...)) patterns.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27120
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 09:37:23 +0000 (09:37 +0000)]
Build arbitrary vector with more than 2 distinct scalar elements with a
series of unpack and interleave ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27119
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 08:01:02 +0000 (08:01 +0000)]
implement a bunch of intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27118
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:51:43 +0000 (07:51 +0000)]
Move all Altivec stuff out into a new PPCInstrAltivec.td file.
Add a bunch of patterns for different datatypes, e.g. bit_convert, undef and
zero vector support.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27117
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:39:07 +0000 (07:39 +0000)]
Add some basic patterns for other datatypes
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27116
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:36:56 +0000 (07:36 +0000)]
add all supported formats to the vector register file
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27115
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:30:34 +0000 (07:30 +0000)]
remove extraneous lets
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27114
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:27:18 +0000 (07:27 +0000)]
Add a bunch of simple altivec intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27113
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:05:55 +0000 (07:05 +0000)]
Add support for __builtin_altivec_vnmsubfp /vmaddfp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27112
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 07:05:35 +0000 (07:05 +0000)]
Add support for __builtin_altivec_vnmsubfp
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27111
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 06:47:53 +0000 (06:47 +0000)]
When failing selection for an intrinsic, print this:
Cannot yet select: intrinsic %llvm.ppc.altivec.lvx
instead of this:
Cannot yet select: 0x9b047e0: v4i32,ch = INTRINSIC 0x9b04540:1, 0x9b04710, 0x9b04790, 0x9b04540
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27110
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 06:47:10 +0000 (06:47 +0000)]
#include Intrinsics.h into all dag isels
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27109
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 06:32:47 +0000 (06:32 +0000)]
Implement Intrinsic::getName
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27108
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 06:32:07 +0000 (06:32 +0000)]
Add a programatic interface to intrinsic names.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27107
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 06:12:06 +0000 (06:12 +0000)]
Codegen things like:
<int -1, int -1, int -1, int -1>
and
<int 65537, int 65537, int 65537, int 65537>
Using things like:
vspltisb v0, -1
and:
vspltish v0, 1
instead of using constant pool loads.
This implements CodeGen/PowerPC/vec_splat.ll:splat_imm_i{32|16}.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27106
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 06:11:56 +0000 (06:11 +0000)]
New tests for vsplti*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27105
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 06:05:45 +0000 (06:05 +0000)]
X86 SSE1 cacheability support ops intrinsics
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27104
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 06:03:26 +0000 (06:03 +0000)]
Added SSE cachebility ops
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27103
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 06:00:03 +0000 (06:00 +0000)]
Instruction encoding bug
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27102
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 05:58:52 +0000 (05:58 +0000)]
Added a scalar to vector with zero extension testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27101
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Sat, 25 Mar 2006 02:29:35 +0000 (02:29 +0000)]
Add new intrinsic node definitions for tblgen use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27100
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 02:02:51 +0000 (02:02 +0000)]
X86 SSE1 SIMD store intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27099
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 01:58:54 +0000 (01:58 +0000)]
X86 SSE1 SIMD load intrinsics (movhps, movlps, and movups).
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27098
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 01:35:17 +0000 (01:35 +0000)]
X86 SSE1 conversion operations intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27097
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 01:33:37 +0000 (01:33 +0000)]
Added 128-bit packed integer subtraction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27096
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 01:31:59 +0000 (01:31 +0000)]
Added CVTTPS2PI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27095
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 01:00:18 +0000 (01:00 +0000)]
Added CVTSS2SI.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27094
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 00:32:32 +0000 (00:32 +0000)]
X86 SSE1 comparison intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27093
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Sat, 25 Mar 2006 00:18:20 +0000 (00:18 +0000)]
X86 SSE1 arithmetic and logical operation intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27092
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 23:15:12 +0000 (23:15 +0000)]
Support for scalar to vector with zero extension.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27091
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 23:10:39 +0000 (23:10 +0000)]
Change approach so that we get codegen for free for intrinsics. With this,
intrinsics that don't take pointer arguments now work. For example, we can
compile this:
int test3( __m128d *A) {
return _mm_movemask_pd(*A);
}
int test4( __m128 *A) {
return _mm_movemask_ps(*A);
}
to this:
_test3:
movl 4(%esp), %eax
movapd (%eax), %xmm0
movmskpd %xmm0, %eax
ret
_test4:
movl 4(%esp), %eax
movaps (%eax), %xmm0
movmskps %xmm0, %eax
ret
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27090
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 22:49:42 +0000 (22:49 +0000)]
fix inverted conditional
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27089
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 22:48:02 +0000 (22:48 +0000)]
D'oh - should be even numbered.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27088
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 22:28:37 +0000 (22:28 +0000)]
Added LDMXCSR
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27087
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 22:13:47 +0000 (22:13 +0000)]
ldmxcsr is a SSE instruction.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27086
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 22:10:59 +0000 (22:10 +0000)]
Added ldmxcsr intrinsic.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27085
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 21:52:20 +0000 (21:52 +0000)]
fix 80 column violations
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27084
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 21:49:18 +0000 (21:49 +0000)]
plug the intrinsics into the patterns for movmsk*
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27083
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 21:48:51 +0000 (21:48 +0000)]
Parse intrinsics correctly and perform type propagation. This doesn't currently
emit the code to select intrinsics, but that is next :)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27082
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 21:15:58 +0000 (21:15 +0000)]
Add dwarf register numbering to register data.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27081
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 21:13:21 +0000 (21:13 +0000)]
Add support for dwarf register numbering.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27080
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 21:10:36 +0000 (21:10 +0000)]
Hack no more.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27079
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 20:25:01 +0000 (20:25 +0000)]
Make sure to initialize the TheDef field!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27078
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 20:04:27 +0000 (20:04 +0000)]
add another note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27077
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 19:59:17 +0000 (19:59 +0000)]
add a note
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27076
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 19:49:31 +0000 (19:49 +0000)]
Move CodeGenIntrinsic implementation to CodeGenTarget.cpp with the rest of
the CodeGen* implementations.
Parse the MVT::ValueType for each operand of the intrinsics.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27075
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 19:41:10 +0000 (19:41 +0000)]
Specify the value type for each llvm type. This needs work for pointers.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27074
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 18:52:35 +0000 (18:52 +0000)]
Shuffle some includes around
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27073
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 18:51:56 +0000 (18:51 +0000)]
Pull in valuetypes.td here, we will use it shortly.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27072
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 18:45:20 +0000 (18:45 +0000)]
Only to vector shuffle for {x,x,y,y} cases when SCALAR_TO_VECTOR is free.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27071
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 18:44:11 +0000 (18:44 +0000)]
expose intrinsic info to the targets.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27070
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 18:24:43 +0000 (18:24 +0000)]
Fix a bad JIT encoding of VPERM. Why is VPERM D,A,B,C but vfmadd is D,A,C,B ??
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27069
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 17:58:06 +0000 (17:58 +0000)]
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
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27068
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 17:57:24 +0000 (17:57 +0000)]
New testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27067
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 16:18:42 +0000 (16:18 +0000)]
Tweak a comment.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27066
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 10:08:23 +0000 (10:08 +0000)]
Fix indent.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27065
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 10:00:56 +0000 (10:00 +0000)]
Clean up some commentary.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27064
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 09:50:27 +0000 (09:50 +0000)]
Rename for truth in advertising.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27063
91177308-0d34-0410-b5e6-
96231b3b80d8
Jim Laskey [Fri, 24 Mar 2006 09:20:27 +0000 (09:20 +0000)]
Fixed some grammer and spelling.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27062
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 08:02:50 +0000 (08:02 +0000)]
Zero vector testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27061
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 07:53:47 +0000 (07:53 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27060
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 07:48:08 +0000 (07:48 +0000)]
add support for using vxor to build zero vectors. This implements
Regression/CodeGen/PowerPC/vec_zero.ll
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27059
91177308-0d34-0410-b5e6-
96231b3b80d8
Chris Lattner [Fri, 24 Mar 2006 07:47:53 +0000 (07:47 +0000)]
new testcase
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27058
91177308-0d34-0410-b5e6-
96231b3b80d8
Reid Spencer [Fri, 24 Mar 2006 07:36:57 +0000 (07:36 +0000)]
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.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27057
91177308-0d34-0410-b5e6-
96231b3b80d8
Evan Cheng [Fri, 24 Mar 2006 07:29:27 +0000 (07:29 +0000)]
Handle BUILD_VECTOR with all zero elements.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27056
91177308-0d34-0410-b5e6-
96231b3b80d8