oota-llvm.git
18 years agoAdd support for intrinsics with pointer arguments in target .td files.
Chris Lattner [Mon, 27 Mar 2006 22:49:46 +0000 (22:49 +0000)]
Add support for intrinsics with pointer arguments in target .td files.

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

18 years agoAdd some missing template specializations for autodereferencing User.
Chris Lattner [Mon, 27 Mar 2006 22:49:07 +0000 (22:49 +0000)]
Add some missing template specializations for autodereferencing User.

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

18 years agoAdd support for decoding iPTR to the right pointer type.
Chris Lattner [Mon, 27 Mar 2006 22:48:18 +0000 (22:48 +0000)]
Add support for decoding iPTR to the right pointer type.

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

18 years agoadd a new iPTR ValueType for tblgen use
Chris Lattner [Mon, 27 Mar 2006 22:48:00 +0000 (22:48 +0000)]
add a new iPTR ValueType for tblgen use

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

18 years agoDivirge from the GCC specification of the load/store intrinsics: only take
Chris Lattner [Mon, 27 Mar 2006 22:38:39 +0000 (22:38 +0000)]
Divirge from the GCC specification of the load/store intrinsics: only take
one pointer operand, instead of a pointer and an offset.  The FE will lower
to this canonicalized form.

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

18 years agoPrint error messages like this:
Chris Lattner [Mon, 27 Mar 2006 22:21:18 +0000 (22:21 +0000)]
Print error messages like this:
tblgen: In STVEBX: Intrinsic 'llvm.ppc.altivec.stvebx' expects 3 operands, not 2 operands!

instead of like this:
tblgen: In STVEBX: Intrinsic 'intrinsic_void expects 3 operands, not 2 operands!

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

