[vsipl++] SIMD threshold with loop fusion
Jules Bergmann
jules at codesourcery.com
Thu May 17 13:03:47 UTC 2007
Assem,
I'm sorry, but I missed this earlier.
> Index: src/vsip/opt/simd/eval_generic.hpp
> ===================================================================
> @@ -658,8 +663,10 @@
> return(ext_dst.stride(0) == 1 &&
> ext_a.stride(0) == 1 &&
> ext_b.stride(0) == 1 &&
> - // make sure (A > B, A, k)
> - (&(src.first().left()) == &(src.second())));
> + // make sure (A op B, A, k)
> + (&(src.first().left()) == &(src.second())) &&
> + // make sure op is supported
> + simd::Binary_operator_map<T,O>::is_supported);
If possible, Binary_operator_map<...>::is_supported should be part of
the compile-time check (part of ct_valid), rather than run-time.
-- Jules
--
Jules Bergmann
CodeSourcery
jules at codesourcery.com
(650) 331-3385 x705
More information about the vsipl++
mailing list