29
29
<div class="contents">
30
<h1>bmsse4.h File Reference</h1><code>#include <mmintrin.h></code><br/>
31
<code>#include <emmintrin.h></code><br/>
32
<code>#include <smmintrin.h></code><br/>
33
<code>#include "<a class="el" href="a00093_source.html">bmdef.h</a>"</code><br/>
34
<code>#include "<a class="el" href="a00100_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="a00147.png" border="0" usemap="#bmsse4_8h_map" alt=""/></div>
39
<map name="bmsse4_8h_map" id="bmsse4_8h">
40
<area shape="rect" href="a00093.html" title="bmdef.h" alt="" coords="336,83,403,112"/><area shape="rect" href="a00100.html" title="bmsse_util.h" alt="" coords="427,83,523,112"/></map>
42
<div class="dynheader">
30
<h1>bmsse_util.h File Reference</h1><div class="dynheader">
43
31
This graph shows which files directly or indirectly include this file:</div>
44
32
<div class="dynsection">
45
<div class="center"><img src="a00148.png" border="0" usemap="#bmsse4_8hdep_map" alt=""/></div>
46
<map name="bmsse4_8hdep_map" id="bmsse4_8hdep">
47
<area shape="rect" href="a00088.html" title="bm.h" alt="" coords="500,83,551,112"/><area shape="rect" href="a00089.html" title="bmalgo.h" alt="" coords="5,160,80,189"/><area shape="rect" href="a00115.html" title="sample9.cpp" alt="" coords="11,237,107,267"/><area shape="rect" href="a00097.html" title="bmserial.h" alt="" coords="155,160,235,189"/><area shape="rect" href="a00110.html" title="sample4.cpp" alt="" coords="165,237,261,267"/><area shape="rect" href="a00096.html" title="bmrandom.h" alt="" coords="309,160,403,189"/><area shape="rect" href="a00107.html" title="sample10.cpp" alt="" coords="347,237,448,267"/><area shape="rect" href="a00106.html" title="sample1.cpp" alt="" coords="477,160,573,189"/><area shape="rect" href="a00108.html" title="sample2.cpp" alt="" coords="597,160,693,189"/><area shape="rect" href="a00109.html" title="sample3.cpp" alt="" coords="717,160,813,189"/><area shape="rect" href="a00111.html" title="sample5.cpp" alt="" coords="837,160,933,189"/><area shape="rect" href="a00112.html" title="sample6.cpp" alt="" coords="957,160,1053,189"/><area shape="rect" href="a00113.html" title="sample7.cpp" alt="" coords="1077,160,1173,189"/><area shape="rect" href="a00114.html" title="sample8.cpp" alt="" coords="1197,160,1293,189"/></map>
33
<div class="center"><img src="a00148.png" border="0" usemap="#bmsse__util_8hdep_map" alt=""/></div>
34
<map name="bmsse__util_8hdep_map" id="bmsse__util_8hdep">
35
<area shape="rect" href="a00098.html" title="bmsse4.h" alt="" coords="444,83,521,112"/><area shape="rect" href="a00097.html" title="bmsse2.h" alt="" coords="545,83,623,112"/><area shape="rect" href="a00087.html" title="bm.h" alt="" coords="457,160,508,189"/><area shape="rect" href="a00088.html" title="bmalgo.h" alt="" coords="5,237,80,267"/><area shape="rect" href="a00114.html" title="sample9.cpp" alt="" coords="11,315,107,344"/><area shape="rect" href="a00096.html" title="bmserial.h" alt="" coords="155,237,235,267"/><area shape="rect" href="a00109.html" title="sample4.cpp" alt="" coords="165,315,261,344"/><area shape="rect" href="a00095.html" title="bmrandom.h" alt="" coords="309,237,403,267"/><area shape="rect" href="a00106.html" title="sample10.cpp" alt="" coords="347,315,448,344"/><area shape="rect" href="a00105.html" title="sample1.cpp" alt="" coords="477,237,573,267"/><area shape="rect" href="a00107.html" title="sample2.cpp" alt="" coords="597,237,693,267"/><area shape="rect" href="a00108.html" title="sample3.cpp" alt="" coords="717,237,813,267"/><area shape="rect" href="a00110.html" title="sample5.cpp" alt="" coords="837,237,933,267"/><area shape="rect" href="a00111.html" title="sample6.cpp" alt="" coords="957,237,1053,267"/><area shape="rect" href="a00113.html" title="sample8.cpp" alt="" coords="1077,237,1173,267"/></map>
50
38
<p><a href="a00099_source.html">Go to the source code of this file.</a></p>
51
39
<table border="0" cellpadding="0" cellspacing="0">
40
<tr><td colspan="2"><h2>Data Structures</h2></td></tr>
41
<tr><td class="memItemLeft" align="right" valign="top">class </td><td class="memItemRight" valign="bottom"><a class="el" href="a00084.html">bm::sse_empty_guard</a></td></tr>
42
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 reinitialization guard class. <a href="a00084.html#_details">More...</a><br/></td></tr>
52
43
<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="a00116.html">bm</a></td></tr>
54
<tr><td colspan="2"><h2>Defines</h2></td></tr>
55
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.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
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.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="a00099.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="a00099.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="a00099.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="a00099.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="a00099.html#a98aaf230431767be4838323266d0b493">VECT_BITCOUNT_SUB</a>(first, last, mask) sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_sub)</td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#aa31c7d6d7d4cd67e1cc86c08221446ce">VECT_INVERT_ARR</a>(first, last) sse2_invert_arr(first, last);</td></tr>
63
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#aa6a3504bb5449abf6f5ec084b2ddfac6">VECT_AND_ARR</a>(dst, src, src_end) sse2_and_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#ae3cdeec275429ea0d60668da63e96df8">VECT_OR_ARR</a>(dst, src, src_end) sse2_or_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#af079345cbcb256bb6216c0446fd775f2">VECT_SUB_ARR</a>(dst, src, src_end) sse2_sub_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#a1f520ac49859f992de5c00f43b851179">VECT_XOR_ARR</a>(dst, src, src_end) sse2_xor_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
67
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#a72b713f259e0542169a1228bebadcede">VECT_COPY_BLOCK</a>(dst, src, src_end) sse2_copy_block((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td></tr>
68
<tr><td class="memItemLeft" align="right" valign="top">#define </td><td class="memItemRight" valign="bottom"><a class="el" href="a00099.html#acefd3b9d39a2e2fb0c9d2aa5c3812e0b">VECT_SET_BLOCK</a>(dst, dst_end, value) sse2_set_block((__m128i*) dst, (__m128i*) (dst_end), (value))</td></tr>
44
<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>
69
45
<tr><td colspan="2"><h2>Functions</h2></td></tr>
70
<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="a00124.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="a00116.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="a00116.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="a00116.html#a515b2862b33efd4e36d72e4ba7729199">bm::op_and</a> (unsigned a, unsigned b)</td></tr>
74
<tr><td class="memTemplParams" colspan="2">template<class Func > </td></tr>
75
<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#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="a00116.html#aa3824d882a037396370b16f2f0a8bf37">bm::id_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="a00124.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>
46
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#ga75c6ddeb0d8a279caa92341878309b50">bm::sse2_xor_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
47
<tr><td class="mdescLeft"> </td><td class="mdescRight">XOR array elements to specified mask dst = *src ^ mask. <a href="a00122.html#ga75c6ddeb0d8a279caa92341878309b50"></a><br/></td></tr>
48
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#gab7b21f448684c4d84927792661e67ed5">bm::sse2_andnot_arr_2_mask</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> mask)</td></tr>
49
<tr><td class="mdescLeft"> </td><td class="mdescRight">Inverts array elements and NOT them to specified mask dst = ~*src & mask. <a href="a00122.html#gab7b21f448684c4d84927792661e67ed5"></a><br/></td></tr>
50
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#ga795b544f311409a55da4ee61a3cd939a">bm::sse2_and_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
51
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND array elements against another array dst &= *src. <a href="a00122.html#ga795b544f311409a55da4ee61a3cd939a"></a><br/></td></tr>
52
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#ga3a7d61e4e8ad8791ab38fd1c3436aa67">bm::sse2_or_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
53
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR array elements against another array dst |= *src. <a href="a00122.html#ga3a7d61e4e8ad8791ab38fd1c3436aa67"></a><br/></td></tr>
54
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#gaf1a5ad26557cc4d71d7421c35a8445fe">bm::sse2_xor_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
55
<tr><td class="mdescLeft"> </td><td class="mdescRight">OR array elements against another array dst ^= *src. <a href="a00122.html#gaf1a5ad26557cc4d71d7421c35a8445fe"></a><br/></td></tr>
56
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#gac99f3b138f8a5e8ffb1296b129f618f0">bm::sse2_sub_arr</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
57
<tr><td class="mdescLeft"> </td><td class="mdescRight">AND-NOT (SUB) array elements against another array dst &= ~*src. <a href="a00122.html#gac99f3b138f8a5e8ffb1296b129f618f0"></a><br/></td></tr>
58
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#ga302f4fcd0abf355957b305d16d04f452">bm::sse2_set_block</a> (__m128i *BMRESTRICT dst, __m128i *BMRESTRICT dst_end, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> value)</td></tr>
59
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 block memset dst = value. <a href="a00122.html#ga302f4fcd0abf355957b305d16d04f452"></a><br/></td></tr>
60
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#ga571dd54af5c555cad9dfa6bef4561777">bm::sse2_copy_block</a> (__m128i *BMRESTRICT dst, const __m128i *BMRESTRICT src, const __m128i *BMRESTRICT src_end)</td></tr>
61
<tr><td class="mdescLeft"> </td><td class="mdescRight">SSE2 block copy dst = *src. <a href="a00122.html#ga571dd54af5c555cad9dfa6bef4561777"></a><br/></td></tr>
62
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE void </td><td class="memItemRight" valign="bottom"><a class="el" href="a00122.html#ga8d506147673d88005f92caee7f5dd23a">bm::sse2_invert_arr</a> (<a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *first, <a class="el" href="a00115.html#a17fd5ba52db3ddda05e6f8dd5000a1a4">bm::word_t</a> *last)</td></tr>
63
<tr><td class="mdescLeft"> </td><td class="mdescRight">Invert array elements dst = ~*dst or dst ^= *dst. <a href="a00122.html#ga8d506147673d88005f92caee7f5dd23a"></a><br/></td></tr>
64
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ac0c75fb7b3dc61602843ac4e1b9b7ef5">bm::sse2_and</a> (__m128i a, __m128i b)</td></tr>
65
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#adea798a9a95a04845c33876087a2f46b">bm::sse2_or</a> (__m128i a, __m128i b)</td></tr>
66
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#a6f5de19ee3e1be05037908b4777c4da8">bm::sse2_xor</a> (__m128i a, __m128i b)</td></tr>
67
<tr><td class="memItemLeft" align="right" valign="top">BMFORCEINLINE __m128i </td><td class="memItemRight" valign="bottom"><a class="el" href="a00115.html#ab3e6d46fcba1bc2a1a5390c10f571382">bm::sse2_sub</a> (__m128i a, __m128i b)</td></tr>
78
<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)" -->
81
<div class="memproto">
82
<table class="memname">
84
<td class="memname">#define VECT_AND_ARR</td>
86
<td class="paramtype">dst, </td>
89
<td class="paramkey"></td>
91
<td class="paramtype">src, </td>
94
<td class="paramkey"></td>
96
<td class="paramtype">src_end </td>
97
<td class="paramname"></td>
98
<td> ) </td>
99
<td> sse2_and_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td>
105
<p>Definition at line <a class="el" href="a00099_source.html#l00213">213</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
107
<p>Referenced by <a class="el" href="a00094_source.html#l03321">bm::bit_block_and()</a>.</p>
111
<a class="anchor" id="a7d425b68d8217dc37d33c660e39a61e1"></a><!-- doxytag: member="bmsse4.h::VECT_ANDNOT_ARR_2_MASK" ref="a7d425b68d8217dc37d33c660e39a61e1" args="(dst, src, src_end, mask)" -->
112
<div class="memitem">
113
<div class="memproto">
114
<table class="memname">
116
<td class="memname">#define VECT_ANDNOT_ARR_2_MASK</td>
118
<td class="paramtype">dst, </td>
121
<td class="paramkey"></td>
123
<td class="paramtype">src, </td>
126
<td class="paramkey"></td>
128
<td class="paramtype">src_end, </td>
131
<td class="paramkey"></td>
133
<td class="paramtype">mask </td>
134
<td class="paramname"></td>
135
<td> ) </td>
136
<td> sse2_andnot_arr_2_mask((__m128i*)(dst), (__m128i*)(src), (__m128i*)(src_end), mask)</td>
142
<p>Definition at line <a class="el" href="a00099_source.html#l00192">192</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
146
<a class="anchor" id="ae022e7bc509d97359a348393a6b25b99"></a><!-- doxytag: member="bmsse4.h::VECT_BITCOUNT" ref="ae022e7bc509d97359a348393a6b25b99" args="(first, last)" -->
147
<div class="memitem">
148
<div class="memproto">
149
<table class="memname">
151
<td class="memname">#define VECT_BITCOUNT</td>
153
<td class="paramtype">first, </td>
156
<td class="paramkey"></td>
158
<td class="paramtype">last </td>
159
<td class="paramname"></td>
160
<td> ) </td>
161
<td> sse4_bit_count((__m128i*) (first), (__m128i*) (last))</td>
167
<p>Definition at line <a class="el" href="a00099_source.html#l00195">195</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
169
<p>Referenced by <a class="el" href="a00094_source.html#l02681">bm::bit_block_calc_count()</a>.</p>
173
<a class="anchor" id="a3459200618dab65142340f1abd760eb9"></a><!-- doxytag: member="bmsse4.h::VECT_BITCOUNT_AND" ref="a3459200618dab65142340f1abd760eb9" args="(first, last, mask)" -->
174
<div class="memitem">
175
<div class="memproto">
176
<table class="memname">
178
<td class="memname">#define VECT_BITCOUNT_AND</td>
180
<td class="paramtype">first, </td>
183
<td class="paramkey"></td>
185
<td class="paramtype">last, </td>
188
<td class="paramkey"></td>
190
<td class="paramtype">mask </td>
191
<td class="paramname"></td>
192
<td> ) </td>
193
<td> sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_and)</td>
199
<p>Definition at line <a class="el" href="a00099_source.html#l00198">198</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
201
<p>Referenced by <a class="el" href="a00094_source.html#l03355">bm::bit_block_and_count()</a>.</p>
205
<a class="anchor" id="a07583d48db4ede7eadbc3156e9dd7d3b"></a><!-- doxytag: member="bmsse4.h::VECT_BITCOUNT_OR" ref="a07583d48db4ede7eadbc3156e9dd7d3b" args="(first, last, mask)" -->
206
<div class="memitem">
207
<div class="memproto">
208
<table class="memname">
210
<td class="memname">#define VECT_BITCOUNT_OR</td>
212
<td class="paramtype">first, </td>
215
<td class="paramkey"></td>
217
<td class="paramtype">last, </td>
220
<td class="paramkey"></td>
222
<td class="paramtype">mask </td>
223
<td class="paramname"></td>
224
<td> ) </td>
225
<td> sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_or)</td>
231
<p>Definition at line <a class="el" href="a00099_source.html#l00201">201</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
233
<p>Referenced by <a class="el" href="a00094_source.html#l03596">bm::bit_block_or_count()</a>.</p>
237
<a class="anchor" id="a98aaf230431767be4838323266d0b493"></a><!-- doxytag: member="bmsse4.h::VECT_BITCOUNT_SUB" ref="a98aaf230431767be4838323266d0b493" args="(first, last, mask)" -->
238
<div class="memitem">
239
<div class="memproto">
240
<table class="memname">
242
<td class="memname">#define VECT_BITCOUNT_SUB</td>
244
<td class="paramtype">first, </td>
247
<td class="paramkey"></td>
249
<td class="paramtype">last, </td>
252
<td class="paramkey"></td>
254
<td class="paramtype">mask </td>
255
<td class="paramname"></td>
256
<td> ) </td>
257
<td> sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_sub)</td>
263
<p>Definition at line <a class="el" href="a00099_source.html#l00207">207</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
265
<p>Referenced by <a class="el" href="a00094_source.html#l03517">bm::bit_block_sub_count()</a>.</p>
269
<a class="anchor" id="a9954c72d227a3ca78df22a56efad6baf"></a><!-- doxytag: member="bmsse4.h::VECT_BITCOUNT_XOR" ref="a9954c72d227a3ca78df22a56efad6baf" args="(first, last, mask)" -->
270
<div class="memitem">
271
<div class="memproto">
272
<table class="memname">
274
<td class="memname">#define VECT_BITCOUNT_XOR</td>
276
<td class="paramtype">first, </td>
279
<td class="paramkey"></td>
281
<td class="paramtype">last, </td>
284
<td class="paramkey"></td>
286
<td class="paramtype">mask </td>
287
<td class="paramname"></td>
288
<td> ) </td>
289
<td> sse4_bit_count_op((__m128i*) (first), (__m128i*) (last), (__m128i*) (mask), sse2_xor)</td>
295
<p>Definition at line <a class="el" href="a00099_source.html#l00204">204</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
297
<p>Referenced by <a class="el" href="a00094_source.html#l03436">bm::bit_block_xor_count()</a>.</p>
301
<a class="anchor" id="a72b713f259e0542169a1228bebadcede"></a><!-- doxytag: member="bmsse4.h::VECT_COPY_BLOCK" ref="a72b713f259e0542169a1228bebadcede" args="(dst, src, src_end)" -->
302
<div class="memitem">
303
<div class="memproto">
304
<table class="memname">
306
<td class="memname">#define VECT_COPY_BLOCK</td>
308
<td class="paramtype">dst, </td>
311
<td class="paramkey"></td>
313
<td class="paramtype">src, </td>
316
<td class="paramkey"></td>
318
<td class="paramtype">src_end </td>
319
<td class="paramname"></td>
320
<td> ) </td>
321
<td> sse2_copy_block((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td>
327
<p>Definition at line <a class="el" href="a00099_source.html#l00225">225</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
329
<p>Referenced by <a class="el" href="a00094_source.html#l03301">bm::bit_block_copy()</a>.</p>
333
<a class="anchor" id="aa31c7d6d7d4cd67e1cc86c08221446ce"></a><!-- doxytag: member="bmsse4.h::VECT_INVERT_ARR" ref="aa31c7d6d7d4cd67e1cc86c08221446ce" args="(first, last)" -->
334
<div class="memitem">
335
<div class="memproto">
336
<table class="memname">
338
<td class="memname">#define VECT_INVERT_ARR</td>
340
<td class="paramtype">first, </td>
343
<td class="paramkey"></td>
345
<td class="paramtype">last </td>
346
<td class="paramname"></td>
347
<td> ) </td>
348
<td> sse2_invert_arr(first, last);</td>
354
<p>Definition at line <a class="el" href="a00099_source.html#l00210">210</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
356
<p>Referenced by <a class="el" href="a00094_source.html#l03039">bm::bit_invert()</a>.</p>
360
<a class="anchor" id="ae3cdeec275429ea0d60668da63e96df8"></a><!-- doxytag: member="bmsse4.h::VECT_OR_ARR" ref="ae3cdeec275429ea0d60668da63e96df8" args="(dst, src, src_end)" -->
361
<div class="memitem">
362
<div class="memproto">
363
<table class="memname">
365
<td class="memname">#define VECT_OR_ARR</td>
367
<td class="paramtype">dst, </td>
370
<td class="paramkey"></td>
372
<td class="paramtype">src, </td>
375
<td class="paramkey"></td>
377
<td class="paramtype">src_end </td>
378
<td class="paramname"></td>
379
<td> ) </td>
380
<td> sse2_or_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td>
386
<p>Definition at line <a class="el" href="a00099_source.html#l00216">216</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
388
<p>Referenced by <a class="el" href="a00094_source.html#l03935">bm::bit_block_or()</a>.</p>
392
<a class="anchor" id="acefd3b9d39a2e2fb0c9d2aa5c3812e0b"></a><!-- doxytag: member="bmsse4.h::VECT_SET_BLOCK" ref="acefd3b9d39a2e2fb0c9d2aa5c3812e0b" args="(dst, dst_end, value)" -->
393
<div class="memitem">
394
<div class="memproto">
395
<table class="memname">
397
<td class="memname">#define VECT_SET_BLOCK</td>
399
<td class="paramtype">dst, </td>
402
<td class="paramkey"></td>
404
<td class="paramtype">dst_end, </td>
407
<td class="paramkey"></td>
409
<td class="paramtype">value </td>
410
<td class="paramname"></td>
411
<td> ) </td>
412
<td> sse2_set_block((__m128i*) dst, (__m128i*) (dst_end), (value))</td>
418
<p>Definition at line <a class="el" href="a00099_source.html#l00228">228</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
422
<a class="anchor" id="af079345cbcb256bb6216c0446fd775f2"></a><!-- doxytag: member="bmsse4.h::VECT_SUB_ARR" ref="af079345cbcb256bb6216c0446fd775f2" args="(dst, src, src_end)" -->
423
<div class="memitem">
424
<div class="memproto">
425
<table class="memname">
427
<td class="memname">#define VECT_SUB_ARR</td>
429
<td class="paramtype">dst, </td>
432
<td class="paramkey"></td>
434
<td class="paramtype">src, </td>
437
<td class="paramkey"></td>
439
<td class="paramtype">src_end </td>
440
<td class="paramname"></td>
441
<td> ) </td>
442
<td> sse2_sub_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td>
448
<p>Definition at line <a class="el" href="a00099_source.html#l00219">219</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
450
<p>Referenced by <a class="el" href="a00094_source.html#l04031">bm::bit_block_sub()</a>.</p>
454
<a class="anchor" id="a1f520ac49859f992de5c00f43b851179"></a><!-- doxytag: member="bmsse4.h::VECT_XOR_ARR" ref="a1f520ac49859f992de5c00f43b851179" args="(dst, src, src_end)" -->
455
<div class="memitem">
456
<div class="memproto">
457
<table class="memname">
459
<td class="memname">#define VECT_XOR_ARR</td>
461
<td class="paramtype">dst, </td>
464
<td class="paramkey"></td>
466
<td class="paramtype">src, </td>
469
<td class="paramkey"></td>
471
<td class="paramtype">src_end </td>
472
<td class="paramname"></td>
473
<td> ) </td>
474
<td> sse2_xor_arr((__m128i*) dst, (__m128i*) (src), (__m128i*) (src_end))</td>
480
<p>Definition at line <a class="el" href="a00099_source.html#l00222">222</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
482
<p>Referenced by <a class="el" href="a00094_source.html#l04127">bm::bit_block_xor()</a>.</p>
486
<a class="anchor" id="a9b8caa31ab90cbfbc99b5728352e5456"></a><!-- doxytag: member="bmsse4.h::VECT_XOR_ARR_2_MASK" ref="a9b8caa31ab90cbfbc99b5728352e5456" args="(dst, src, src_end, mask)" -->
487
<div class="memitem">
488
<div class="memproto">
489
<table class="memname">
491
<td class="memname">#define VECT_XOR_ARR_2_MASK</td>
493
<td class="paramtype">dst, </td>
496
<td class="paramkey"></td>
498
<td class="paramtype">src, </td>
501
<td class="paramkey"></td>
503
<td class="paramtype">src_end, </td>
506
<td class="paramkey"></td>
508
<td class="paramtype">mask </td>
509
<td class="paramname"></td>
510
<td> ) </td>
511
<td> sse2_xor_arr_2_mask((__m128i*)(dst), (__m128i*)(src), (__m128i*)(src_end), mask)</td>
517
<p>Definition at line <a class="el" href="a00099_source.html#l00189">189</a> of file <a class="el" href="a00099_source.html">bmsse4.h</a>.</p>
522
<hr size="1"/><address style="text-align: right;"><small>Generated on Tue Mar 23 20:48:01 2010 for BitMagic by
70
<hr size="1"/><address style="text-align: right;"><small>Generated on Sun Apr 25 09:37:33 2010 for BitMagic by
523
71
<a href="http://www.doxygen.org/index.html">
524
72
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.6.1 </small></address>