oota-llvm.git
18 years agoAdd and 8/16-bit adds, add all integer subtracts, add saturating subtract
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

18 years agoSplit the PPC and X86 intrinsics out to their own files.
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

18 years agoAdd saturating subtracts, non-predicate compares, and some other random
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

18 years agoimplement the vsldoi intrinsic.
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

18 years agoadd int_ppc_altivec_vsldoi intrinsic
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

18 years agoCorrect the vandc testcase
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

18 years agofix the pattern for vandc, it's NOT vnand
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

18 years agoadd patterns for VANDC/VNOR, implementing
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

18 years agonew testcases
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

18 years agoAdd some comments.
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

18 years agoadd a vnot helper node for matching 'not' on vectors
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

18 years agoFix a bug in ISD::isBuildVectorAllOnesInteger that caused it to always return
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

18 years agoImplement the ISD::isBuildVectorAllOnesInteger predicate
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

18 years agoAdd a predicate
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

18 years agoDon't call SimplifyDemandedBits on vectors
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

18 years agoAdd some logical operations
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

18 years agoAdd a missing check which cause an invalid .td file to crash tblgen
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

18 years agoDon't crash on packed logical ops
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

18 years agoTeach BinaryOperator::createNot to work with packed integer types
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

18 years agoUnused function - easier to throw away than fix.
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

18 years agoCast instruction not inserted into basic block.
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

18 years agoAdd a BUILD_VECTOR with unpack and interleave testcase.
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

18 years agoAdded missing (any_extend (load ...)) patterns.
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

18 years agoBuild arbitrary vector with more than 2 distinct scalar elements with a
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

18 years agoimplement a bunch of intrinsics
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

18 years agoMove all Altivec stuff out into a new PPCInstrAltivec.td file.
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

18 years agoAdd some basic patterns for other datatypes
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

18 years agoadd all supported formats to the vector register file
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

18 years agoremove extraneous lets
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

18 years agoAdd a bunch of simple altivec intrinsics
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

18 years agoAdd support for __builtin_altivec_vnmsubfp /vmaddfp
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

18 years agoAdd support for __builtin_altivec_vnmsubfp
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

18 years agoWhen failing selection for an intrinsic, print this:
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

18 years ago#include Intrinsics.h into all dag isels
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

18 years agoImplement Intrinsic::getName
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

18 years agoAdd a programatic interface to intrinsic names.
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

18 years agoCodegen things like:
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

18 years agoNew tests for vsplti*
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

18 years agoX86 SSE1 cacheability support ops intrinsics
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

18 years agoAdded SSE cachebility ops
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

18 years agoInstruction encoding bug
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

18 years agoAdded a scalar to vector with zero extension testcase
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

18 years agoAdd new intrinsic node definitions for tblgen use
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

18 years agoX86 SSE1 SIMD store intrinsics.
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

18 years agoX86 SSE1 SIMD load intrinsics (movhps, movlps, and movups).
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

18 years agoX86 SSE1 conversion operations intrinsics.
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

18 years agoAdded 128-bit packed integer subtraction.
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

18 years agoAdded CVTTPS2PI.
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

18 years agoAdded CVTSS2SI.
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

18 years agoX86 SSE1 comparison intrinsics.
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

18 years agoX86 SSE1 arithmetic and logical operation intrinsics.
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

18 years agoSupport for scalar to vector with zero extension.
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

18 years agoChange approach so that we get codegen for free for intrinsics. With this,
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

18 years agofix inverted conditional
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

18 years agoD'oh - should be even numbered.
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

18 years agoAdded LDMXCSR
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

18 years agoldmxcsr is a SSE instruction.
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

18 years agoAdded ldmxcsr intrinsic.
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

18 years agofix 80 column violations
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

18 years agoplug the intrinsics into the patterns for movmsk*
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

18 years agoParse intrinsics correctly and perform type propagation. This doesn't currently
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

18 years agoAdd dwarf register numbering to register data.
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

18 years agoAdd support for dwarf register numbering.
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

18 years agoHack no more.
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