18 years agofix spelling :(
Chris Lattner [Mon, 27 Mar 2006 22:07:12 +0000 (22:07 +0000)]
fix spelling :(

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

18 years agoadd some more intrinsics.
Chris Lattner [Mon, 27 Mar 2006 22:05:34 +0000 (22:05 +0000)]
add some more intrinsics.

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

18 years agoDisable dbg_declare, it currently breaks the CFE build
Chris Lattner [Mon, 27 Mar 2006 21:36:03 +0000 (21:36 +0000)]
Disable dbg_declare, it currently breaks the CFE build

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

18 years agoFix legalization of intrinsics with chain and result values
Chris Lattner [Mon, 27 Mar 2006 20:28:29 +0000 (20:28 +0000)]
Fix legalization of intrinsics with chain and result values

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

18 years agoTranslate llvm target registers to dwarf register numbers properly.
Jim Laskey [Mon, 27 Mar 2006 20:18:45 +0000 (20:18 +0000)]
Translate llvm target registers to dwarf register numbers properly.

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

18 years agoMisunderstanding.
Jim Laskey [Mon, 27 Mar 2006 19:46:38 +0000 (19:46 +0000)]
Misunderstanding.

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

18 years agoTypo.
Jim Laskey [Mon, 27 Mar 2006 19:43:08 +0000 (19:43 +0000)]
Typo.

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

18 years agoClarity.
Jim Laskey [Mon, 27 Mar 2006 19:33:35 +0000 (19:33 +0000)]
Clarity.

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

18 years agoAdding other platforms.
Jim Laskey [Mon, 27 Mar 2006 19:09:44 +0000 (19:09 +0000)]
Adding other platforms.

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

18 years agoAdd note for Mac OS X developers.
Jim Laskey [Mon, 27 Mar 2006 18:41:06 +0000 (18:41 +0000)]
Add note for Mac OS X developers.

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

18 years agounbreak the build
Chris Lattner [Mon, 27 Mar 2006 16:52:45 +0000 (16:52 +0000)]
unbreak the build

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

18 years agoUnbreak the build on non-apple compilers :-(
Chris Lattner [Mon, 27 Mar 2006 16:10:59 +0000 (16:10 +0000)]
Unbreak the build on non-apple compilers :-(

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

18 years agoIntrinsics naming convention change.
Evan Cheng [Mon, 27 Mar 2006 08:23:12 +0000 (08:23 +0000)]
Intrinsics naming convention change.

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

18 years agoTry again
Evan Cheng [Mon, 27 Mar 2006 08:10:26 +0000 (08:10 +0000)]
Try again

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

18 years agoAdd a bunch of notes from my journey thus far.
Chris Lattner [Mon, 27 Mar 2006 07:41:00 +0000 (07:41 +0000)]
Add a bunch of notes from my journey thus far.

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

18 years agoIncorrect check for FP all one's
Evan Cheng [Mon, 27 Mar 2006 07:26:17 +0000 (07:26 +0000)]
Incorrect check for FP all one's

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

18 years agoSplit out altivec notes into their own README
Chris Lattner [Mon, 27 Mar 2006 07:04:16 +0000 (07:04 +0000)]
Split out altivec notes into their own README

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

18 years agoUse pcmpeq to generate vector of all ones.
Evan Cheng [Mon, 27 Mar 2006 07:00:16 +0000 (07:00 +0000)]
Use pcmpeq to generate vector of all ones.

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

18 years agoChanged isBuildVectorAllOnesInteger to isBuildVectorAllOnes.
Evan Cheng [Mon, 27 Mar 2006 06:59:32 +0000 (06:59 +0000)]
Changed isBuildVectorAllOnesInteger to isBuildVectorAllOnes.

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

18 years agoChange isBuildVectorAllOnesInteger to isBuildVectorAllOnes. Also check for
Evan Cheng [Mon, 27 Mar 2006 06:58:47 +0000 (06:58 +0000)]
Change isBuildVectorAllOnesInteger to isBuildVectorAllOnes. Also check for
floating point cases.

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

18 years agoInstead of printing "INTRINSIC" on intrinsic node, print the intrinsic name.
Chris Lattner [Mon, 27 Mar 2006 06:45:25 +0000 (06:45 +0000)]
Instead of printing "INTRINSIC" on intrinsic node, print the intrinsic name.

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

18 years agoteach the inliner to work with packed constants
Chris Lattner [Mon, 27 Mar 2006 05:50:18 +0000 (05:50 +0000)]
teach the inliner to work with packed constants

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

18 years agoFix the JIT encoding of VSEL
Chris Lattner [Mon, 27 Mar 2006 03:34:17 +0000 (03:34 +0000)]
Fix the JIT encoding of VSEL

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

18 years agoFix the JIT encoding of VSPLTI*
Chris Lattner [Mon, 27 Mar 2006 03:28:57 +0000 (03:28 +0000)]
Fix the JIT encoding of VSPLTI*

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

18 years agoPass llvm/test/Regression/CodeGen/Generic/debug-info.ll.
Jim Laskey [Mon, 27 Mar 2006 01:51:47 +0000 (01:51 +0000)]
Pass llvm/test/Regression/CodeGen/Generic/debug-info.ll.

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

18 years agoSelectionDAGISel can now natively handle Switch instructions, in the same
Nate Begeman [Mon, 27 Mar 2006 01:32:24 +0000 (01:32 +0000)]
SelectionDAGISel can now natively handle Switch instructions, in the same
manner that the LowerSwitch LLVM to LLVM pass does: emitting a binary
search tree of basic blocks.  The new approach has several advantages:
it is faster, it generates significantly smaller code in many cases, and
it paves the way for implementing dense switch tables as a jump table by
handling switches directly in the instruction selector.

This functionality is currently only enabled on x86, but should be safe for
every target.  In anticipation of making it the default, the cfg is now
properly updated in the x86, ppc, and sparc select lowering code.

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

18 years agoBullet proof against undefined args produced by upgrading ols-style debug info.
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

18 years agoHow to be dumb on $5/day. Need a tri-state to track valid debug descriptors.
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

18 years agoadd vsel
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

18 years agoReadme note
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

18 years agoCodegen vector predicate compares.
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

18 years agoRemove X86:isZeroVector, use ISD::isBuildVectorAllZeros instead; some fixes / cleanups
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

18 years agoRemove PPC:isZeroVector, use ISD::isBuildVectorAllZeros instead
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

18 years agoAdd immAllZerosV helper
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

18 years agoAdd ISD::isBuildVectorAllZeros predicate
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

18 years agoAllow targets to custom lower their own intrinsics if desired.
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

18 years agoAdd predicate comparison intrinsics.
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

18 years agoUpdate dependencies to reflect split of the Intrinsics.td file
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

18 years agoAdd all of the altivec comparison instructions. Add patterns for the
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

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