29
29
<div class="contents">
30
<h1>bmsse4.h File Reference</h1><code>#include <mmintrin.h></code><br/>
30
<h1>bmsse2.h File Reference</h1><code>#include <mmintrin.h></code><br/>
31
31
<code>#include <emmintrin.h></code><br/>
32
<code>#include <smmintrin.h></code><br/>
33
<code>#include "<a class="el" href="a00092_source.html">bmdef.h</a>"</code><br/>
34
<code>#include "<a class="el" href="a00099_source.html">bmsse_util.h</a>"</code><br/>
35
<div class="dynheader">
36
Include dependency graph for bmsse4.h:</div>
37
<div class="dynsection">
38
<div class="center"><img src="a00146.png" border="0" usemap="#bmsse4_8h_map" alt=""/></div>
39
<map name="bmsse4_8h_map" id="bmsse4_8h">
40
<area shape="rect" href="a00092.html" title="bmdef.h" alt="" coords="336,83,403,112"/><area shape="rect" href="a00099.html" title="bmsse_util.h" alt="" coords="427,83,523,112"/></map>
42
<div class="dynheader">
43
This graph shows which files directly or indirectly include this file:</div>
44
<div class="dynsection">
45
<div class="center"><img src="a00147.png" border="0" usemap="#bmsse4_8hdep_map" alt=""/></div>
46
<map name="bmsse4_8hdep_map" id="bmsse4_8hdep">
47
<area shape="rect" href="a00087.html" title="bm.h" alt="" coords="500,83,551,112"/><area shape="rect" href="a00088.html" title="bmalgo.h" alt="" coords="5,160,80,189"/><area shape="rect" href="a00114.html" title="sample9.cpp" alt="" coords="11,237,107,267"/><area shape="rect" href="a00096.html" title="bmserial.h" alt="" coords="155,160,235,189"/><area shape="rect" href="a00109.html" title="sample4.cpp" alt="" coords="165,237,261,267"/><area shape="rect" href="a00095.html" title="bmrandom.h" alt="" coords="309,160,403,189"/><area shape="rect" href="a00106.html" title="sample10.cpp" alt="" coords="347,237,448,267"/><area shape="rect" href="a00105.html" title="sample1.cpp" alt="" coords="477,160,573,189"/><area shape="rect" href="a00107.html" title="sample2.cpp" alt="" coords="597,160,693,189"/><area shape="rect" href="a00108.html" title="sample3.cpp" alt="" coords="717,160,813,189"/><area shape="rect" href="a00110.html" title="sample5.cpp" alt="" coords="837,160,933,189"/><area shape="rect" href="a00111.html" title="sample6.cpp" alt="" coords="957,160,1053,189"/><area shape="rect" href="a00112.html" title="sample7.cpp" alt="" coords="1077,160,1173,189"/><area shape="rect" href="a00113.html" title="sample8.cpp" alt="" coords="1197,160,1293,189"/></map>
32
<code>#include "<a class="el" href="a00093_source.html">bmdef.h</a>"</code><br/>
33
<code>#include "<a class="el" href="a00100_source.html">bmsse_util.h</a>"</code><br/>
34
<div class="dynheader">
35
Include dependency graph for bmsse2.h:</div>
36
<div class="dynsection">
37
<div class="center"><img src="a00146.png" border="0" usemap="#bmsse2_8h_map" alt=""/></div>
38
<map name="bmsse2_8h_map" id="bmsse2_8h">
39
<area shape="rect" href="a00093.html" title="bmdef.h" alt="" coords="224,83,291,112"/><area shape="rect" href="a00100.html" title="bmsse_util.h" alt="" coords="315,83,411,112"/></map>
50
42
<p><a href="a00098_source.html">Go to the source code of this file.</a></p>
51
43
<table border="0" cellpadding="0" cellspacing="0">
52
44
<tr><td colspan="2"><h2>Namespaces</h2></td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html">bm</a></td></tr>
45
<tr><td class="memItemLeft" align="right" valign="top">namespace </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html">bm</a></td></tr>
54
46
<tr><td colspan="2"><h2>Defines</h2></td></tr>
55
47
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a9b8caa31ab90cbfbc99b5728352e5456">VECT_XOR_ARR_2_MASK</a>(dst, src, src_end, mask) sse2_xor_arr_2_mask((__m128i*)(dst), (__m128i*)(src), (__m128i*)(src_end), mask)</td></tr>
56
48
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a7d425b68d8217dc37d33c660e39a61e1">VECT_ANDNOT_ARR_2_MASK</a>(dst, src, src_end, mask) sse2_andnot_arr_2_mask((__m128i*)(dst), (__m128i*)(src), (__m128i*)(src_end), mask)</td></tr>
57
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#ae022e7bc509d97359a348393a6b25b99">VECT_BITCOUNT</a>(first, last) sse4_bit_count((__m128i*) (first), (__m128i*) (last))</td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a3459200618dab65142340f1abd760eb9">VECT_BITCOUNT_AND</a>(first, last, mask) sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_and)</td></tr>
59
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a07583d48db4ede7eadbc3156e9dd7d3b">VECT_BITCOUNT_OR</a>(first, last, mask) sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_or)</td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a9954c72d227a3ca78df22a56efad6baf">VECT_BITCOUNT_XOR</a>(first, last, mask) sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_xor)</td></tr>
61
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a98aaf230431767be4838323266d0b493">VECT_BITCOUNT_SUB</a>(first, last, mask) sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_sub)</td></tr>
49
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#ae022e7bc509d97359a348393a6b25b99">VECT_BITCOUNT</a>(first, last) sse2_bit_count((__m128i*) (first), (__m128i*) (last))</td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a3459200618dab65142340f1abd760eb9">VECT_BITCOUNT_AND</a>(first, last, mask) sse2_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_and)</td></tr>
51
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a07583d48db4ede7eadbc3156e9dd7d3b">VECT_BITCOUNT_OR</a>(first, last, mask) sse2_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_or)</td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a9954c72d227a3ca78df22a56efad6baf">VECT_BITCOUNT_XOR</a>(first, last, mask) sse2_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_xor)</td></tr>
53
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a98aaf230431767be4838323266d0b493">VECT_BITCOUNT_SUB</a>(first, last, mask) sse2_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_sub)</td></tr>
62
54
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#aa31c7d6d7d4cd67e1cc86c08221446ce">VECT_INVERT_ARR</a>(first, last) sse2_invert_arr(first, last);</td></tr>
63
55
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#aa6a3504bb5449abf6f5ec084b2ddfac6">VECT_AND_ARR</a>(dst, src, src_end) sse2_and_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
64
56
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#ae3cdeec275429ea0d60668da63e96df8">VECT_OR_ARR</a>(dst, src, src_end) sse2_or_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
67
59
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#a72b713f259e0542169a1228bebadcede">VECT_COPY_BLOCK</a>(dst, src, src_end) sse2_copy_block((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
68
60
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00098.html#acefd3b9d39a2e2fb0c9d2aa5c3812e0b">VECT_SET_BLOCK</a>(dst, dst_end, value) sse2_set_block((__m128i*) dst, (__m128i*) (dst_end), (value))</td></tr>
69
61
<tr><td colspan="2"><h2>Functions</h2></td></tr>
70
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga266ed6594dc786e46c1f353443dc41fe">bm::sse4_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
71
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a6d8f327a7d19c11125ac77383a34e986">bm::op_xor</a> (unsigned a, unsigned b)</td></tr>
72
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a0ed9a1bcd143f7763b4b59ef442f6994">bm::op_or</a> (unsigned a, unsigned b)</td></tr>
73
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE unsigned </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a515b2862b33efd4e36d72e4ba7729199">bm::op_and</a> (unsigned a, unsigned b)</td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#ga0f7e0b2eb9ac7b2c6a8cd3b8f15b071f">bm::sse2_bit_count</a> (const __m128i *block, const __m128i *block_end)</td></tr>
74
63
<tr><td class="memTemplParams" colspan="2">template<class Func > </td></tr>
75
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00115.html#a295c6323a972a90e28c36e6012427a26">bm::sse4_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
76
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00115.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00123.html#gad686391db4cdc6382ae6785f62981474">bm::sse4_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
64
<tr><td class="memTemplItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memTemplItemRight" valign="bottom"><a class="el" href="a00116.html#a8831a88ef538b3997d04d2ebf513160d">bm::sse2_bit_count_op</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, const __m128i *BMRESTRICT mask_block, Func sse2_func)</td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00116.html#a0479b7b6704c6ab64396e2365b8b5fa7">bm::sse2_bit_block_calc_count_change</a> (const __m128i *BMRESTRICT block, const __m128i *BMRESTRICT block_end, unsigned *BMRESTRICT bit_count)</td></tr>
78
67
<hr/><h2>Define Documentation</h2>
79
<a class="anchor" id="aa6a3504bb5449abf6f5ec084b2ddfac6"></a><!-- doxytag: member="bmsse4.h::VECT_AND_ARR" ref="aa6a3504bb5449abf6f5ec084b2ddfac6" args="(dst, src, src_end)" -->
68
<a class="anchor" id="aa6a3504bb5449abf6f5ec084b2ddfac6"></a><!-- doxytag: member="bmsse2.h::VECT_AND_ARR" ref="aa6a3504bb5449abf6f5ec084b2ddfac6" args="(dst, src, src_end)" -->
80
69
<div class="memitem">
81
70
<div class="memproto">
82
71
<table class="memname">