Commit Graph

19 Commits

Author SHA1 Message Date
Tanya Lattner
2a8eb722c7 In r131488 I misunderstood how VREV works. It splits the vector in half and splits each half. Therefore, the real problem was that we were using a VREV64 for a 4xi16, when we should have been using a VREV32.
Updated test case and reverted change to the PerfectShuffle Table.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131529 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-18 06:42:21 +00:00
Tanya Lattner
c81c9709ef vrev is incorrectly defined in the perfect shuffle table. The ordering is backwards (should be 0x3210 versus 0x1032) which exposed a bug when doing a shuffle on a 4xi16. I've attached a test case.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@131488 91177308-0d34-0410-b5e6-96231b3b80d8
2011-05-17 20:48:40 +00:00
Jim Grosbach
41045ba731 Teach PerfectShuffle to not generate files with embedded tab characters.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@116458 91177308-0d34-0410-b5e6-96231b3b80d8
2010-10-14 00:12:49 +00:00
Anton Korobeynikov
58cd84dc77 Provide proper masks for neon perfect shuffle table.
I definitely need to read documentation better :(

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@82813 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-25 22:52:29 +00:00
Anton Korobeynikov
1c8e581832 Add lowering of ARM 4-element shuffles to multiple instructios via perfectshuffle-generated table.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79624 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 12:41:24 +00:00
Anton Korobeynikov
c9d44f0d9c Add simple cost model to perfect shuffle. Currently we're doing just greedy search for cost instead of (proper) dynamic programming approach.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79623 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 12:41:03 +00:00
Anton Korobeynikov
cb02ddeda0 Whitespace cleanup
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@79618 91177308-0d34-0410-b5e6-96231b3b80d8
2009-08-21 12:39:38 +00:00
Anton Korobeynikov
ae9f3a3b7c Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@47367 91177308-0d34-0410-b5e6-96231b3b80d8
2008-02-20 11:08:44 +00:00
Chris Lattner
3060910e29 remove attributions from utils.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@45419 91177308-0d34-0410-b5e6-96231b3b80d8
2007-12-29 20:37:13 +00:00
Chris Lattner
64a8dddb73 silence warning
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31402 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-03 01:45:13 +00:00
Reid Spencer
3ed469ccd7 For PR786:
Turn on -Wunused and -Wno-unused-parameter. Clean up most of the resulting
fall out by removing unused variables. Remaining warnings have to do with
unused functions (I didn't want to delete code without review) and unused
variables in generated code. Maintainers should clean up the remaining
issues when they see them. All changes pass DejaGnu tests and Olden.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@31380 91177308-0d34-0410-b5e6-96231b3b80d8
2006-11-02 20:25:50 +00:00
Chris Lattner
d74ea2bbd8 Patches to make the LLVM sources more -pedantic clean. Patch provided
by Anton Korobeynikov!  This is a step towards closing PR786.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@28447 91177308-0d34-0410-b5e6-96231b3b80d8
2006-05-24 17:04:05 +00:00
Chris Lattner
309db81c10 Fix a build failure on Vladimir's tester.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27785 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-18 00:21:25 +00:00
Chris Lattner
8c3e847159 Encode a cost of zero as a cost of 1.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27745 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 05:25:16 +00:00
Chris Lattner
195d8adac9 Really, I can count!
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27743 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 05:05:52 +00:00
Chris Lattner
cf1f6440d9 assign stable opcodes to the various altivec ops.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27741 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:47:18 +00:00
Chris Lattner
4ad53bdd19 Rename BuildShuffleTable -> PerfectShuffle
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27738 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:35:34 +00:00
Chris Lattner
3033d4d375 rename the table
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27737 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:33:35 +00:00
Chris Lattner
27e98aa07c Initial checking of a perfect shuffle generation program for 4-element
Altivec vectors.


git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27736 91177308-0d34-0410-b5e6-96231b3b80d8
2006-04-17 00:30:41 +00:00