[patch] Add SIMD operations for logical operations, optimize distributed get
Jules Bergmann
jules at codesourcery.com
Tue Aug 1 12:19:28 UTC 2006
This patch:
- Updates configure to support both SIMD loop fusion and SIMD
builtin routines. The intent is that as SIMD loop fusion
performance improves, SIMD builtin routines will either decrease
in number or go away altogether.
The dispatch tag for SIMD loop fusion is 'Simd_loop_fusion_tag'.
The dispatch tag for SIMD builtin routines is 'Simd_builtin_tag'
The old tag 'Simd_tag' has gone away to avoid confusions.
To configure the library to use SIMD loop fusion, use:
--enable-simd-loop-fusion
To configure the library to use the generic SIMD builtin routines
--enable-builtin-simd-routines=generic
Currently SIMD loop fuions is disabled by default (so that we can
make a snapshot release), but the intent is to be enabled by
default.
- Adds generic SIMD routines for logic operations
({b,l},{and,or,xor,not}) and greater-than comparison (gt()).
These routines work with Intel SSE when using GCC 3.4, and
with PowerPC altivec when using GreenHills.
- Extends test coverage for these logic operators.
- Optimizes distributed get() to avoid a communication when running
on a single processor, and when data is globally replicated.
- Un-reverts the FFTW changes in vendor/GNUmakefile.inc.in
This patch is being tested as part of making a snapshot. So far,
things look good:
/scratch/jules/release-snapshot/log-test-ParallelIntel64 ( unknown):
149 / 150
/scratch/jules/release-snapshot/log-test-ParallelIntel64 ( unknown):
149 / 150
/scratch/jules/release-snapshot/log-test-SerialBuiltin32 ( unknown):
149 / 150
/scratch/jules/release-snapshot/log-test-SerialBuiltin32 ( unknown):
149 / 150
/scratch/jules/release-snapshot/log-test-SerialBuiltinAMD64 (
unknown): 133 / 150
/scratch/jules/release-snapshot/log-test-SerialBuiltinAMD64 (
unknown): 148 / 150
/scratch/jules/release-snapshot/log-test-SerialBuiltinEM64T (
unknown): 149 / 150
/scratch/jules/release-snapshot/log-test-SerialBuiltinEM64T (
unknown): 149 / 150
/scratch/jules/release-snapshot/log-test-SerialIntel32 ( unknown): 149
/ 150
/scratch/jules/release-snapshot/log-test-SerialIntel32 ( unknown): 149
/ 150
/scratch/jules/release-snapshot/log-test-SerialIntel64 ( unknown): 149
/ 150
/scratch/jules/release-snapshot/log-test-SerialIntel64 ( unknown): 149
/ 150
(The 1 failure for the non-AMD64 cases is due to a test that needs to
be linked with -lvsip_csl. The AMD64 failures are expected.)
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: simd-logic.diff
URL: <http://sourcerytools.com/pipermail/vsipl++/attachments/20060801/a331516b/attachment.ksh>
More information about the vsipl++
mailing list