18 years agoMake sure to initialize the TheDef field!
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

18 years agoadd another note
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

18 years agoadd a note
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

18 years agoMove CodeGenIntrinsic implementation to CodeGenTarget.cpp with the rest of
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

18 years agoSpecify the value type for each llvm type. This needs work for pointers.
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

18 years agoShuffle some includes around
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

18 years agoPull in valuetypes.td here, we will use it shortly.
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

18 years agoOnly to vector shuffle for {x,x,y,y} cases when SCALAR_TO_VECTOR is free.
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

18 years agoexpose intrinsic info to the targets.
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

18 years agoFix a bad JIT encoding of VPERM. Why is VPERM D,A,B,C but vfmadd is D,A,C,B ??
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

18 years agoLike the comment says, prefer to use the implicit add done by [r+r] addressing
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

18 years agoNew testcase
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

18 years agoTweak a comment.
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

18 years agoFix indent.
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

18 years agoClean up some commentary.
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

18 years agoRename for truth in advertising.
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

18 years agoFixed some grammer and spelling.
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

18 years agoZero vector testcase
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

18 years agoDisable the i32->float G5 optimization. It is unsafe, as documented in the
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

18 years agoadd support for using vxor to build zero vectors. This implements
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

18 years agonew testcase
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

18 years agoAdd a facility for invoking the llvm-config tool when linking a program.
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

18 years agoHandle BUILD_VECTOR with all zero elements.
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

18 years agoprefer to generate constant pool loads over splats. This prevents us from
Chris Lattner [Fri, 24 Mar 2006 07:29:17 +0000 (07:29 +0000)]
prefer to generate constant pool loads over splats.  This prevents us from
using a splat for {1.0,1.0,1.0,1.0}

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

18 years agoFix a typo, thanks to Gabor Greif
Chris Lattner [Fri, 24 Mar 2006 07:16:10 +0000 (07:16 +0000)]
Fix a typo, thanks to Gabor Greif

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

18 years agofix spello
Chris Lattner [Fri, 24 Mar 2006 07:15:07 +0000 (07:15 +0000)]
fix spello

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

18 years agoFix spello
Chris Lattner [Fri, 24 Mar 2006 07:14:34 +0000 (07:14 +0000)]
Fix spello

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

18 years agoadd the actual cost to the debug info
Chris Lattner [Fri, 24 Mar 2006 07:14:00 +0000 (07:14 +0000)]
add the actual cost to the debug info

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

18 years agofix two spellos
Chris Lattner [Fri, 24 Mar 2006 07:13:29 +0000 (07:13 +0000)]
fix two spellos

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

18 years agoGabor points out that we can't spell. :)
Chris Lattner [Fri, 24 Mar 2006 07:12:19 +0000 (07:12 +0000)]
Gabor points out that we can't spell. :)

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

18 years agoRemove a spurious <table> tag.
Reid Spencer [Fri, 24 Mar 2006 06:42:09 +0000 (06:42 +0000)]
Remove a spurious <table> tag.

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

18 years agoAll v2f64 shuffle cases can be handled.
Evan Cheng [Fri, 24 Mar 2006 06:40:32 +0000 (06:40 +0000)]
All v2f64 shuffle cases can be handled.

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

18 years agoFix headers
Jeff Cohen [Fri, 24 Mar 2006 06:07:16 +0000 (06:07 +0000)]
Fix headers

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

18 years agoMinor corrections.
Jeff Cohen [Fri, 24 Mar 2006 03:11:31 +0000 (03:11 +0000)]
Minor corrections.

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

18 years agoMinor corrections.
Jeff Cohen [Fri, 24 Mar 2006 02:58:54 +0000 (02:58 +0000)]
Minor corrections.

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

18 years agoMore efficient v2f64 shuffle using movlhps, movhlps, unpckhpd, and unpcklpd.
Evan Cheng [Fri, 24 Mar 2006 02:58:06 +0000 (02:58 +0000)]
More efficient v2f64 shuffle using movlhps, movhlps, unpckhpd, and unpcklpd.

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