Commit Graph

22 Commits

Author SHA1 Message Date
Tanya Lattner
06cb9cbf98 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.

llvm-svn: 131529
2011-05-18 06:42:21 +00:00
Tanya Lattner
7145d69427 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.
llvm-svn: 131488
2011-05-17 20:48:40 +00:00
Jim Grosbach
08c50611f0 Teach PerfectShuffle to not generate files with embedded tab characters.
llvm-svn: 116458
2010-10-14 00:12:49 +00:00
Anton Korobeynikov
4e921137da Provide proper masks for neon perfect shuffle table.
I definitely need to read documentation better :(

llvm-svn: 82813
2009-09-25 22:52:29 +00:00
Anton Korobeynikov
218db4a01c Add lowering of ARM 4-element shuffles to multiple instructios via perfectshuffle-generated table.
llvm-svn: 79624
2009-08-21 12:41:24 +00:00
Anton Korobeynikov
838740d897 Add simple cost model to perfect shuffle. Currently we're doing just greedy search for cost instead of (proper) dynamic programming approach.
llvm-svn: 79623
2009-08-21 12:41:03 +00:00
Anton Korobeynikov
a60b360e7d Whitespace cleanup
llvm-svn: 79618
2009-08-21 12:39:38 +00:00
Chris Lattner
246fd7ca83 these utils don't need exports.
llvm-svn: 65559
2009-02-26 19:02:23 +00:00
Anton Korobeynikov
0c5e186924 Unbreak build with gcc 4.3: provide missed includes and silence most annoying warnings.
llvm-svn: 47367
2008-02-20 11:08:44 +00:00
Chris Lattner
c4006845a6 remove attributions from utils.
llvm-svn: 45419
2007-12-29 20:37:13 +00:00
Chris Lattner
11718ad357 remove attributions from tools/utils makefiles.
llvm-svn: 45414
2007-12-29 20:07:17 +00:00
Reid Spencer
9f642b1776 Set the new NO_INSTALL flag for build-only tools.
llvm-svn: 33967
2007-02-06 18:51:28 +00:00
Chris Lattner
f6b840a1ae silence warning
llvm-svn: 31402
2006-11-03 01:45:13 +00:00
Reid Spencer
4bafa71dc1 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.

llvm-svn: 31380
2006-11-02 20:25:50 +00:00
Chris Lattner
f604017e47 Patches to make the LLVM sources more -pedantic clean. Patch provided
by Anton Korobeynikov!  This is a step towards closing PR786.

llvm-svn: 28447
2006-05-24 17:04:05 +00:00
Chris Lattner
d664951c95 Fix a build failure on Vladimir's tester.
llvm-svn: 27785
2006-04-18 00:21:25 +00:00
Chris Lattner
81fa159ca9 Encode a cost of zero as a cost of 1.
llvm-svn: 27745
2006-04-17 05:25:16 +00:00
Chris Lattner
d134f32a85 Really, I can count!
llvm-svn: 27743
2006-04-17 05:05:52 +00:00
Chris Lattner
aee09fc8aa assign stable opcodes to the various altivec ops.
llvm-svn: 27741
2006-04-17 00:47:18 +00:00
Chris Lattner
dd8376ca78 Rename BuildShuffleTable -> PerfectShuffle
llvm-svn: 27738
2006-04-17 00:35:34 +00:00
Chris Lattner
4833bf9285 rename the table
llvm-svn: 27737
2006-04-17 00:33:35 +00:00
Chris Lattner
a6a36551d3 Initial checking of a perfect shuffle generation program for 4-element
Altivec vectors.

llvm-svn: 27736
2006-04-17 00:30:41 +00:00