mirror of
https://github.com/seigler/dash-docs
synced 2025-07-27 17:56:16 +00:00
189 lines
348 KiB
HTML
189 lines
348 KiB
HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
|
|
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
|
|
<meta name="generator" content="Doxygen 1.8.14"/>
|
|
<meta name="viewport" content="width=device-width, initial-scale=1"/>
|
|
<title>Dash Core: src/crypto/simd.c Source File</title>
|
|
<link href="tabs.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="jquery.js"></script>
|
|
<script type="text/javascript" src="dynsections.js"></script>
|
|
<link href="navtree.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="resize.js"></script>
|
|
<script type="text/javascript" src="navtreedata.js"></script>
|
|
<script type="text/javascript" src="navtree.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(initResizable);
|
|
/* @license-end */</script>
|
|
<link href="search/search.css" rel="stylesheet" type="text/css"/>
|
|
<script type="text/javascript" src="search/searchdata.js"></script>
|
|
<script type="text/javascript" src="search/search.js"></script>
|
|
<link href="doxygen.css" rel="stylesheet" type="text/css" />
|
|
</head>
|
|
<body>
|
|
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
|
|
<div id="titlearea">
|
|
<table cellspacing="0" cellpadding="0">
|
|
<tbody>
|
|
<tr style="height: 56px;">
|
|
<td id="projectlogo"><img alt="Logo" src="bitcoin_logo_doxygen.png"/></td>
|
|
<td id="projectalign" style="padding-left: 0.5em;">
|
|
<div id="projectname">Dash Core
|
|
 <span id="projectnumber">0.12.2.1</span>
|
|
</div>
|
|
<div id="projectbrief">P2P Digital Currency</div>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</div>
|
|
<!-- end header part -->
|
|
<!-- Generated by Doxygen 1.8.14 -->
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
var searchBox = new SearchBox("searchBox", "search",false,'Search');
|
|
/* @license-end */
|
|
</script>
|
|
<script type="text/javascript" src="menudata.js"></script>
|
|
<script type="text/javascript" src="menu.js"></script>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(function() {
|
|
initMenu('',true,false,'search.php','Search');
|
|
$(document).ready(function() { init_search(); });
|
|
});
|
|
/* @license-end */</script>
|
|
<div id="main-nav"></div>
|
|
</div><!-- top -->
|
|
<div id="side-nav" class="ui-resizable side-nav-resizable">
|
|
<div id="nav-tree">
|
|
<div id="nav-tree-contents">
|
|
<div id="nav-sync" class="sync"></div>
|
|
</div>
|
|
</div>
|
|
<div id="splitbar" style="-moz-user-select:none;"
|
|
class="ui-resizable-handle">
|
|
</div>
|
|
</div>
|
|
<script type="text/javascript">
|
|
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&dn=gpl-2.0.txt GPL-v2 */
|
|
$(document).ready(function(){initNavTree('simd_8c_source.html','');});
|
|
/* @license-end */
|
|
</script>
|
|
<div id="doc-content">
|
|
<!-- window showing the filter options -->
|
|
<div id="MSearchSelectWindow"
|
|
onmouseover="return searchBox.OnSearchSelectShow()"
|
|
onmouseout="return searchBox.OnSearchSelectHide()"
|
|
onkeydown="return searchBox.OnSearchSelectKey(event)">
|
|
</div>
|
|
|
|
<!-- iframe showing the search results (closed by default) -->
|
|
<div id="MSearchResultsWindow">
|
|
<iframe src="javascript:void(0)" frameborder="0"
|
|
name="MSearchResults" id="MSearchResults">
|
|
</iframe>
|
|
</div>
|
|
|
|
<div class="header">
|
|
<div class="headertitle">
|
|
<div class="title">simd.c</div> </div>
|
|
</div><!--header-->
|
|
<div class="contents">
|
|
<a href="simd_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span> <span class="comment">/* $Id: simd.c 227 2010-06-16 17:28:38Z tp $ */</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span> <span class="comment">/*</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment"> * SIMD implementation.</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span> <span class="comment"> *</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span> <span class="comment"> * ==========================(LICENSE BEGIN)============================</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment"> *</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment"> * Copyright (c) 2007-2010 Projet RNRT SAPHIR</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment"> * </span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment"> * a copy of this software and associated documentation files (the</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment"> * "Software"), to deal in the Software without restriction, including</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment"> * without limitation the rights to use, copy, modify, merge, publish,</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment"> * distribute, sublicense, and/or sell copies of the Software, and to</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment"> * permit persons to whom the Software is furnished to do so, subject to</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment"> * the following conditions:</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment"> * </span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment"> * The above copyright notice and this permission notice shall be</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment"> * included in all copies or substantial portions of the Software.</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment"> * </span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span> <span class="comment"> * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"> * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span> <span class="comment"> * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span> <span class="comment"> * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span> <span class="comment"> * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span> <span class="comment"> * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span> <span class="comment"> * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</span></div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span> <span class="comment"> *</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span> <span class="comment"> * ===========================(LICENSE END)=============================</span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="comment"> *</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> <span class="comment"> * @author Thomas Pornin <thomas.pornin@cryptolog.com></span></div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment"> */</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> </div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> <span class="preprocessor">#include <stddef.h></span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="preprocessor">#include <string.h></span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <limits.h></span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span> </div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span> <span class="preprocessor">#include "<a class="code" href="sph__simd_8h.html">sph_simd.h</a>"</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> </div><div class="line"><a name="l00039"></a><span class="lineno"> 39</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l00040"></a><span class="lineno"> 40</span> <span class="keyword">extern</span> <span class="stringliteral">"C"</span>{</div><div class="line"><a name="l00041"></a><span class="lineno"> 41</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00042"></a><span class="lineno"> 42</span> </div><div class="line"><a name="l00043"></a><span class="lineno"> 43</span> <span class="preprocessor">#if SPH_SMALL_FOOTPRINT && !defined SPH_SMALL_FOOTPRINT_SIMD</span></div><div class="line"><a name="l00044"></a><span class="lineno"> 44</span> <span class="preprocessor">#define SPH_SMALL_FOOTPRINT_SIMD 1</span></div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span> </div><div class="line"><a name="l00047"></a><span class="lineno"> 47</span> <span class="preprocessor">#ifdef _MSC_VER</span></div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span> <span class="preprocessor">#pragma warning (disable: 4146)</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span> </div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4"> 51</a></span> <span class="keyword">typedef</span> <a class="code" href="sph__types_8h.html#abe306859da1253f97285b59a6d87a997">sph_u32</a> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a>;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1"> 52</a></span> <span class="keyword">typedef</span> <a class="code" href="sph__types_8h.html#ae95799da2463c9f54c03d8494bb94524">sph_s32</a> <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a>;</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1"> 53</a></span> <span class="preprocessor">#define C32 SPH_C32</span></div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac"> 54</a></span> <span class="preprocessor">#define T32 SPH_T32</span></div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="simd_8c.html#add0013a35a6036c1fbfea726e898c13f"> 55</a></span> <span class="preprocessor">#define ROL32 SPH_ROTL32</span></div><div class="line"><a name="l00056"></a><span class="lineno"> 56</span> </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="simd_8c.html#a754b0627384b1b338f6235895bbe56df"> 57</a></span> <span class="preprocessor">#define XCAT(x, y) XCAT_(x, y)</span></div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="simd_8c.html#a5fd2cfb71b9f73a18df866b5a5f698ca"> 58</a></span> <span class="preprocessor">#define XCAT_(x, y) x ## y</span></div><div class="line"><a name="l00059"></a><span class="lineno"> 59</span> </div><div class="line"><a name="l00060"></a><span class="lineno"> 60</span> <span class="comment">/*</span></div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span> <span class="comment"> * The powers of 41 modulo 257. We use exponents from 0 to 255, inclusive.</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span> <span class="comment"> */</span></div><div class="line"><a name="l00063"></a><span class="lineno"><a class="line" href="simd_8c.html#ae5e7a7c04722a30c78e0e3600903c541"> 63</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> <a class="code" href="simd_8c.html#ae5e7a7c04722a30c78e0e3600903c541">alpha_tab</a>[] = {</div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>  1, 41, 139, 45, 46, 87, 226, 14, 60, 147, 116, 130,</div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>  190, 80, 196, 69, 2, 82, 21, 90, 92, 174, 195, 28,</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>  120, 37, 232, 3, 123, 160, 135, 138, 4, 164, 42, 180,</div><div class="line"><a name="l00067"></a><span class="lineno"> 67</span>  184, 91, 133, 56, 240, 74, 207, 6, 246, 63, 13, 19,</div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  8, 71, 84, 103, 111, 182, 9, 112, 223, 148, 157, 12,</div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>  235, 126, 26, 38, 16, 142, 168, 206, 222, 107, 18, 224,</div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>  189, 39, 57, 24, 213, 252, 52, 76, 32, 27, 79, 155,</div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>  187, 214, 36, 191, 121, 78, 114, 48, 169, 247, 104, 152,</div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>  64, 54, 158, 53, 117, 171, 72, 125, 242, 156, 228, 96,</div><div class="line"><a name="l00073"></a><span class="lineno"> 73</span>  81, 237, 208, 47, 128, 108, 59, 106, 234, 85, 144, 250,</div><div class="line"><a name="l00074"></a><span class="lineno"> 74</span>  227, 55, 199, 192, 162, 217, 159, 94, 256, 216, 118, 212,</div><div class="line"><a name="l00075"></a><span class="lineno"> 75</span>  211, 170, 31, 243, 197, 110, 141, 127, 67, 177, 61, 188,</div><div class="line"><a name="l00076"></a><span class="lineno"> 76</span>  255, 175, 236, 167, 165, 83, 62, 229, 137, 220, 25, 254,</div><div class="line"><a name="l00077"></a><span class="lineno"> 77</span>  134, 97, 122, 119, 253, 93, 215, 77, 73, 166, 124, 201,</div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  17, 183, 50, 251, 11, 194, 244, 238, 249, 186, 173, 154,</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  146, 75, 248, 145, 34, 109, 100, 245, 22, 131, 231, 219,</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span>  241, 115, 89, 51, 35, 150, 239, 33, 68, 218, 200, 233,</div><div class="line"><a name="l00081"></a><span class="lineno"> 81</span>  44, 5, 205, 181, 225, 230, 178, 102, 70, 43, 221, 66,</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>  136, 179, 143, 209, 88, 10, 153, 105, 193, 203, 99, 204,</div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>  140, 86, 185, 132, 15, 101, 29, 161, 176, 20, 49, 210,</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>  129, 149, 198, 151, 23, 172, 113, 7, 30, 202, 58, 65,</div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>  95, 40, 98, 163</div><div class="line"><a name="l00086"></a><span class="lineno"> 86</span> };</div><div class="line"><a name="l00087"></a><span class="lineno"> 87</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span> <span class="comment">/*</span></div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span> <span class="comment"> * Ranges:</span></div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> <span class="comment"> * REDS1: from -32768..98302 to -383..383</span></div><div class="line"><a name="l00091"></a><span class="lineno"> 91</span> <span class="comment"> * REDS2: from -2^31..2^31-1 to -32768..98302</span></div><div class="line"><a name="l00092"></a><span class="lineno"> 92</span> <span class="comment"> */</span></div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="simd_8c.html#af445f21af6d17905bce237c8884313d2"> 93</a></span> <span class="preprocessor">#define REDS1(x) (((x) & 0xFF) - ((x) >> 8))</span></div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21"> 94</a></span> <span class="preprocessor">#define REDS2(x) (((x) & 0xFFFF) + ((x) >> 16))</span></div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span> </div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span> <span class="comment">/*</span></div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span> <span class="comment"> * If, upon entry, the values of q[] are all in the -N..N range (where</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span> <span class="comment"> * N >= 98302) then the new values of q[] are in the -2N..2N range.</span></div><div class="line"><a name="l00099"></a><span class="lineno"> 99</span> <span class="comment"> *</span></div><div class="line"><a name="l00100"></a><span class="lineno"> 100</span> <span class="comment"> * Since alpha_tab[v] <= 256, maximum allowed range is for N = 8388608.</span></div><div class="line"><a name="l00101"></a><span class="lineno"> 101</span> <span class="comment"> */</span></div><div class="line"><a name="l00102"></a><span class="lineno"><a class="line" href="simd_8c.html#a25fa9b1b965848a3411fc0b66f9f11e4"> 102</a></span> <span class="preprocessor">#define FFT_LOOP(rb, hk, as, id) do { \</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span> <span class="preprocessor"> size_t u, v; \</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span> <span class="preprocessor"> s32 m = q[(rb)]; \</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span> <span class="preprocessor"> s32 n = q[(rb) + (hk)]; \</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span> <span class="preprocessor"> q[(rb)] = m + n; \</span></div><div class="line"><a name="l00107"></a><span class="lineno"> 107</span> <span class="preprocessor"> q[(rb) + (hk)] = m - n; \</span></div><div class="line"><a name="l00108"></a><span class="lineno"> 108</span> <span class="preprocessor"> u = v = 0; \</span></div><div class="line"><a name="l00109"></a><span class="lineno"> 109</span> <span class="preprocessor"> goto id; \</span></div><div class="line"><a name="l00110"></a><span class="lineno"> 110</span> <span class="preprocessor"> for (; u < (hk); u += 4, v += 4 * (as)) { \</span></div><div class="line"><a name="l00111"></a><span class="lineno"> 111</span> <span class="preprocessor"> s32 t; \</span></div><div class="line"><a name="l00112"></a><span class="lineno"> 112</span> <span class="preprocessor"> m = q[(rb) + u + 0]; \</span></div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span> <span class="preprocessor"> n = q[(rb) + u + 0 + (hk)]; \</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span> <span class="preprocessor"> t = REDS2(n * alpha_tab[v + 0 * (as)]); \</span></div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span> <span class="preprocessor"> q[(rb) + u + 0] = m + t; \</span></div><div class="line"><a name="l00116"></a><span class="lineno"> 116</span> <span class="preprocessor"> q[(rb) + u + 0 + (hk)] = m - t; \</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span> <span class="preprocessor"> id: \</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span> <span class="preprocessor"> m = q[(rb) + u + 1]; \</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span> <span class="preprocessor"> n = q[(rb) + u + 1 + (hk)]; \</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span> <span class="preprocessor"> t = REDS2(n * alpha_tab[v + 1 * (as)]); \</span></div><div class="line"><a name="l00121"></a><span class="lineno"> 121</span> <span class="preprocessor"> q[(rb) + u + 1] = m + t; \</span></div><div class="line"><a name="l00122"></a><span class="lineno"> 122</span> <span class="preprocessor"> q[(rb) + u + 1 + (hk)] = m - t; \</span></div><div class="line"><a name="l00123"></a><span class="lineno"> 123</span> <span class="preprocessor"> m = q[(rb) + u + 2]; \</span></div><div class="line"><a name="l00124"></a><span class="lineno"> 124</span> <span class="preprocessor"> n = q[(rb) + u + 2 + (hk)]; \</span></div><div class="line"><a name="l00125"></a><span class="lineno"> 125</span> <span class="preprocessor"> t = REDS2(n * alpha_tab[v + 2 * (as)]); \</span></div><div class="line"><a name="l00126"></a><span class="lineno"> 126</span> <span class="preprocessor"> q[(rb) + u + 2] = m + t; \</span></div><div class="line"><a name="l00127"></a><span class="lineno"> 127</span> <span class="preprocessor"> q[(rb) + u + 2 + (hk)] = m - t; \</span></div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span> <span class="preprocessor"> m = q[(rb) + u + 3]; \</span></div><div class="line"><a name="l00129"></a><span class="lineno"> 129</span> <span class="preprocessor"> n = q[(rb) + u + 3 + (hk)]; \</span></div><div class="line"><a name="l00130"></a><span class="lineno"> 130</span> <span class="preprocessor"> t = REDS2(n * alpha_tab[v + 3 * (as)]); \</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span> <span class="preprocessor"> q[(rb) + u + 3] = m + t; \</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span> <span class="preprocessor"> q[(rb) + u + 3 + (hk)] = m - t; \</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span> </div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span> <span class="comment">/*</span></div><div class="line"><a name="l00137"></a><span class="lineno"> 137</span> <span class="comment"> * Output ranges:</span></div><div class="line"><a name="l00138"></a><span class="lineno"> 138</span> <span class="comment"> * d0: min= 0 max= 1020</span></div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span> <span class="comment"> * d1: min= -67 max= 4587</span></div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span> <span class="comment"> * d2: min=-4335 max= 4335</span></div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span> <span class="comment"> * d3: min=-4147 max= 507</span></div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span> <span class="comment"> * d4: min= -510 max= 510</span></div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span> <span class="comment"> * d5: min= -252 max= 4402</span></div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span> <span class="comment"> * d6: min=-4335 max= 4335</span></div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span> <span class="comment"> * d7: min=-4332 max= 322</span></div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span> <span class="comment"> */</span></div><div class="line"><a name="l00147"></a><span class="lineno"><a class="line" href="simd_8c.html#a11d6e9a8eea67a102ce9ffd77134b1dd"> 147</a></span> <span class="preprocessor">#define FFT8(xb, xs, d) do { \</span></div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span> <span class="preprocessor"> s32 x0 = x[(xb)]; \</span></div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span> <span class="preprocessor"> s32 x1 = x[(xb) + (xs)]; \</span></div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span> <span class="preprocessor"> s32 x2 = x[(xb) + 2 * (xs)]; \</span></div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span> <span class="preprocessor"> s32 x3 = x[(xb) + 3 * (xs)]; \</span></div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span> <span class="preprocessor"> s32 a0 = x0 + x2; \</span></div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span> <span class="preprocessor"> s32 a1 = x0 + (x2 << 4); \</span></div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span> <span class="preprocessor"> s32 a2 = x0 - x2; \</span></div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span> <span class="preprocessor"> s32 a3 = x0 - (x2 << 4); \</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span> <span class="preprocessor"> s32 b0 = x1 + x3; \</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span> <span class="preprocessor"> s32 b1 = REDS1((x1 << 2) + (x3 << 6)); \</span></div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span> <span class="preprocessor"> s32 b2 = (x1 << 4) - (x3 << 4); \</span></div><div class="line"><a name="l00159"></a><span class="lineno"> 159</span> <span class="preprocessor"> s32 b3 = REDS1((x1 << 6) + (x3 << 2)); \</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span> <span class="preprocessor"> d ## 0 = a0 + b0; \</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span> <span class="preprocessor"> d ## 1 = a1 + b1; \</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span> <span class="preprocessor"> d ## 2 = a2 + b2; \</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span> <span class="preprocessor"> d ## 3 = a3 + b3; \</span></div><div class="line"><a name="l00164"></a><span class="lineno"> 164</span> <span class="preprocessor"> d ## 4 = a0 - b0; \</span></div><div class="line"><a name="l00165"></a><span class="lineno"> 165</span> <span class="preprocessor"> d ## 5 = a1 - b1; \</span></div><div class="line"><a name="l00166"></a><span class="lineno"> 166</span> <span class="preprocessor"> d ## 6 = a2 - b2; \</span></div><div class="line"><a name="l00167"></a><span class="lineno"> 167</span> <span class="preprocessor"> d ## 7 = a3 - b3; \</span></div><div class="line"><a name="l00168"></a><span class="lineno"> 168</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00169"></a><span class="lineno"> 169</span> </div><div class="line"><a name="l00170"></a><span class="lineno"> 170</span> <span class="comment">/*</span></div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span> <span class="comment"> * When k=16, we have alpha=2. Multiplication by alpha^i is then reduced</span></div><div class="line"><a name="l00172"></a><span class="lineno"> 172</span> <span class="comment"> * to some shifting.</span></div><div class="line"><a name="l00173"></a><span class="lineno"> 173</span> <span class="comment"> *</span></div><div class="line"><a name="l00174"></a><span class="lineno"> 174</span> <span class="comment"> * Output: within -591471..591723</span></div><div class="line"><a name="l00175"></a><span class="lineno"> 175</span> <span class="comment"> */</span></div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="simd_8c.html#a0c3894d1660ae5b2275ea99e18ffc8d3"> 176</a></span> <span class="preprocessor">#define FFT16(xb, xs, rb) do { \</span></div><div class="line"><a name="l00177"></a><span class="lineno"> 177</span> <span class="preprocessor"> s32 d1_0, d1_1, d1_2, d1_3, d1_4, d1_5, d1_6, d1_7; \</span></div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span> <span class="preprocessor"> s32 d2_0, d2_1, d2_2, d2_3, d2_4, d2_5, d2_6, d2_7; \</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span> <span class="preprocessor"> FFT8(xb, (xs) << 1, d1_); \</span></div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span> <span class="preprocessor"> FFT8((xb) + (xs), (xs) << 1, d2_); \</span></div><div class="line"><a name="l00181"></a><span class="lineno"> 181</span> <span class="preprocessor"> q[(rb) + 0] = d1_0 + d2_0; \</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span> <span class="preprocessor"> q[(rb) + 1] = d1_1 + (d2_1 << 1); \</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span> <span class="preprocessor"> q[(rb) + 2] = d1_2 + (d2_2 << 2); \</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span> <span class="preprocessor"> q[(rb) + 3] = d1_3 + (d2_3 << 3); \</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span> <span class="preprocessor"> q[(rb) + 4] = d1_4 + (d2_4 << 4); \</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span> <span class="preprocessor"> q[(rb) + 5] = d1_5 + (d2_5 << 5); \</span></div><div class="line"><a name="l00187"></a><span class="lineno"> 187</span> <span class="preprocessor"> q[(rb) + 6] = d1_6 + (d2_6 << 6); \</span></div><div class="line"><a name="l00188"></a><span class="lineno"> 188</span> <span class="preprocessor"> q[(rb) + 7] = d1_7 + (d2_7 << 7); \</span></div><div class="line"><a name="l00189"></a><span class="lineno"> 189</span> <span class="preprocessor"> q[(rb) + 8] = d1_0 - d2_0; \</span></div><div class="line"><a name="l00190"></a><span class="lineno"> 190</span> <span class="preprocessor"> q[(rb) + 9] = d1_1 - (d2_1 << 1); \</span></div><div class="line"><a name="l00191"></a><span class="lineno"> 191</span> <span class="preprocessor"> q[(rb) + 10] = d1_2 - (d2_2 << 2); \</span></div><div class="line"><a name="l00192"></a><span class="lineno"> 192</span> <span class="preprocessor"> q[(rb) + 11] = d1_3 - (d2_3 << 3); \</span></div><div class="line"><a name="l00193"></a><span class="lineno"> 193</span> <span class="preprocessor"> q[(rb) + 12] = d1_4 - (d2_4 << 4); \</span></div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span> <span class="preprocessor"> q[(rb) + 13] = d1_5 - (d2_5 << 5); \</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span> <span class="preprocessor"> q[(rb) + 14] = d1_6 - (d2_6 << 6); \</span></div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span> <span class="preprocessor"> q[(rb) + 15] = d1_7 - (d2_7 << 7); \</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span> </div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span> <span class="comment">/*</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span> <span class="comment"> * Output range: |q| <= 1183446</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span> <span class="comment"> */</span></div><div class="line"><a name="l00202"></a><span class="lineno"><a class="line" href="simd_8c.html#a92825180bd5c05023f379f262e17b88e"> 202</a></span> <span class="preprocessor">#define FFT32(xb, xs, rb, id) do { \</span></div><div class="line"><a name="l00203"></a><span class="lineno"> 203</span> <span class="preprocessor"> FFT16(xb, (xs) << 1, rb); \</span></div><div class="line"><a name="l00204"></a><span class="lineno"> 204</span> <span class="preprocessor"> FFT16((xb) + (xs), (xs) << 1, (rb) + 16); \</span></div><div class="line"><a name="l00205"></a><span class="lineno"> 205</span> <span class="preprocessor"> FFT_LOOP(rb, 16, 8, id); \</span></div><div class="line"><a name="l00206"></a><span class="lineno"> 206</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00207"></a><span class="lineno"> 207</span> </div><div class="line"><a name="l00208"></a><span class="lineno"> 208</span> <span class="comment">/*</span></div><div class="line"><a name="l00209"></a><span class="lineno"> 209</span> <span class="comment"> * Output range: |q| <= 2366892</span></div><div class="line"><a name="l00210"></a><span class="lineno"> 210</span> <span class="comment"> */</span></div><div class="line"><a name="l00211"></a><span class="lineno"><a class="line" href="simd_8c.html#a40c440dbda589a41ce50cab239bded92"> 211</a></span> <span class="preprocessor">#define FFT64(xb, xs, rb, id) do { \</span></div><div class="line"><a name="l00212"></a><span class="lineno"> 212</span> <span class="preprocessor"> FFT32(xb, (xs) << 1, rb, XCAT(id, a)); \</span></div><div class="line"><a name="l00213"></a><span class="lineno"> 213</span> <span class="preprocessor"> FFT32((xb) + (xs), (xs) << 1, (rb) + 32, XCAT(id, b)); \</span></div><div class="line"><a name="l00214"></a><span class="lineno"> 214</span> <span class="preprocessor"> FFT_LOOP(rb, 32, 4, id); \</span></div><div class="line"><a name="l00215"></a><span class="lineno"> 215</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00216"></a><span class="lineno"> 216</span> </div><div class="line"><a name="l00217"></a><span class="lineno"> 217</span> <span class="preprocessor">#if SPH_SMALL_FOOTPRINT_SIMD</span></div><div class="line"><a name="l00218"></a><span class="lineno"> 218</span> </div><div class="line"><a name="l00219"></a><span class="lineno"> 219</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00220"></a><span class="lineno"> 220</span> fft32(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x, <span class="keywordtype">size_t</span> xs, <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> *q)</div><div class="line"><a name="l00221"></a><span class="lineno"> 221</span> {</div><div class="line"><a name="l00222"></a><span class="lineno"> 222</span>  <span class="keywordtype">size_t</span> xd;</div><div class="line"><a name="l00223"></a><span class="lineno"> 223</span> </div><div class="line"><a name="l00224"></a><span class="lineno"> 224</span>  xd = xs << 1;</div><div class="line"><a name="l00225"></a><span class="lineno"> 225</span>  <a class="code" href="simd_8c.html#a0c3894d1660ae5b2275ea99e18ffc8d3">FFT16</a>(0, xd, 0);</div><div class="line"><a name="l00226"></a><span class="lineno"> 226</span>  <a class="code" href="simd_8c.html#a0c3894d1660ae5b2275ea99e18ffc8d3">FFT16</a>(xs, xd, 16);</div><div class="line"><a name="l00227"></a><span class="lineno"> 227</span>  <a class="code" href="simd_8c.html#a25fa9b1b965848a3411fc0b66f9f11e4">FFT_LOOP</a>(0, 16, 8, label_);</div><div class="line"><a name="l00228"></a><span class="lineno"> 228</span> }</div><div class="line"><a name="l00229"></a><span class="lineno"> 229</span> </div><div class="line"><a name="l00230"></a><span class="lineno"> 230</span> <span class="preprocessor">#define FFT128(xb, xs, rb, id) do { \</span></div><div class="line"><a name="l00231"></a><span class="lineno"> 231</span> <span class="preprocessor"> fft32(x + (xb) + ((xs) * 0), (xs) << 2, &q[(rb) + 0]); \</span></div><div class="line"><a name="l00232"></a><span class="lineno"> 232</span> <span class="preprocessor"> fft32(x + (xb) + ((xs) * 2), (xs) << 2, &q[(rb) + 32]); \</span></div><div class="line"><a name="l00233"></a><span class="lineno"> 233</span> <span class="preprocessor"> FFT_LOOP(rb, 32, 4, XCAT(id, aa)); \</span></div><div class="line"><a name="l00234"></a><span class="lineno"> 234</span> <span class="preprocessor"> fft32(x + (xb) + ((xs) * 1), (xs) << 2, &q[(rb) + 64]); \</span></div><div class="line"><a name="l00235"></a><span class="lineno"> 235</span> <span class="preprocessor"> fft32(x + (xb) + ((xs) * 3), (xs) << 2, &q[(rb) + 96]); \</span></div><div class="line"><a name="l00236"></a><span class="lineno"> 236</span> <span class="preprocessor"> FFT_LOOP((rb) + 64, 32, 4, XCAT(id, ab)); \</span></div><div class="line"><a name="l00237"></a><span class="lineno"> 237</span> <span class="preprocessor"> FFT_LOOP(rb, 64, 2, XCAT(id, a)); \</span></div><div class="line"><a name="l00238"></a><span class="lineno"> 238</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00239"></a><span class="lineno"> 239</span> </div><div class="line"><a name="l00240"></a><span class="lineno"> 240</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00241"></a><span class="lineno"> 241</span> </div><div class="line"><a name="l00242"></a><span class="lineno"> 242</span> <span class="comment">/*</span></div><div class="line"><a name="l00243"></a><span class="lineno"> 243</span> <span class="comment"> * Output range: |q| <= 4733784</span></div><div class="line"><a name="l00244"></a><span class="lineno"> 244</span> <span class="comment"> */</span></div><div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="simd_8c.html#a78730e25377e926f4070709842bc4b77"> 245</a></span> <span class="preprocessor">#define FFT128(xb, xs, rb, id) do { \</span></div><div class="line"><a name="l00246"></a><span class="lineno"> 246</span> <span class="preprocessor"> FFT64(xb, (xs) << 1, rb, XCAT(id, a)); \</span></div><div class="line"><a name="l00247"></a><span class="lineno"> 247</span> <span class="preprocessor"> FFT64((xb) + (xs), (xs) << 1, (rb) + 64, XCAT(id, b)); \</span></div><div class="line"><a name="l00248"></a><span class="lineno"> 248</span> <span class="preprocessor"> FFT_LOOP(rb, 64, 2, id); \</span></div><div class="line"><a name="l00249"></a><span class="lineno"> 249</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00250"></a><span class="lineno"> 250</span> </div><div class="line"><a name="l00251"></a><span class="lineno"> 251</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00252"></a><span class="lineno"> 252</span> </div><div class="line"><a name="l00253"></a><span class="lineno"> 253</span> <span class="comment">/*</span></div><div class="line"><a name="l00254"></a><span class="lineno"> 254</span> <span class="comment"> * For SIMD-384 / SIMD-512, the fully unrolled FFT yields a compression</span></div><div class="line"><a name="l00255"></a><span class="lineno"> 255</span> <span class="comment"> * function which does not fit in the 32 kB L1 cache of a typical x86</span></div><div class="line"><a name="l00256"></a><span class="lineno"> 256</span> <span class="comment"> * Intel. We therefore add a function call layer at the FFT64 level.</span></div><div class="line"><a name="l00257"></a><span class="lineno"> 257</span> <span class="comment"> */</span></div><div class="line"><a name="l00258"></a><span class="lineno"> 258</span> </div><div class="line"><a name="l00259"></a><span class="lineno"> 259</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00260"></a><span class="lineno"><a class="line" href="simd_8c.html#aaa7f20d77f7c816217f98de3af65f93a"> 260</a></span> <a class="code" href="simd_8c.html#aaa7f20d77f7c816217f98de3af65f93a">fft64</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x, <span class="keywordtype">size_t</span> xs, <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> *q)</div><div class="line"><a name="l00261"></a><span class="lineno"> 261</span> {</div><div class="line"><a name="l00262"></a><span class="lineno"> 262</span>  <span class="keywordtype">size_t</span> xd;</div><div class="line"><a name="l00263"></a><span class="lineno"> 263</span> </div><div class="line"><a name="l00264"></a><span class="lineno"> 264</span>  xd = xs << 1;</div><div class="line"><a name="l00265"></a><span class="lineno"> 265</span>  <a class="code" href="simd_8c.html#a92825180bd5c05023f379f262e17b88e">FFT32</a>(0, xd, 0, label_a);</div><div class="line"><a name="l00266"></a><span class="lineno"> 266</span>  <a class="code" href="simd_8c.html#a92825180bd5c05023f379f262e17b88e">FFT32</a>(xs, xd, 32, label_b);</div><div class="line"><a name="l00267"></a><span class="lineno"> 267</span>  <a class="code" href="simd_8c.html#a25fa9b1b965848a3411fc0b66f9f11e4">FFT_LOOP</a>(0, 32, 4, label_);</div><div class="line"><a name="l00268"></a><span class="lineno"> 268</span> }</div><div class="line"><a name="l00269"></a><span class="lineno"> 269</span> </div><div class="line"><a name="l00270"></a><span class="lineno"> 270</span> <span class="comment">/*</span></div><div class="line"><a name="l00271"></a><span class="lineno"> 271</span> <span class="comment"> * Output range: |q| <= 9467568</span></div><div class="line"><a name="l00272"></a><span class="lineno"> 272</span> <span class="comment"> */</span></div><div class="line"><a name="l00273"></a><span class="lineno"><a class="line" href="simd_8c.html#ad75318d8eb05024e06b6ad01c3936c01"> 273</a></span> <span class="preprocessor">#define FFT256(xb, xs, rb, id) do { \</span></div><div class="line"><a name="l00274"></a><span class="lineno"> 274</span> <span class="preprocessor"> fft64(x + (xb) + ((xs) * 0), (xs) << 2, &q[(rb) + 0]); \</span></div><div class="line"><a name="l00275"></a><span class="lineno"> 275</span> <span class="preprocessor"> fft64(x + (xb) + ((xs) * 2), (xs) << 2, &q[(rb) + 64]); \</span></div><div class="line"><a name="l00276"></a><span class="lineno"> 276</span> <span class="preprocessor"> FFT_LOOP(rb, 64, 2, XCAT(id, aa)); \</span></div><div class="line"><a name="l00277"></a><span class="lineno"> 277</span> <span class="preprocessor"> fft64(x + (xb) + ((xs) * 1), (xs) << 2, &q[(rb) + 128]); \</span></div><div class="line"><a name="l00278"></a><span class="lineno"> 278</span> <span class="preprocessor"> fft64(x + (xb) + ((xs) * 3), (xs) << 2, &q[(rb) + 192]); \</span></div><div class="line"><a name="l00279"></a><span class="lineno"> 279</span> <span class="preprocessor"> FFT_LOOP((rb) + 128, 64, 2, XCAT(id, ab)); \</span></div><div class="line"><a name="l00280"></a><span class="lineno"> 280</span> <span class="preprocessor"> FFT_LOOP(rb, 128, 1, XCAT(id, a)); \</span></div><div class="line"><a name="l00281"></a><span class="lineno"> 281</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00282"></a><span class="lineno"> 282</span> </div><div class="line"><a name="l00283"></a><span class="lineno"> 283</span> <span class="comment">/*</span></div><div class="line"><a name="l00284"></a><span class="lineno"> 284</span> <span class="comment"> * alpha^(127*i) mod 257</span></div><div class="line"><a name="l00285"></a><span class="lineno"> 285</span> <span class="comment"> */</span></div><div class="line"><a name="l00286"></a><span class="lineno"><a class="line" href="simd_8c.html#a11e39154585131689c5812810033f21e"> 286</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="simd_8c.html#a11e39154585131689c5812810033f21e">yoff_s_n</a>[] = {</div><div class="line"><a name="l00287"></a><span class="lineno"> 287</span>  1, 98, 95, 58, 30, 113, 23, 198, 129, 49, 176, 29,</div><div class="line"><a name="l00288"></a><span class="lineno"> 288</span>  15, 185, 140, 99, 193, 153, 88, 143, 136, 221, 70, 178,</div><div class="line"><a name="l00289"></a><span class="lineno"> 289</span>  225, 205, 44, 200, 68, 239, 35, 89, 241, 231, 22, 100,</div><div class="line"><a name="l00290"></a><span class="lineno"> 290</span>  34, 248, 146, 173, 249, 244, 11, 50, 17, 124, 73, 215,</div><div class="line"><a name="l00291"></a><span class="lineno"> 291</span>  253, 122, 134, 25, 137, 62, 165, 236, 255, 61, 67, 141,</div><div class="line"><a name="l00292"></a><span class="lineno"> 292</span>  197, 31, 211, 118, 256, 159, 162, 199, 227, 144, 234, 59,</div><div class="line"><a name="l00293"></a><span class="lineno"> 293</span>  128, 208, 81, 228, 242, 72, 117, 158, 64, 104, 169, 114,</div><div class="line"><a name="l00294"></a><span class="lineno"> 294</span>  121, 36, 187, 79, 32, 52, 213, 57, 189, 18, 222, 168,</div><div class="line"><a name="l00295"></a><span class="lineno"> 295</span>  16, 26, 235, 157, 223, 9, 111, 84, 8, 13, 246, 207,</div><div class="line"><a name="l00296"></a><span class="lineno"> 296</span>  240, 133, 184, 42, 4, 135, 123, 232, 120, 195, 92, 21,</div><div class="line"><a name="l00297"></a><span class="lineno"> 297</span>  2, 196, 190, 116, 60, 226, 46, 139</div><div class="line"><a name="l00298"></a><span class="lineno"> 298</span> };</div><div class="line"><a name="l00299"></a><span class="lineno"> 299</span> </div><div class="line"><a name="l00300"></a><span class="lineno"> 300</span> <span class="comment">/*</span></div><div class="line"><a name="l00301"></a><span class="lineno"> 301</span> <span class="comment"> * alpha^(127*i) + alpha^(125*i) mod 257</span></div><div class="line"><a name="l00302"></a><span class="lineno"> 302</span> <span class="comment"> */</span></div><div class="line"><a name="l00303"></a><span class="lineno"><a class="line" href="simd_8c.html#ab67a1892fcd8a65582ab9c5429798500"> 303</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="simd_8c.html#ab67a1892fcd8a65582ab9c5429798500">yoff_s_f</a>[] = {</div><div class="line"><a name="l00304"></a><span class="lineno"> 304</span>  2, 156, 118, 107, 45, 212, 111, 162, 97, 249, 211, 3,</div><div class="line"><a name="l00305"></a><span class="lineno"> 305</span>  49, 101, 151, 223, 189, 178, 253, 204, 76, 82, 232, 65,</div><div class="line"><a name="l00306"></a><span class="lineno"> 306</span>  96, 176, 161, 47, 189, 61, 248, 107, 0, 131, 133, 113,</div><div class="line"><a name="l00307"></a><span class="lineno"> 307</span>  17, 33, 12, 111, 251, 103, 57, 148, 47, 65, 249, 143,</div><div class="line"><a name="l00308"></a><span class="lineno"> 308</span>  189, 8, 204, 230, 205, 151, 187, 227, 247, 111, 140, 6,</div><div class="line"><a name="l00309"></a><span class="lineno"> 309</span>  77, 10, 21, 149, 255, 101, 139, 150, 212, 45, 146, 95,</div><div class="line"><a name="l00310"></a><span class="lineno"> 310</span>  160, 8, 46, 254, 208, 156, 106, 34, 68, 79, 4, 53,</div><div class="line"><a name="l00311"></a><span class="lineno"> 311</span>  181, 175, 25, 192, 161, 81, 96, 210, 68, 196, 9, 150,</div><div class="line"><a name="l00312"></a><span class="lineno"> 312</span>  0, 126, 124, 144, 240, 224, 245, 146, 6, 154, 200, 109,</div><div class="line"><a name="l00313"></a><span class="lineno"> 313</span>  210, 192, 8, 114, 68, 249, 53, 27, 52, 106, 70, 30,</div><div class="line"><a name="l00314"></a><span class="lineno"> 314</span>  10, 146, 117, 251, 180, 247, 236, 108</div><div class="line"><a name="l00315"></a><span class="lineno"> 315</span> };</div><div class="line"><a name="l00316"></a><span class="lineno"> 316</span> </div><div class="line"><a name="l00317"></a><span class="lineno"> 317</span> <span class="comment">/*</span></div><div class="line"><a name="l00318"></a><span class="lineno"> 318</span> <span class="comment"> * beta^(255*i) mod 257</span></div><div class="line"><a name="l00319"></a><span class="lineno"> 319</span> <span class="comment"> */</span></div><div class="line"><a name="l00320"></a><span class="lineno"><a class="line" href="simd_8c.html#a365ef58323866493550398b84926608f"> 320</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="simd_8c.html#a365ef58323866493550398b84926608f">yoff_b_n</a>[] = {</div><div class="line"><a name="l00321"></a><span class="lineno"> 321</span>  1, 163, 98, 40, 95, 65, 58, 202, 30, 7, 113, 172,</div><div class="line"><a name="l00322"></a><span class="lineno"> 322</span>  23, 151, 198, 149, 129, 210, 49, 20, 176, 161, 29, 101,</div><div class="line"><a name="l00323"></a><span class="lineno"> 323</span>  15, 132, 185, 86, 140, 204, 99, 203, 193, 105, 153, 10,</div><div class="line"><a name="l00324"></a><span class="lineno"> 324</span>  88, 209, 143, 179, 136, 66, 221, 43, 70, 102, 178, 230,</div><div class="line"><a name="l00325"></a><span class="lineno"> 325</span>  225, 181, 205, 5, 44, 233, 200, 218, 68, 33, 239, 150,</div><div class="line"><a name="l00326"></a><span class="lineno"> 326</span>  35, 51, 89, 115, 241, 219, 231, 131, 22, 245, 100, 109,</div><div class="line"><a name="l00327"></a><span class="lineno"> 327</span>  34, 145, 248, 75, 146, 154, 173, 186, 249, 238, 244, 194,</div><div class="line"><a name="l00328"></a><span class="lineno"> 328</span>  11, 251, 50, 183, 17, 201, 124, 166, 73, 77, 215, 93,</div><div class="line"><a name="l00329"></a><span class="lineno"> 329</span>  253, 119, 122, 97, 134, 254, 25, 220, 137, 229, 62, 83,</div><div class="line"><a name="l00330"></a><span class="lineno"> 330</span>  165, 167, 236, 175, 255, 188, 61, 177, 67, 127, 141, 110,</div><div class="line"><a name="l00331"></a><span class="lineno"> 331</span>  197, 243, 31, 170, 211, 212, 118, 216, 256, 94, 159, 217,</div><div class="line"><a name="l00332"></a><span class="lineno"> 332</span>  162, 192, 199, 55, 227, 250, 144, 85, 234, 106, 59, 108,</div><div class="line"><a name="l00333"></a><span class="lineno"> 333</span>  128, 47, 208, 237, 81, 96, 228, 156, 242, 125, 72, 171,</div><div class="line"><a name="l00334"></a><span class="lineno"> 334</span>  117, 53, 158, 54, 64, 152, 104, 247, 169, 48, 114, 78,</div><div class="line"><a name="l00335"></a><span class="lineno"> 335</span>  121, 191, 36, 214, 187, 155, 79, 27, 32, 76, 52, 252,</div><div class="line"><a name="l00336"></a><span class="lineno"> 336</span>  213, 24, 57, 39, 189, 224, 18, 107, 222, 206, 168, 142,</div><div class="line"><a name="l00337"></a><span class="lineno"> 337</span>  16, 38, 26, 126, 235, 12, 157, 148, 223, 112, 9, 182,</div><div class="line"><a name="l00338"></a><span class="lineno"> 338</span>  111, 103, 84, 71, 8, 19, 13, 63, 246, 6, 207, 74,</div><div class="line"><a name="l00339"></a><span class="lineno"> 339</span>  240, 56, 133, 91, 184, 180, 42, 164, 4, 138, 135, 160,</div><div class="line"><a name="l00340"></a><span class="lineno"> 340</span>  123, 3, 232, 37, 120, 28, 195, 174, 92, 90, 21, 82,</div><div class="line"><a name="l00341"></a><span class="lineno"> 341</span>  2, 69, 196, 80, 190, 130, 116, 147, 60, 14, 226, 87,</div><div class="line"><a name="l00342"></a><span class="lineno"> 342</span>  46, 45, 139, 41</div><div class="line"><a name="l00343"></a><span class="lineno"> 343</span> };</div><div class="line"><a name="l00344"></a><span class="lineno"> 344</span> </div><div class="line"><a name="l00345"></a><span class="lineno"> 345</span> <span class="comment">/*</span></div><div class="line"><a name="l00346"></a><span class="lineno"> 346</span> <span class="comment"> * beta^(255*i) + beta^(253*i) mod 257</span></div><div class="line"><a name="l00347"></a><span class="lineno"> 347</span> <span class="comment"> */</span></div><div class="line"><a name="l00348"></a><span class="lineno"><a class="line" href="simd_8c.html#a45dc2c05917a5def52fea2adb025bc51"> 348</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> <a class="code" href="simd_8c.html#a45dc2c05917a5def52fea2adb025bc51">yoff_b_f</a>[] = {</div><div class="line"><a name="l00349"></a><span class="lineno"> 349</span>  2, 203, 156, 47, 118, 214, 107, 106, 45, 93, 212, 20,</div><div class="line"><a name="l00350"></a><span class="lineno"> 350</span>  111, 73, 162, 251, 97, 215, 249, 53, 211, 19, 3, 89,</div><div class="line"><a name="l00351"></a><span class="lineno"> 351</span>  49, 207, 101, 67, 151, 130, 223, 23, 189, 202, 178, 239,</div><div class="line"><a name="l00352"></a><span class="lineno"> 352</span>  253, 127, 204, 49, 76, 236, 82, 137, 232, 157, 65, 79,</div><div class="line"><a name="l00353"></a><span class="lineno"> 353</span>  96, 161, 176, 130, 161, 30, 47, 9, 189, 247, 61, 226,</div><div class="line"><a name="l00354"></a><span class="lineno"> 354</span>  248, 90, 107, 64, 0, 88, 131, 243, 133, 59, 113, 115,</div><div class="line"><a name="l00355"></a><span class="lineno"> 355</span>  17, 236, 33, 213, 12, 191, 111, 19, 251, 61, 103, 208,</div><div class="line"><a name="l00356"></a><span class="lineno"> 356</span>  57, 35, 148, 248, 47, 116, 65, 119, 249, 178, 143, 40,</div><div class="line"><a name="l00357"></a><span class="lineno"> 357</span>  189, 129, 8, 163, 204, 227, 230, 196, 205, 122, 151, 45,</div><div class="line"><a name="l00358"></a><span class="lineno"> 358</span>  187, 19, 227, 72, 247, 125, 111, 121, 140, 220, 6, 107,</div><div class="line"><a name="l00359"></a><span class="lineno"> 359</span>  77, 69, 10, 101, 21, 65, 149, 171, 255, 54, 101, 210,</div><div class="line"><a name="l00360"></a><span class="lineno"> 360</span>  139, 43, 150, 151, 212, 164, 45, 237, 146, 184, 95, 6,</div><div class="line"><a name="l00361"></a><span class="lineno"> 361</span>  160, 42, 8, 204, 46, 238, 254, 168, 208, 50, 156, 190,</div><div class="line"><a name="l00362"></a><span class="lineno"> 362</span>  106, 127, 34, 234, 68, 55, 79, 18, 4, 130, 53, 208,</div><div class="line"><a name="l00363"></a><span class="lineno"> 363</span>  181, 21, 175, 120, 25, 100, 192, 178, 161, 96, 81, 127,</div><div class="line"><a name="l00364"></a><span class="lineno"> 364</span>  96, 227, 210, 248, 68, 10, 196, 31, 9, 167, 150, 193,</div><div class="line"><a name="l00365"></a><span class="lineno"> 365</span>  0, 169, 126, 14, 124, 198, 144, 142, 240, 21, 224, 44,</div><div class="line"><a name="l00366"></a><span class="lineno"> 366</span>  245, 66, 146, 238, 6, 196, 154, 49, 200, 222, 109, 9,</div><div class="line"><a name="l00367"></a><span class="lineno"> 367</span>  210, 141, 192, 138, 8, 79, 114, 217, 68, 128, 249, 94,</div><div class="line"><a name="l00368"></a><span class="lineno"> 368</span>  53, 30, 27, 61, 52, 135, 106, 212, 70, 238, 30, 185,</div><div class="line"><a name="l00369"></a><span class="lineno"> 369</span>  10, 132, 146, 136, 117, 37, 251, 150, 180, 188, 247, 156,</div><div class="line"><a name="l00370"></a><span class="lineno"> 370</span>  236, 192, 108, 86</div><div class="line"><a name="l00371"></a><span class="lineno"> 371</span> };</div><div class="line"><a name="l00372"></a><span class="lineno"> 372</span> </div><div class="line"><a name="l00373"></a><span class="lineno"><a class="line" href="simd_8c.html#a18c40d42795129cf796149faa4a9af5f"> 373</a></span> <span class="preprocessor">#define INNER(l, h, mm) (((u32)((l) * (mm)) & 0xFFFFU) \</span></div><div class="line"><a name="l00374"></a><span class="lineno"> 374</span> <span class="preprocessor"> + ((u32)((h) * (mm)) << 16))</span></div><div class="line"><a name="l00375"></a><span class="lineno"> 375</span> </div><div class="line"><a name="l00376"></a><span class="lineno"><a class="line" href="simd_8c.html#a3c2710355ccd69759edb0a7f341451c5"> 376</a></span> <span class="preprocessor">#define W_SMALL(sb, o1, o2, mm) \</span></div><div class="line"><a name="l00377"></a><span class="lineno"> 377</span> <span class="preprocessor"> (INNER(q[8 * (sb) + 2 * 0 + o1], q[8 * (sb) + 2 * 0 + o2], mm), \</span></div><div class="line"><a name="l00378"></a><span class="lineno"> 378</span> <span class="preprocessor"> INNER(q[8 * (sb) + 2 * 1 + o1], q[8 * (sb) + 2 * 1 + o2], mm), \</span></div><div class="line"><a name="l00379"></a><span class="lineno"> 379</span> <span class="preprocessor"> INNER(q[8 * (sb) + 2 * 2 + o1], q[8 * (sb) + 2 * 2 + o2], mm), \</span></div><div class="line"><a name="l00380"></a><span class="lineno"> 380</span> <span class="preprocessor"> INNER(q[8 * (sb) + 2 * 3 + o1], q[8 * (sb) + 2 * 3 + o2], mm)</span></div><div class="line"><a name="l00381"></a><span class="lineno"> 381</span> </div><div class="line"><a name="l00382"></a><span class="lineno"><a class="line" href="simd_8c.html#a36e4123d16b890ad25e153f7e9b90e5a"> 382</a></span> <span class="preprocessor">#define WS_0_0 W_SMALL( 4, 0, 1, 185)</span></div><div class="line"><a name="l00383"></a><span class="lineno"><a class="line" href="simd_8c.html#a6478b0a08ce5b8fec9c1f8e17f04dca7"> 383</a></span> <span class="preprocessor">#define WS_0_1 W_SMALL( 6, 0, 1, 185)</span></div><div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="simd_8c.html#a8ee67da3543a26abc2c5a633756984a1"> 384</a></span> <span class="preprocessor">#define WS_0_2 W_SMALL( 0, 0, 1, 185)</span></div><div class="line"><a name="l00385"></a><span class="lineno"><a class="line" href="simd_8c.html#a429c47d1a458f8d5c36abe2c950efe61"> 385</a></span> <span class="preprocessor">#define WS_0_3 W_SMALL( 2, 0, 1, 185)</span></div><div class="line"><a name="l00386"></a><span class="lineno"><a class="line" href="simd_8c.html#a2bb15a9eee39068f6696e1c1f711b195"> 386</a></span> <span class="preprocessor">#define WS_0_4 W_SMALL( 7, 0, 1, 185)</span></div><div class="line"><a name="l00387"></a><span class="lineno"><a class="line" href="simd_8c.html#a478aca012c1b14aa8f48f01ef31bc2cb"> 387</a></span> <span class="preprocessor">#define WS_0_5 W_SMALL( 5, 0, 1, 185)</span></div><div class="line"><a name="l00388"></a><span class="lineno"><a class="line" href="simd_8c.html#af641632331b90c4ef483127ad434b035"> 388</a></span> <span class="preprocessor">#define WS_0_6 W_SMALL( 3, 0, 1, 185)</span></div><div class="line"><a name="l00389"></a><span class="lineno"><a class="line" href="simd_8c.html#ac4e0f47672fe232bc7135acce76b78f7"> 389</a></span> <span class="preprocessor">#define WS_0_7 W_SMALL( 1, 0, 1, 185)</span></div><div class="line"><a name="l00390"></a><span class="lineno"><a class="line" href="simd_8c.html#a5b791d66949791261b2d3596f7e26a98"> 390</a></span> <span class="preprocessor">#define WS_1_0 W_SMALL(15, 0, 1, 185)</span></div><div class="line"><a name="l00391"></a><span class="lineno"><a class="line" href="simd_8c.html#a67b4324b7750c316db9eb80c48002939"> 391</a></span> <span class="preprocessor">#define WS_1_1 W_SMALL(11, 0, 1, 185)</span></div><div class="line"><a name="l00392"></a><span class="lineno"><a class="line" href="simd_8c.html#a2e6dad35f888d63d643f54acd432e660"> 392</a></span> <span class="preprocessor">#define WS_1_2 W_SMALL(12, 0, 1, 185)</span></div><div class="line"><a name="l00393"></a><span class="lineno"><a class="line" href="simd_8c.html#a0e3f7b680250869459e6d1cd0c49f762"> 393</a></span> <span class="preprocessor">#define WS_1_3 W_SMALL( 8, 0, 1, 185)</span></div><div class="line"><a name="l00394"></a><span class="lineno"><a class="line" href="simd_8c.html#a0d45340f5e66c9de43e1bedd2166ce3a"> 394</a></span> <span class="preprocessor">#define WS_1_4 W_SMALL( 9, 0, 1, 185)</span></div><div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="simd_8c.html#a1d1786d16bc6c947f46c855c1e7fd8e5"> 395</a></span> <span class="preprocessor">#define WS_1_5 W_SMALL(13, 0, 1, 185)</span></div><div class="line"><a name="l00396"></a><span class="lineno"><a class="line" href="simd_8c.html#ae4ff2d00e17197ffee921389e7eee3c6"> 396</a></span> <span class="preprocessor">#define WS_1_6 W_SMALL(10, 0, 1, 185)</span></div><div class="line"><a name="l00397"></a><span class="lineno"><a class="line" href="simd_8c.html#a6a258b0d4eb480fa999df12f19c8aa6f"> 397</a></span> <span class="preprocessor">#define WS_1_7 W_SMALL(14, 0, 1, 185)</span></div><div class="line"><a name="l00398"></a><span class="lineno"><a class="line" href="simd_8c.html#a34ad013bcde15e43791fb5be65076de0"> 398</a></span> <span class="preprocessor">#define WS_2_0 W_SMALL(17, -128, -64, 233)</span></div><div class="line"><a name="l00399"></a><span class="lineno"><a class="line" href="simd_8c.html#ae7ab5eb906f4da9c11cd5f9da8962432"> 399</a></span> <span class="preprocessor">#define WS_2_1 W_SMALL(18, -128, -64, 233)</span></div><div class="line"><a name="l00400"></a><span class="lineno"><a class="line" href="simd_8c.html#abe063d5dc75ef60fa494f2f1344416d7"> 400</a></span> <span class="preprocessor">#define WS_2_2 W_SMALL(23, -128, -64, 233)</span></div><div class="line"><a name="l00401"></a><span class="lineno"><a class="line" href="simd_8c.html#a5a7c7e1b01a6c1f9d56824b910a93f1a"> 401</a></span> <span class="preprocessor">#define WS_2_3 W_SMALL(20, -128, -64, 233)</span></div><div class="line"><a name="l00402"></a><span class="lineno"><a class="line" href="simd_8c.html#a51336855a447e4159903b59a85632098"> 402</a></span> <span class="preprocessor">#define WS_2_4 W_SMALL(22, -128, -64, 233)</span></div><div class="line"><a name="l00403"></a><span class="lineno"><a class="line" href="simd_8c.html#aa49e03663f5ae5aa01aa77ccbc77744d"> 403</a></span> <span class="preprocessor">#define WS_2_5 W_SMALL(21, -128, -64, 233)</span></div><div class="line"><a name="l00404"></a><span class="lineno"><a class="line" href="simd_8c.html#aff1d590cf539e40581ae2a687547036d"> 404</a></span> <span class="preprocessor">#define WS_2_6 W_SMALL(16, -128, -64, 233)</span></div><div class="line"><a name="l00405"></a><span class="lineno"><a class="line" href="simd_8c.html#a91282a9332f0e8d14db108b268f662e6"> 405</a></span> <span class="preprocessor">#define WS_2_7 W_SMALL(19, -128, -64, 233)</span></div><div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="simd_8c.html#a3a33f54bdf7ee8f10f4629f07b813854"> 406</a></span> <span class="preprocessor">#define WS_3_0 W_SMALL(30, -191, -127, 233)</span></div><div class="line"><a name="l00407"></a><span class="lineno"><a class="line" href="simd_8c.html#ab099890117afd0194e79f365609cfed8"> 407</a></span> <span class="preprocessor">#define WS_3_1 W_SMALL(24, -191, -127, 233)</span></div><div class="line"><a name="l00408"></a><span class="lineno"><a class="line" href="simd_8c.html#a16db085dd90a46e84701f01fd7d564cb"> 408</a></span> <span class="preprocessor">#define WS_3_2 W_SMALL(25, -191, -127, 233)</span></div><div class="line"><a name="l00409"></a><span class="lineno"><a class="line" href="simd_8c.html#a6908eaee5ef4de58d11b1496d8fef6c5"> 409</a></span> <span class="preprocessor">#define WS_3_3 W_SMALL(31, -191, -127, 233)</span></div><div class="line"><a name="l00410"></a><span class="lineno"><a class="line" href="simd_8c.html#a91bb0301002956e8d4035a04c975ad5d"> 410</a></span> <span class="preprocessor">#define WS_3_4 W_SMALL(27, -191, -127, 233)</span></div><div class="line"><a name="l00411"></a><span class="lineno"><a class="line" href="simd_8c.html#aa02dfb074c313f34b78ce163ce454e43"> 411</a></span> <span class="preprocessor">#define WS_3_5 W_SMALL(29, -191, -127, 233)</span></div><div class="line"><a name="l00412"></a><span class="lineno"><a class="line" href="simd_8c.html#a3d9c73ae848a4482be493a8035d77f1a"> 412</a></span> <span class="preprocessor">#define WS_3_6 W_SMALL(28, -191, -127, 233)</span></div><div class="line"><a name="l00413"></a><span class="lineno"><a class="line" href="simd_8c.html#a88b9f5a7ca786ce82109fce34c815db8"> 413</a></span> <span class="preprocessor">#define WS_3_7 W_SMALL(26, -191, -127, 233)</span></div><div class="line"><a name="l00414"></a><span class="lineno"> 414</span> </div><div class="line"><a name="l00415"></a><span class="lineno"><a class="line" href="simd_8c.html#aa9128632c74bcb3602b2f2cd87e3eeaa"> 415</a></span> <span class="preprocessor">#define W_BIG(sb, o1, o2, mm) \</span></div><div class="line"><a name="l00416"></a><span class="lineno"> 416</span> <span class="preprocessor"> (INNER(q[16 * (sb) + 2 * 0 + o1], q[16 * (sb) + 2 * 0 + o2], mm), \</span></div><div class="line"><a name="l00417"></a><span class="lineno"> 417</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 1 + o1], q[16 * (sb) + 2 * 1 + o2], mm), \</span></div><div class="line"><a name="l00418"></a><span class="lineno"> 418</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 2 + o1], q[16 * (sb) + 2 * 2 + o2], mm), \</span></div><div class="line"><a name="l00419"></a><span class="lineno"> 419</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 3 + o1], q[16 * (sb) + 2 * 3 + o2], mm), \</span></div><div class="line"><a name="l00420"></a><span class="lineno"> 420</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 4 + o1], q[16 * (sb) + 2 * 4 + o2], mm), \</span></div><div class="line"><a name="l00421"></a><span class="lineno"> 421</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 5 + o1], q[16 * (sb) + 2 * 5 + o2], mm), \</span></div><div class="line"><a name="l00422"></a><span class="lineno"> 422</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 6 + o1], q[16 * (sb) + 2 * 6 + o2], mm), \</span></div><div class="line"><a name="l00423"></a><span class="lineno"> 423</span> <span class="preprocessor"> INNER(q[16 * (sb) + 2 * 7 + o1], q[16 * (sb) + 2 * 7 + o2], mm)</span></div><div class="line"><a name="l00424"></a><span class="lineno"> 424</span> </div><div class="line"><a name="l00425"></a><span class="lineno"><a class="line" href="simd_8c.html#ada2f251208a5b8e0d914a7c417df74dc"> 425</a></span> <span class="preprocessor">#define WB_0_0 W_BIG( 4, 0, 1, 185)</span></div><div class="line"><a name="l00426"></a><span class="lineno"><a class="line" href="simd_8c.html#a2a8a24c39151a9abc03e8b0f3d6c39bc"> 426</a></span> <span class="preprocessor">#define WB_0_1 W_BIG( 6, 0, 1, 185)</span></div><div class="line"><a name="l00427"></a><span class="lineno"><a class="line" href="simd_8c.html#a7e49fd9c844cff59c4b566918168e00d"> 427</a></span> <span class="preprocessor">#define WB_0_2 W_BIG( 0, 0, 1, 185)</span></div><div class="line"><a name="l00428"></a><span class="lineno"><a class="line" href="simd_8c.html#acfaa41fdc2e21ce2fc19eb4fe7263114"> 428</a></span> <span class="preprocessor">#define WB_0_3 W_BIG( 2, 0, 1, 185)</span></div><div class="line"><a name="l00429"></a><span class="lineno"><a class="line" href="simd_8c.html#a09d546efbd8a6530688ec7c3507d9341"> 429</a></span> <span class="preprocessor">#define WB_0_4 W_BIG( 7, 0, 1, 185)</span></div><div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="simd_8c.html#a8d18ba725d500d70ed28b808b44cb3dc"> 430</a></span> <span class="preprocessor">#define WB_0_5 W_BIG( 5, 0, 1, 185)</span></div><div class="line"><a name="l00431"></a><span class="lineno"><a class="line" href="simd_8c.html#a8af1ba4a200f620e2385eb500e238ba6"> 431</a></span> <span class="preprocessor">#define WB_0_6 W_BIG( 3, 0, 1, 185)</span></div><div class="line"><a name="l00432"></a><span class="lineno"><a class="line" href="simd_8c.html#a988d330f9f16ac1a425c1e34783f7639"> 432</a></span> <span class="preprocessor">#define WB_0_7 W_BIG( 1, 0, 1, 185)</span></div><div class="line"><a name="l00433"></a><span class="lineno"><a class="line" href="simd_8c.html#aa637ee65c3501329cec20ce5043d495d"> 433</a></span> <span class="preprocessor">#define WB_1_0 W_BIG(15, 0, 1, 185)</span></div><div class="line"><a name="l00434"></a><span class="lineno"><a class="line" href="simd_8c.html#aab486d6806deb76b7e16fc44addefee4"> 434</a></span> <span class="preprocessor">#define WB_1_1 W_BIG(11, 0, 1, 185)</span></div><div class="line"><a name="l00435"></a><span class="lineno"><a class="line" href="simd_8c.html#ab0ad71e26b3dbfd1fb9b38966615344f"> 435</a></span> <span class="preprocessor">#define WB_1_2 W_BIG(12, 0, 1, 185)</span></div><div class="line"><a name="l00436"></a><span class="lineno"><a class="line" href="simd_8c.html#a4b5ce184bb9541580393a5ecb8fb307d"> 436</a></span> <span class="preprocessor">#define WB_1_3 W_BIG( 8, 0, 1, 185)</span></div><div class="line"><a name="l00437"></a><span class="lineno"><a class="line" href="simd_8c.html#ae51f0a0bcd06b8677df4af704fae65f5"> 437</a></span> <span class="preprocessor">#define WB_1_4 W_BIG( 9, 0, 1, 185)</span></div><div class="line"><a name="l00438"></a><span class="lineno"><a class="line" href="simd_8c.html#ab7784e9f7daf5b02966086faef9513d6"> 438</a></span> <span class="preprocessor">#define WB_1_5 W_BIG(13, 0, 1, 185)</span></div><div class="line"><a name="l00439"></a><span class="lineno"><a class="line" href="simd_8c.html#ab98fa54a1c88c009b9ee5665c130711c"> 439</a></span> <span class="preprocessor">#define WB_1_6 W_BIG(10, 0, 1, 185)</span></div><div class="line"><a name="l00440"></a><span class="lineno"><a class="line" href="simd_8c.html#a3d63ec3de76cba77a8d9ea7a527ddd57"> 440</a></span> <span class="preprocessor">#define WB_1_7 W_BIG(14, 0, 1, 185)</span></div><div class="line"><a name="l00441"></a><span class="lineno"><a class="line" href="simd_8c.html#a5aea73644be1f4d7fffc336a131e3777"> 441</a></span> <span class="preprocessor">#define WB_2_0 W_BIG(17, -256, -128, 233)</span></div><div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="simd_8c.html#abe0bb0e32414fb5e345718029f29d864"> 442</a></span> <span class="preprocessor">#define WB_2_1 W_BIG(18, -256, -128, 233)</span></div><div class="line"><a name="l00443"></a><span class="lineno"><a class="line" href="simd_8c.html#a932adcf1f23ddbfc048daac85ca9ee1c"> 443</a></span> <span class="preprocessor">#define WB_2_2 W_BIG(23, -256, -128, 233)</span></div><div class="line"><a name="l00444"></a><span class="lineno"><a class="line" href="simd_8c.html#ab4488ee49798be070d8197c91bd1cb08"> 444</a></span> <span class="preprocessor">#define WB_2_3 W_BIG(20, -256, -128, 233)</span></div><div class="line"><a name="l00445"></a><span class="lineno"><a class="line" href="simd_8c.html#ade5a48a0ad8b7fb46bc846288181ab72"> 445</a></span> <span class="preprocessor">#define WB_2_4 W_BIG(22, -256, -128, 233)</span></div><div class="line"><a name="l00446"></a><span class="lineno"><a class="line" href="simd_8c.html#a8fd1130294b1c40b44d25e9f9889753c"> 446</a></span> <span class="preprocessor">#define WB_2_5 W_BIG(21, -256, -128, 233)</span></div><div class="line"><a name="l00447"></a><span class="lineno"><a class="line" href="simd_8c.html#a20ac47c7e16ccc8b3099cbe5ca4045ff"> 447</a></span> <span class="preprocessor">#define WB_2_6 W_BIG(16, -256, -128, 233)</span></div><div class="line"><a name="l00448"></a><span class="lineno"><a class="line" href="simd_8c.html#aaf7bff1ebc453fb4012084edf5b73698"> 448</a></span> <span class="preprocessor">#define WB_2_7 W_BIG(19, -256, -128, 233)</span></div><div class="line"><a name="l00449"></a><span class="lineno"><a class="line" href="simd_8c.html#ac35983fe9fde4ceeb8d98d61300fb9d8"> 449</a></span> <span class="preprocessor">#define WB_3_0 W_BIG(30, -383, -255, 233)</span></div><div class="line"><a name="l00450"></a><span class="lineno"><a class="line" href="simd_8c.html#a2ff0615e0c911d5269e14c87d92aeff8"> 450</a></span> <span class="preprocessor">#define WB_3_1 W_BIG(24, -383, -255, 233)</span></div><div class="line"><a name="l00451"></a><span class="lineno"><a class="line" href="simd_8c.html#a238edd5b05c2745140fcddc0d31748de"> 451</a></span> <span class="preprocessor">#define WB_3_2 W_BIG(25, -383, -255, 233)</span></div><div class="line"><a name="l00452"></a><span class="lineno"><a class="line" href="simd_8c.html#a8874fe7d0367a2ea6675e8f4e2a63e81"> 452</a></span> <span class="preprocessor">#define WB_3_3 W_BIG(31, -383, -255, 233)</span></div><div class="line"><a name="l00453"></a><span class="lineno"><a class="line" href="simd_8c.html#a2a13251f2d692c4eae3d27c5123dce5a"> 453</a></span> <span class="preprocessor">#define WB_3_4 W_BIG(27, -383, -255, 233)</span></div><div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="simd_8c.html#aef3e7e4a25b6f58a8000654a1d308ae4"> 454</a></span> <span class="preprocessor">#define WB_3_5 W_BIG(29, -383, -255, 233)</span></div><div class="line"><a name="l00455"></a><span class="lineno"><a class="line" href="simd_8c.html#a105ef7c24621506eaa8e15c97db3be07"> 455</a></span> <span class="preprocessor">#define WB_3_6 W_BIG(28, -383, -255, 233)</span></div><div class="line"><a name="l00456"></a><span class="lineno"><a class="line" href="simd_8c.html#a09b94a89c4bdefb41fc494612bc32ea9"> 456</a></span> <span class="preprocessor">#define WB_3_7 W_BIG(26, -383, -255, 233)</span></div><div class="line"><a name="l00457"></a><span class="lineno"> 457</span> </div><div class="line"><a name="l00458"></a><span class="lineno"><a class="line" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926"> 458</a></span> <span class="preprocessor">#define IF(x, y, z) ((((y) ^ (z)) & (x)) ^ (z))</span></div><div class="line"><a name="l00459"></a><span class="lineno"><a class="line" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9"> 459</a></span> <span class="preprocessor">#define MAJ(x, y, z) (((x) & (y)) | (((x) | (y)) & (z)))</span></div><div class="line"><a name="l00460"></a><span class="lineno"> 460</span> </div><div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="simd_8c.html#a2d9d29db84d5255e1762edea90fd03f4"> 461</a></span> <span class="preprocessor">#define PP4_0_0 1</span></div><div class="line"><a name="l00462"></a><span class="lineno"><a class="line" href="simd_8c.html#a04c483ea0474d4df4e2d828f0de06b6d"> 462</a></span> <span class="preprocessor">#define PP4_0_1 0</span></div><div class="line"><a name="l00463"></a><span class="lineno"><a class="line" href="simd_8c.html#a87697cedd80099ff216e94db6616fbca"> 463</a></span> <span class="preprocessor">#define PP4_0_2 3</span></div><div class="line"><a name="l00464"></a><span class="lineno"><a class="line" href="simd_8c.html#a63d47e52144a5b124a7fac37582426b8"> 464</a></span> <span class="preprocessor">#define PP4_0_3 2</span></div><div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="simd_8c.html#a401e33cfd7b700c46ab54d98b388ad23"> 465</a></span> <span class="preprocessor">#define PP4_1_0 2</span></div><div class="line"><a name="l00466"></a><span class="lineno"><a class="line" href="simd_8c.html#a07dfbcbb3d85cdf114d4f3a61122169c"> 466</a></span> <span class="preprocessor">#define PP4_1_1 3</span></div><div class="line"><a name="l00467"></a><span class="lineno"><a class="line" href="simd_8c.html#aaa834ab03236c20062a48b3a9f18f744"> 467</a></span> <span class="preprocessor">#define PP4_1_2 0</span></div><div class="line"><a name="l00468"></a><span class="lineno"><a class="line" href="simd_8c.html#a6057f501ecd6ee455297306cc7ff6ca3"> 468</a></span> <span class="preprocessor">#define PP4_1_3 1</span></div><div class="line"><a name="l00469"></a><span class="lineno"><a class="line" href="simd_8c.html#aa1488044b5ab71a769efdca0a36a7be9"> 469</a></span> <span class="preprocessor">#define PP4_2_0 3</span></div><div class="line"><a name="l00470"></a><span class="lineno"><a class="line" href="simd_8c.html#a45bf768c9b461a3fcf0bdb5e6fab8589"> 470</a></span> <span class="preprocessor">#define PP4_2_1 2</span></div><div class="line"><a name="l00471"></a><span class="lineno"><a class="line" href="simd_8c.html#ac9117d01286f9ee5db4b5d89b776fd7b"> 471</a></span> <span class="preprocessor">#define PP4_2_2 1</span></div><div class="line"><a name="l00472"></a><span class="lineno"><a class="line" href="simd_8c.html#a8de463736d1c28b2f004fc61a26c11cb"> 472</a></span> <span class="preprocessor">#define PP4_2_3 0</span></div><div class="line"><a name="l00473"></a><span class="lineno"> 473</span> </div><div class="line"><a name="l00474"></a><span class="lineno"><a class="line" href="simd_8c.html#ab34cb0776e92fe53a61787ed662031b6"> 474</a></span> <span class="preprocessor">#define PP8_0_0 1</span></div><div class="line"><a name="l00475"></a><span class="lineno"><a class="line" href="simd_8c.html#aee12f52d76ad02e4267cc57189abafe9"> 475</a></span> <span class="preprocessor">#define PP8_0_1 0</span></div><div class="line"><a name="l00476"></a><span class="lineno"><a class="line" href="simd_8c.html#a6b6825634c383c01478e8667323bb74f"> 476</a></span> <span class="preprocessor">#define PP8_0_2 3</span></div><div class="line"><a name="l00477"></a><span class="lineno"><a class="line" href="simd_8c.html#afa53560c12b8f6c29048046c31c6c284"> 477</a></span> <span class="preprocessor">#define PP8_0_3 2</span></div><div class="line"><a name="l00478"></a><span class="lineno"><a class="line" href="simd_8c.html#ad78add3c043f91c95e5bed4ce698d88d"> 478</a></span> <span class="preprocessor">#define PP8_0_4 5</span></div><div class="line"><a name="l00479"></a><span class="lineno"><a class="line" href="simd_8c.html#abdfdf7d0eb869be99d23e549b71e6782"> 479</a></span> <span class="preprocessor">#define PP8_0_5 4</span></div><div class="line"><a name="l00480"></a><span class="lineno"><a class="line" href="simd_8c.html#ac2ed0a68d790dab5f1c2b8dd46b4854c"> 480</a></span> <span class="preprocessor">#define PP8_0_6 7</span></div><div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="simd_8c.html#a9fa78ef41b00f32af37735644de58ce3"> 481</a></span> <span class="preprocessor">#define PP8_0_7 6</span></div><div class="line"><a name="l00482"></a><span class="lineno"> 482</span> </div><div class="line"><a name="l00483"></a><span class="lineno"><a class="line" href="simd_8c.html#aec5f6e6c066402b9216811c1b2f72113"> 483</a></span> <span class="preprocessor">#define PP8_1_0 6</span></div><div class="line"><a name="l00484"></a><span class="lineno"><a class="line" href="simd_8c.html#af6e144b99b1434edbbdea493e9ebc6bb"> 484</a></span> <span class="preprocessor">#define PP8_1_1 7</span></div><div class="line"><a name="l00485"></a><span class="lineno"><a class="line" href="simd_8c.html#aa860d447e485f4a0d514702500a09a46"> 485</a></span> <span class="preprocessor">#define PP8_1_2 4</span></div><div class="line"><a name="l00486"></a><span class="lineno"><a class="line" href="simd_8c.html#a7cd4d9cb586d711937726982fe2d03b9"> 486</a></span> <span class="preprocessor">#define PP8_1_3 5</span></div><div class="line"><a name="l00487"></a><span class="lineno"><a class="line" href="simd_8c.html#acde70bd81b7949ca2e95a1afe5f50ca8"> 487</a></span> <span class="preprocessor">#define PP8_1_4 2</span></div><div class="line"><a name="l00488"></a><span class="lineno"><a class="line" href="simd_8c.html#a41cfe03f21b572b33d9f6c59de5fb97d"> 488</a></span> <span class="preprocessor">#define PP8_1_5 3</span></div><div class="line"><a name="l00489"></a><span class="lineno"><a class="line" href="simd_8c.html#ae321cbb52514bdd8415270f9a6a75651"> 489</a></span> <span class="preprocessor">#define PP8_1_6 0</span></div><div class="line"><a name="l00490"></a><span class="lineno"><a class="line" href="simd_8c.html#a051fc34052663ecffae86f6bc8bc7b1d"> 490</a></span> <span class="preprocessor">#define PP8_1_7 1</span></div><div class="line"><a name="l00491"></a><span class="lineno"> 491</span> </div><div class="line"><a name="l00492"></a><span class="lineno"><a class="line" href="simd_8c.html#a2aa55ae29f327dd7e8b9cdab5c0fc96b"> 492</a></span> <span class="preprocessor">#define PP8_2_0 2</span></div><div class="line"><a name="l00493"></a><span class="lineno"><a class="line" href="simd_8c.html#a2935b776108bc5a2e8374098bcfbc4ed"> 493</a></span> <span class="preprocessor">#define PP8_2_1 3</span></div><div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="simd_8c.html#a768295db24572d3ffca0aca722c504f8"> 494</a></span> <span class="preprocessor">#define PP8_2_2 0</span></div><div class="line"><a name="l00495"></a><span class="lineno"><a class="line" href="simd_8c.html#a9d9f1c5372579c2d96d07405c10934dc"> 495</a></span> <span class="preprocessor">#define PP8_2_3 1</span></div><div class="line"><a name="l00496"></a><span class="lineno"><a class="line" href="simd_8c.html#af4b760ea326f15f099aca86db3927672"> 496</a></span> <span class="preprocessor">#define PP8_2_4 6</span></div><div class="line"><a name="l00497"></a><span class="lineno"><a class="line" href="simd_8c.html#aba427208a84e644ed9eabf0947be3215"> 497</a></span> <span class="preprocessor">#define PP8_2_5 7</span></div><div class="line"><a name="l00498"></a><span class="lineno"><a class="line" href="simd_8c.html#a0ae49a3c045bcb461fb3aea8cb3b0836"> 498</a></span> <span class="preprocessor">#define PP8_2_6 4</span></div><div class="line"><a name="l00499"></a><span class="lineno"><a class="line" href="simd_8c.html#a5824e79df66c4d099a37c3e53b9f791c"> 499</a></span> <span class="preprocessor">#define PP8_2_7 5</span></div><div class="line"><a name="l00500"></a><span class="lineno"> 500</span> </div><div class="line"><a name="l00501"></a><span class="lineno"><a class="line" href="simd_8c.html#a78b34784fe0888e2ede67ba02ac29077"> 501</a></span> <span class="preprocessor">#define PP8_3_0 3</span></div><div class="line"><a name="l00502"></a><span class="lineno"><a class="line" href="simd_8c.html#a866f71b2927830228b27317d43455b91"> 502</a></span> <span class="preprocessor">#define PP8_3_1 2</span></div><div class="line"><a name="l00503"></a><span class="lineno"><a class="line" href="simd_8c.html#a1cdcb90d032c42ec86a693bd2fd8c65b"> 503</a></span> <span class="preprocessor">#define PP8_3_2 1</span></div><div class="line"><a name="l00504"></a><span class="lineno"><a class="line" href="simd_8c.html#a8b1f98e1a0b1dacad855bd99435af352"> 504</a></span> <span class="preprocessor">#define PP8_3_3 0</span></div><div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="simd_8c.html#a1f0bbc1091802aede836f36c6f219a17"> 505</a></span> <span class="preprocessor">#define PP8_3_4 7</span></div><div class="line"><a name="l00506"></a><span class="lineno"><a class="line" href="simd_8c.html#af3f40afd71891b0f723789688d5352bf"> 506</a></span> <span class="preprocessor">#define PP8_3_5 6</span></div><div class="line"><a name="l00507"></a><span class="lineno"><a class="line" href="simd_8c.html#a13dd99a33c2899f6b2db75a0c9f775e7"> 507</a></span> <span class="preprocessor">#define PP8_3_6 5</span></div><div class="line"><a name="l00508"></a><span class="lineno"><a class="line" href="simd_8c.html#a33f3da89b467d6f062bfa184cc387a93"> 508</a></span> <span class="preprocessor">#define PP8_3_7 4</span></div><div class="line"><a name="l00509"></a><span class="lineno"> 509</span> </div><div class="line"><a name="l00510"></a><span class="lineno"><a class="line" href="simd_8c.html#a3e73c99434585b5b34efa99d4f0f3d45"> 510</a></span> <span class="preprocessor">#define PP8_4_0 5</span></div><div class="line"><a name="l00511"></a><span class="lineno"><a class="line" href="simd_8c.html#a56d6f910464e434bb4286c1f0f27030a"> 511</a></span> <span class="preprocessor">#define PP8_4_1 4</span></div><div class="line"><a name="l00512"></a><span class="lineno"><a class="line" href="simd_8c.html#a9160ca492d072c50e14b02750e82d7eb"> 512</a></span> <span class="preprocessor">#define PP8_4_2 7</span></div><div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="simd_8c.html#aea7b678a5e3c28a8529603597af3ab5a"> 513</a></span> <span class="preprocessor">#define PP8_4_3 6</span></div><div class="line"><a name="l00514"></a><span class="lineno"><a class="line" href="simd_8c.html#a06df83b29950750f9d73faa91faf597c"> 514</a></span> <span class="preprocessor">#define PP8_4_4 1</span></div><div class="line"><a name="l00515"></a><span class="lineno"><a class="line" href="simd_8c.html#aa1f0359f75bc04aeea67799813905f10"> 515</a></span> <span class="preprocessor">#define PP8_4_5 0</span></div><div class="line"><a name="l00516"></a><span class="lineno"><a class="line" href="simd_8c.html#a364cb16962cdc3b4d0feaffce7fe1d2b"> 516</a></span> <span class="preprocessor">#define PP8_4_6 3</span></div><div class="line"><a name="l00517"></a><span class="lineno"><a class="line" href="simd_8c.html#afb80d81348aa825e08808226a2034144"> 517</a></span> <span class="preprocessor">#define PP8_4_7 2</span></div><div class="line"><a name="l00518"></a><span class="lineno"> 518</span> </div><div class="line"><a name="l00519"></a><span class="lineno"><a class="line" href="simd_8c.html#adec5abe657a1a27f8671108562fef98c"> 519</a></span> <span class="preprocessor">#define PP8_5_0 7</span></div><div class="line"><a name="l00520"></a><span class="lineno"><a class="line" href="simd_8c.html#a12b07034ebcf197123dc2b2612a5b550"> 520</a></span> <span class="preprocessor">#define PP8_5_1 6</span></div><div class="line"><a name="l00521"></a><span class="lineno"><a class="line" href="simd_8c.html#abd2376b1ca13e80ffdd7acda09f59a7e"> 521</a></span> <span class="preprocessor">#define PP8_5_2 5</span></div><div class="line"><a name="l00522"></a><span class="lineno"><a class="line" href="simd_8c.html#a13cc339babbedabe02fb37c757695a32"> 522</a></span> <span class="preprocessor">#define PP8_5_3 4</span></div><div class="line"><a name="l00523"></a><span class="lineno"><a class="line" href="simd_8c.html#a2d1987a513189b15a21be217923676f2"> 523</a></span> <span class="preprocessor">#define PP8_5_4 3</span></div><div class="line"><a name="l00524"></a><span class="lineno"><a class="line" href="simd_8c.html#aff6550ff34ad4692f3a304d6e4b74ea0"> 524</a></span> <span class="preprocessor">#define PP8_5_5 2</span></div><div class="line"><a name="l00525"></a><span class="lineno"><a class="line" href="simd_8c.html#a2d28c61fe414d6a23a190e581e80500a"> 525</a></span> <span class="preprocessor">#define PP8_5_6 1</span></div><div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="simd_8c.html#a4978b01e3dba54a08a547b23f508510c"> 526</a></span> <span class="preprocessor">#define PP8_5_7 0</span></div><div class="line"><a name="l00527"></a><span class="lineno"> 527</span> </div><div class="line"><a name="l00528"></a><span class="lineno"><a class="line" href="simd_8c.html#ac18fa17b8bde2c7b486bf1259c219ac9"> 528</a></span> <span class="preprocessor">#define PP8_6_0 4</span></div><div class="line"><a name="l00529"></a><span class="lineno"><a class="line" href="simd_8c.html#a2fe29ea2ef83893b5eb27ad3b45444e8"> 529</a></span> <span class="preprocessor">#define PP8_6_1 5</span></div><div class="line"><a name="l00530"></a><span class="lineno"><a class="line" href="simd_8c.html#a8a87b3840b984bf5013b69d82196e9a3"> 530</a></span> <span class="preprocessor">#define PP8_6_2 6</span></div><div class="line"><a name="l00531"></a><span class="lineno"><a class="line" href="simd_8c.html#aaf54b90d0f21fdd0eeef0273b7c39860"> 531</a></span> <span class="preprocessor">#define PP8_6_3 7</span></div><div class="line"><a name="l00532"></a><span class="lineno"><a class="line" href="simd_8c.html#a8ae5507cfdffe3d3888172f1a8ad1f29"> 532</a></span> <span class="preprocessor">#define PP8_6_4 0</span></div><div class="line"><a name="l00533"></a><span class="lineno"><a class="line" href="simd_8c.html#a90f8d8302f2b6544191ab8a00d31023b"> 533</a></span> <span class="preprocessor">#define PP8_6_5 1</span></div><div class="line"><a name="l00534"></a><span class="lineno"><a class="line" href="simd_8c.html#a61ed6a5e4c4c91c3dd532527b7bf56e7"> 534</a></span> <span class="preprocessor">#define PP8_6_6 2</span></div><div class="line"><a name="l00535"></a><span class="lineno"><a class="line" href="simd_8c.html#a7cc30219c42f90fdd3ba01f00dcf3b78"> 535</a></span> <span class="preprocessor">#define PP8_6_7 3</span></div><div class="line"><a name="l00536"></a><span class="lineno"> 536</span> </div><div class="line"><a name="l00537"></a><span class="lineno"> 537</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l00538"></a><span class="lineno"> 538</span> </div><div class="line"><a name="l00539"></a><span class="lineno"> 539</span> <span class="preprocessor">#define DECL_STATE_SMALL</span></div><div class="line"><a name="l00540"></a><span class="lineno"> 540</span> <span class="preprocessor">#define READ_STATE_SMALL(sc)</span></div><div class="line"><a name="l00541"></a><span class="lineno"> 541</span> <span class="preprocessor">#define WRITE_STATE_SMALL(sc)</span></div><div class="line"><a name="l00542"></a><span class="lineno"> 542</span> <span class="preprocessor">#define DECL_STATE_BIG</span></div><div class="line"><a name="l00543"></a><span class="lineno"> 543</span> <span class="preprocessor">#define READ_STATE_BIG(sc)</span></div><div class="line"><a name="l00544"></a><span class="lineno"> 544</span> <span class="preprocessor">#define WRITE_STATE_BIG(sc)</span></div><div class="line"><a name="l00545"></a><span class="lineno"> 545</span> </div><div class="line"><a name="l00546"></a><span class="lineno"> 546</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00547"></a><span class="lineno"> 547</span> </div><div class="line"><a name="l00548"></a><span class="lineno"><a class="line" href="simd_8c.html#ab4a51262925625b80676f524c7a3e9b3"> 548</a></span> <span class="preprocessor">#define DECL_STATE_SMALL \</span></div><div class="line"><a name="l00549"></a><span class="lineno"> 549</span> <span class="preprocessor"> u32 A0, A1, A2, A3, B0, B1, B2, B3, C0, C1, C2, C3, D0, D1, D2, D3;</span></div><div class="line"><a name="l00550"></a><span class="lineno"> 550</span> </div><div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="simd_8c.html#a67d66b81f24d0e42a8cfdfd8d556f4f9"> 551</a></span> <span class="preprocessor">#define READ_STATE_SMALL(sc) do { \</span></div><div class="line"><a name="l00552"></a><span class="lineno"> 552</span> <span class="preprocessor"> A0 = (sc)->state[ 0]; \</span></div><div class="line"><a name="l00553"></a><span class="lineno"> 553</span> <span class="preprocessor"> A1 = (sc)->state[ 1]; \</span></div><div class="line"><a name="l00554"></a><span class="lineno"> 554</span> <span class="preprocessor"> A2 = (sc)->state[ 2]; \</span></div><div class="line"><a name="l00555"></a><span class="lineno"> 555</span> <span class="preprocessor"> A3 = (sc)->state[ 3]; \</span></div><div class="line"><a name="l00556"></a><span class="lineno"> 556</span> <span class="preprocessor"> B0 = (sc)->state[ 4]; \</span></div><div class="line"><a name="l00557"></a><span class="lineno"> 557</span> <span class="preprocessor"> B1 = (sc)->state[ 5]; \</span></div><div class="line"><a name="l00558"></a><span class="lineno"> 558</span> <span class="preprocessor"> B2 = (sc)->state[ 6]; \</span></div><div class="line"><a name="l00559"></a><span class="lineno"> 559</span> <span class="preprocessor"> B3 = (sc)->state[ 7]; \</span></div><div class="line"><a name="l00560"></a><span class="lineno"> 560</span> <span class="preprocessor"> C0 = (sc)->state[ 8]; \</span></div><div class="line"><a name="l00561"></a><span class="lineno"> 561</span> <span class="preprocessor"> C1 = (sc)->state[ 9]; \</span></div><div class="line"><a name="l00562"></a><span class="lineno"> 562</span> <span class="preprocessor"> C2 = (sc)->state[10]; \</span></div><div class="line"><a name="l00563"></a><span class="lineno"> 563</span> <span class="preprocessor"> C3 = (sc)->state[11]; \</span></div><div class="line"><a name="l00564"></a><span class="lineno"> 564</span> <span class="preprocessor"> D0 = (sc)->state[12]; \</span></div><div class="line"><a name="l00565"></a><span class="lineno"> 565</span> <span class="preprocessor"> D1 = (sc)->state[13]; \</span></div><div class="line"><a name="l00566"></a><span class="lineno"> 566</span> <span class="preprocessor"> D2 = (sc)->state[14]; \</span></div><div class="line"><a name="l00567"></a><span class="lineno"> 567</span> <span class="preprocessor"> D3 = (sc)->state[15]; \</span></div><div class="line"><a name="l00568"></a><span class="lineno"> 568</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00569"></a><span class="lineno"> 569</span> </div><div class="line"><a name="l00570"></a><span class="lineno"><a class="line" href="simd_8c.html#a4abd541f08c7707483ea994bb97603d3"> 570</a></span> <span class="preprocessor">#define WRITE_STATE_SMALL(sc) do { \</span></div><div class="line"><a name="l00571"></a><span class="lineno"> 571</span> <span class="preprocessor"> (sc)->state[ 0] = A0; \</span></div><div class="line"><a name="l00572"></a><span class="lineno"> 572</span> <span class="preprocessor"> (sc)->state[ 1] = A1; \</span></div><div class="line"><a name="l00573"></a><span class="lineno"> 573</span> <span class="preprocessor"> (sc)->state[ 2] = A2; \</span></div><div class="line"><a name="l00574"></a><span class="lineno"> 574</span> <span class="preprocessor"> (sc)->state[ 3] = A3; \</span></div><div class="line"><a name="l00575"></a><span class="lineno"> 575</span> <span class="preprocessor"> (sc)->state[ 4] = B0; \</span></div><div class="line"><a name="l00576"></a><span class="lineno"> 576</span> <span class="preprocessor"> (sc)->state[ 5] = B1; \</span></div><div class="line"><a name="l00577"></a><span class="lineno"> 577</span> <span class="preprocessor"> (sc)->state[ 6] = B2; \</span></div><div class="line"><a name="l00578"></a><span class="lineno"> 578</span> <span class="preprocessor"> (sc)->state[ 7] = B3; \</span></div><div class="line"><a name="l00579"></a><span class="lineno"> 579</span> <span class="preprocessor"> (sc)->state[ 8] = C0; \</span></div><div class="line"><a name="l00580"></a><span class="lineno"> 580</span> <span class="preprocessor"> (sc)->state[ 9] = C1; \</span></div><div class="line"><a name="l00581"></a><span class="lineno"> 581</span> <span class="preprocessor"> (sc)->state[10] = C2; \</span></div><div class="line"><a name="l00582"></a><span class="lineno"> 582</span> <span class="preprocessor"> (sc)->state[11] = C3; \</span></div><div class="line"><a name="l00583"></a><span class="lineno"> 583</span> <span class="preprocessor"> (sc)->state[12] = D0; \</span></div><div class="line"><a name="l00584"></a><span class="lineno"> 584</span> <span class="preprocessor"> (sc)->state[13] = D1; \</span></div><div class="line"><a name="l00585"></a><span class="lineno"> 585</span> <span class="preprocessor"> (sc)->state[14] = D2; \</span></div><div class="line"><a name="l00586"></a><span class="lineno"> 586</span> <span class="preprocessor"> (sc)->state[15] = D3; \</span></div><div class="line"><a name="l00587"></a><span class="lineno"> 587</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00588"></a><span class="lineno"> 588</span> </div><div class="line"><a name="l00589"></a><span class="lineno"><a class="line" href="simd_8c.html#ab4e3eaaea15315222e93075871a85842"> 589</a></span> <span class="preprocessor">#define DECL_STATE_BIG \</span></div><div class="line"><a name="l00590"></a><span class="lineno"> 590</span> <span class="preprocessor"> u32 A0, A1, A2, A3, A4, A5, A6, A7; \</span></div><div class="line"><a name="l00591"></a><span class="lineno"> 591</span> <span class="preprocessor"> u32 B0, B1, B2, B3, B4, B5, B6, B7; \</span></div><div class="line"><a name="l00592"></a><span class="lineno"> 592</span> <span class="preprocessor"> u32 C0, C1, C2, C3, C4, C5, C6, C7; \</span></div><div class="line"><a name="l00593"></a><span class="lineno"> 593</span> <span class="preprocessor"> u32 D0, D1, D2, D3, D4, D5, D6, D7;</span></div><div class="line"><a name="l00594"></a><span class="lineno"> 594</span> </div><div class="line"><a name="l00595"></a><span class="lineno"><a class="line" href="simd_8c.html#ab61deb5114426d4508539ee4dccf7bdf"> 595</a></span> <span class="preprocessor">#define READ_STATE_BIG(sc) do { \</span></div><div class="line"><a name="l00596"></a><span class="lineno"> 596</span> <span class="preprocessor"> A0 = (sc)->state[ 0]; \</span></div><div class="line"><a name="l00597"></a><span class="lineno"> 597</span> <span class="preprocessor"> A1 = (sc)->state[ 1]; \</span></div><div class="line"><a name="l00598"></a><span class="lineno"> 598</span> <span class="preprocessor"> A2 = (sc)->state[ 2]; \</span></div><div class="line"><a name="l00599"></a><span class="lineno"> 599</span> <span class="preprocessor"> A3 = (sc)->state[ 3]; \</span></div><div class="line"><a name="l00600"></a><span class="lineno"> 600</span> <span class="preprocessor"> A4 = (sc)->state[ 4]; \</span></div><div class="line"><a name="l00601"></a><span class="lineno"> 601</span> <span class="preprocessor"> A5 = (sc)->state[ 5]; \</span></div><div class="line"><a name="l00602"></a><span class="lineno"> 602</span> <span class="preprocessor"> A6 = (sc)->state[ 6]; \</span></div><div class="line"><a name="l00603"></a><span class="lineno"> 603</span> <span class="preprocessor"> A7 = (sc)->state[ 7]; \</span></div><div class="line"><a name="l00604"></a><span class="lineno"> 604</span> <span class="preprocessor"> B0 = (sc)->state[ 8]; \</span></div><div class="line"><a name="l00605"></a><span class="lineno"> 605</span> <span class="preprocessor"> B1 = (sc)->state[ 9]; \</span></div><div class="line"><a name="l00606"></a><span class="lineno"> 606</span> <span class="preprocessor"> B2 = (sc)->state[10]; \</span></div><div class="line"><a name="l00607"></a><span class="lineno"> 607</span> <span class="preprocessor"> B3 = (sc)->state[11]; \</span></div><div class="line"><a name="l00608"></a><span class="lineno"> 608</span> <span class="preprocessor"> B4 = (sc)->state[12]; \</span></div><div class="line"><a name="l00609"></a><span class="lineno"> 609</span> <span class="preprocessor"> B5 = (sc)->state[13]; \</span></div><div class="line"><a name="l00610"></a><span class="lineno"> 610</span> <span class="preprocessor"> B6 = (sc)->state[14]; \</span></div><div class="line"><a name="l00611"></a><span class="lineno"> 611</span> <span class="preprocessor"> B7 = (sc)->state[15]; \</span></div><div class="line"><a name="l00612"></a><span class="lineno"> 612</span> <span class="preprocessor"> C0 = (sc)->state[16]; \</span></div><div class="line"><a name="l00613"></a><span class="lineno"> 613</span> <span class="preprocessor"> C1 = (sc)->state[17]; \</span></div><div class="line"><a name="l00614"></a><span class="lineno"> 614</span> <span class="preprocessor"> C2 = (sc)->state[18]; \</span></div><div class="line"><a name="l00615"></a><span class="lineno"> 615</span> <span class="preprocessor"> C3 = (sc)->state[19]; \</span></div><div class="line"><a name="l00616"></a><span class="lineno"> 616</span> <span class="preprocessor"> C4 = (sc)->state[20]; \</span></div><div class="line"><a name="l00617"></a><span class="lineno"> 617</span> <span class="preprocessor"> C5 = (sc)->state[21]; \</span></div><div class="line"><a name="l00618"></a><span class="lineno"> 618</span> <span class="preprocessor"> C6 = (sc)->state[22]; \</span></div><div class="line"><a name="l00619"></a><span class="lineno"> 619</span> <span class="preprocessor"> C7 = (sc)->state[23]; \</span></div><div class="line"><a name="l00620"></a><span class="lineno"> 620</span> <span class="preprocessor"> D0 = (sc)->state[24]; \</span></div><div class="line"><a name="l00621"></a><span class="lineno"> 621</span> <span class="preprocessor"> D1 = (sc)->state[25]; \</span></div><div class="line"><a name="l00622"></a><span class="lineno"> 622</span> <span class="preprocessor"> D2 = (sc)->state[26]; \</span></div><div class="line"><a name="l00623"></a><span class="lineno"> 623</span> <span class="preprocessor"> D3 = (sc)->state[27]; \</span></div><div class="line"><a name="l00624"></a><span class="lineno"> 624</span> <span class="preprocessor"> D4 = (sc)->state[28]; \</span></div><div class="line"><a name="l00625"></a><span class="lineno"> 625</span> <span class="preprocessor"> D5 = (sc)->state[29]; \</span></div><div class="line"><a name="l00626"></a><span class="lineno"> 626</span> <span class="preprocessor"> D6 = (sc)->state[30]; \</span></div><div class="line"><a name="l00627"></a><span class="lineno"> 627</span> <span class="preprocessor"> D7 = (sc)->state[31]; \</span></div><div class="line"><a name="l00628"></a><span class="lineno"> 628</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00629"></a><span class="lineno"> 629</span> </div><div class="line"><a name="l00630"></a><span class="lineno"><a class="line" href="simd_8c.html#a856c70a0f3f0ef4a50b4affd92367a87"> 630</a></span> <span class="preprocessor">#define WRITE_STATE_BIG(sc) do { \</span></div><div class="line"><a name="l00631"></a><span class="lineno"> 631</span> <span class="preprocessor"> (sc)->state[ 0] = A0; \</span></div><div class="line"><a name="l00632"></a><span class="lineno"> 632</span> <span class="preprocessor"> (sc)->state[ 1] = A1; \</span></div><div class="line"><a name="l00633"></a><span class="lineno"> 633</span> <span class="preprocessor"> (sc)->state[ 2] = A2; \</span></div><div class="line"><a name="l00634"></a><span class="lineno"> 634</span> <span class="preprocessor"> (sc)->state[ 3] = A3; \</span></div><div class="line"><a name="l00635"></a><span class="lineno"> 635</span> <span class="preprocessor"> (sc)->state[ 4] = A4; \</span></div><div class="line"><a name="l00636"></a><span class="lineno"> 636</span> <span class="preprocessor"> (sc)->state[ 5] = A5; \</span></div><div class="line"><a name="l00637"></a><span class="lineno"> 637</span> <span class="preprocessor"> (sc)->state[ 6] = A6; \</span></div><div class="line"><a name="l00638"></a><span class="lineno"> 638</span> <span class="preprocessor"> (sc)->state[ 7] = A7; \</span></div><div class="line"><a name="l00639"></a><span class="lineno"> 639</span> <span class="preprocessor"> (sc)->state[ 8] = B0; \</span></div><div class="line"><a name="l00640"></a><span class="lineno"> 640</span> <span class="preprocessor"> (sc)->state[ 9] = B1; \</span></div><div class="line"><a name="l00641"></a><span class="lineno"> 641</span> <span class="preprocessor"> (sc)->state[10] = B2; \</span></div><div class="line"><a name="l00642"></a><span class="lineno"> 642</span> <span class="preprocessor"> (sc)->state[11] = B3; \</span></div><div class="line"><a name="l00643"></a><span class="lineno"> 643</span> <span class="preprocessor"> (sc)->state[12] = B4; \</span></div><div class="line"><a name="l00644"></a><span class="lineno"> 644</span> <span class="preprocessor"> (sc)->state[13] = B5; \</span></div><div class="line"><a name="l00645"></a><span class="lineno"> 645</span> <span class="preprocessor"> (sc)->state[14] = B6; \</span></div><div class="line"><a name="l00646"></a><span class="lineno"> 646</span> <span class="preprocessor"> (sc)->state[15] = B7; \</span></div><div class="line"><a name="l00647"></a><span class="lineno"> 647</span> <span class="preprocessor"> (sc)->state[16] = C0; \</span></div><div class="line"><a name="l00648"></a><span class="lineno"> 648</span> <span class="preprocessor"> (sc)->state[17] = C1; \</span></div><div class="line"><a name="l00649"></a><span class="lineno"> 649</span> <span class="preprocessor"> (sc)->state[18] = C2; \</span></div><div class="line"><a name="l00650"></a><span class="lineno"> 650</span> <span class="preprocessor"> (sc)->state[19] = C3; \</span></div><div class="line"><a name="l00651"></a><span class="lineno"> 651</span> <span class="preprocessor"> (sc)->state[20] = C4; \</span></div><div class="line"><a name="l00652"></a><span class="lineno"> 652</span> <span class="preprocessor"> (sc)->state[21] = C5; \</span></div><div class="line"><a name="l00653"></a><span class="lineno"> 653</span> <span class="preprocessor"> (sc)->state[22] = C6; \</span></div><div class="line"><a name="l00654"></a><span class="lineno"> 654</span> <span class="preprocessor"> (sc)->state[23] = C7; \</span></div><div class="line"><a name="l00655"></a><span class="lineno"> 655</span> <span class="preprocessor"> (sc)->state[24] = D0; \</span></div><div class="line"><a name="l00656"></a><span class="lineno"> 656</span> <span class="preprocessor"> (sc)->state[25] = D1; \</span></div><div class="line"><a name="l00657"></a><span class="lineno"> 657</span> <span class="preprocessor"> (sc)->state[26] = D2; \</span></div><div class="line"><a name="l00658"></a><span class="lineno"> 658</span> <span class="preprocessor"> (sc)->state[27] = D3; \</span></div><div class="line"><a name="l00659"></a><span class="lineno"> 659</span> <span class="preprocessor"> (sc)->state[28] = D4; \</span></div><div class="line"><a name="l00660"></a><span class="lineno"> 660</span> <span class="preprocessor"> (sc)->state[29] = D5; \</span></div><div class="line"><a name="l00661"></a><span class="lineno"> 661</span> <span class="preprocessor"> (sc)->state[30] = D6; \</span></div><div class="line"><a name="l00662"></a><span class="lineno"> 662</span> <span class="preprocessor"> (sc)->state[31] = D7; \</span></div><div class="line"><a name="l00663"></a><span class="lineno"> 663</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00664"></a><span class="lineno"> 664</span> </div><div class="line"><a name="l00665"></a><span class="lineno"> 665</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00666"></a><span class="lineno"> 666</span> </div><div class="line"><a name="l00667"></a><span class="lineno"><a class="line" href="simd_8c.html#ac7d4bb13d5a3cb2575305b19b7edf503"> 667</a></span> <span class="preprocessor">#define STEP_ELT(n, w, fun, s, ppb) do { \</span></div><div class="line"><a name="l00668"></a><span class="lineno"> 668</span> <span class="preprocessor"> u32 tt = T32(D ## n + (w) + fun(A ## n, B ## n, C ## n)); \</span></div><div class="line"><a name="l00669"></a><span class="lineno"> 669</span> <span class="preprocessor"> A ## n = T32(ROL32(tt, s) + XCAT(tA, XCAT(ppb, n))); \</span></div><div class="line"><a name="l00670"></a><span class="lineno"> 670</span> <span class="preprocessor"> D ## n = C ## n; \</span></div><div class="line"><a name="l00671"></a><span class="lineno"> 671</span> <span class="preprocessor"> C ## n = B ## n; \</span></div><div class="line"><a name="l00672"></a><span class="lineno"> 672</span> <span class="preprocessor"> B ## n = tA ## n; \</span></div><div class="line"><a name="l00673"></a><span class="lineno"> 673</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00674"></a><span class="lineno"> 674</span> </div><div class="line"><a name="l00675"></a><span class="lineno"><a class="line" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137"> 675</a></span> <span class="preprocessor">#define STEP_SMALL(w0, w1, w2, w3, fun, r, s, pp4b) do { \</span></div><div class="line"><a name="l00676"></a><span class="lineno"> 676</span> <span class="preprocessor"> u32 tA0 = ROL32(A0, r); \</span></div><div class="line"><a name="l00677"></a><span class="lineno"> 677</span> <span class="preprocessor"> u32 tA1 = ROL32(A1, r); \</span></div><div class="line"><a name="l00678"></a><span class="lineno"> 678</span> <span class="preprocessor"> u32 tA2 = ROL32(A2, r); \</span></div><div class="line"><a name="l00679"></a><span class="lineno"> 679</span> <span class="preprocessor"> u32 tA3 = ROL32(A3, r); \</span></div><div class="line"><a name="l00680"></a><span class="lineno"> 680</span> <span class="preprocessor"> STEP_ELT(0, w0, fun, s, pp4b); \</span></div><div class="line"><a name="l00681"></a><span class="lineno"> 681</span> <span class="preprocessor"> STEP_ELT(1, w1, fun, s, pp4b); \</span></div><div class="line"><a name="l00682"></a><span class="lineno"> 682</span> <span class="preprocessor"> STEP_ELT(2, w2, fun, s, pp4b); \</span></div><div class="line"><a name="l00683"></a><span class="lineno"> 683</span> <span class="preprocessor"> STEP_ELT(3, w3, fun, s, pp4b); \</span></div><div class="line"><a name="l00684"></a><span class="lineno"> 684</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00685"></a><span class="lineno"> 685</span> </div><div class="line"><a name="l00686"></a><span class="lineno"><a class="line" href="simd_8c.html#af2008331a655947d749c13189118aaf4"> 686</a></span> <span class="preprocessor">#define STEP_BIG(w0, w1, w2, w3, w4, w5, w6, w7, fun, r, s, pp8b) do { \</span></div><div class="line"><a name="l00687"></a><span class="lineno"> 687</span> <span class="preprocessor"> u32 tA0 = ROL32(A0, r); \</span></div><div class="line"><a name="l00688"></a><span class="lineno"> 688</span> <span class="preprocessor"> u32 tA1 = ROL32(A1, r); \</span></div><div class="line"><a name="l00689"></a><span class="lineno"> 689</span> <span class="preprocessor"> u32 tA2 = ROL32(A2, r); \</span></div><div class="line"><a name="l00690"></a><span class="lineno"> 690</span> <span class="preprocessor"> u32 tA3 = ROL32(A3, r); \</span></div><div class="line"><a name="l00691"></a><span class="lineno"> 691</span> <span class="preprocessor"> u32 tA4 = ROL32(A4, r); \</span></div><div class="line"><a name="l00692"></a><span class="lineno"> 692</span> <span class="preprocessor"> u32 tA5 = ROL32(A5, r); \</span></div><div class="line"><a name="l00693"></a><span class="lineno"> 693</span> <span class="preprocessor"> u32 tA6 = ROL32(A6, r); \</span></div><div class="line"><a name="l00694"></a><span class="lineno"> 694</span> <span class="preprocessor"> u32 tA7 = ROL32(A7, r); \</span></div><div class="line"><a name="l00695"></a><span class="lineno"> 695</span> <span class="preprocessor"> STEP_ELT(0, w0, fun, s, pp8b); \</span></div><div class="line"><a name="l00696"></a><span class="lineno"> 696</span> <span class="preprocessor"> STEP_ELT(1, w1, fun, s, pp8b); \</span></div><div class="line"><a name="l00697"></a><span class="lineno"> 697</span> <span class="preprocessor"> STEP_ELT(2, w2, fun, s, pp8b); \</span></div><div class="line"><a name="l00698"></a><span class="lineno"> 698</span> <span class="preprocessor"> STEP_ELT(3, w3, fun, s, pp8b); \</span></div><div class="line"><a name="l00699"></a><span class="lineno"> 699</span> <span class="preprocessor"> STEP_ELT(4, w4, fun, s, pp8b); \</span></div><div class="line"><a name="l00700"></a><span class="lineno"> 700</span> <span class="preprocessor"> STEP_ELT(5, w5, fun, s, pp8b); \</span></div><div class="line"><a name="l00701"></a><span class="lineno"> 701</span> <span class="preprocessor"> STEP_ELT(6, w6, fun, s, pp8b); \</span></div><div class="line"><a name="l00702"></a><span class="lineno"> 702</span> <span class="preprocessor"> STEP_ELT(7, w7, fun, s, pp8b); \</span></div><div class="line"><a name="l00703"></a><span class="lineno"> 703</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00704"></a><span class="lineno"> 704</span> </div><div class="line"><a name="l00705"></a><span class="lineno"><a class="line" href="simd_8c.html#a866da3efbdd57d814105d4e99d39e91b"> 705</a></span> <span class="preprocessor">#define M3_0_0 0_</span></div><div class="line"><a name="l00706"></a><span class="lineno"><a class="line" href="simd_8c.html#aff3d0c34910f1f0f87ddfa0f05db17ce"> 706</a></span> <span class="preprocessor">#define M3_1_0 1_</span></div><div class="line"><a name="l00707"></a><span class="lineno"><a class="line" href="simd_8c.html#a8e3db66fa421997ee1b2cb0fda24947d"> 707</a></span> <span class="preprocessor">#define M3_2_0 2_</span></div><div class="line"><a name="l00708"></a><span class="lineno"><a class="line" href="simd_8c.html#a97f6b4338e5219b0b1233553af5bd070"> 708</a></span> <span class="preprocessor">#define M3_3_0 0_</span></div><div class="line"><a name="l00709"></a><span class="lineno"><a class="line" href="simd_8c.html#aac1e62a254d39b9a23a6201cd8b87f17"> 709</a></span> <span class="preprocessor">#define M3_4_0 1_</span></div><div class="line"><a name="l00710"></a><span class="lineno"><a class="line" href="simd_8c.html#a3094e6108a4592992c013f697cfde5de"> 710</a></span> <span class="preprocessor">#define M3_5_0 2_</span></div><div class="line"><a name="l00711"></a><span class="lineno"><a class="line" href="simd_8c.html#af583b3e8cf0595851cd410d6e27abc6d"> 711</a></span> <span class="preprocessor">#define M3_6_0 0_</span></div><div class="line"><a name="l00712"></a><span class="lineno"><a class="line" href="simd_8c.html#ac4d7d993cde4724ed60e3611b793496e"> 712</a></span> <span class="preprocessor">#define M3_7_0 1_</span></div><div class="line"><a name="l00713"></a><span class="lineno"> 713</span> </div><div class="line"><a name="l00714"></a><span class="lineno"><a class="line" href="simd_8c.html#ac303c9b396955d29b0bd4ca46348f274"> 714</a></span> <span class="preprocessor">#define M3_0_1 1_</span></div><div class="line"><a name="l00715"></a><span class="lineno"><a class="line" href="simd_8c.html#a191e0f535ff747cc8d9a08c2eba8632e"> 715</a></span> <span class="preprocessor">#define M3_1_1 2_</span></div><div class="line"><a name="l00716"></a><span class="lineno"><a class="line" href="simd_8c.html#ad226c5eb33c8bda93a04bd3464aaf345"> 716</a></span> <span class="preprocessor">#define M3_2_1 0_</span></div><div class="line"><a name="l00717"></a><span class="lineno"><a class="line" href="simd_8c.html#a63758034a4f4a402fb7e5ed8d0d70519"> 717</a></span> <span class="preprocessor">#define M3_3_1 1_</span></div><div class="line"><a name="l00718"></a><span class="lineno"><a class="line" href="simd_8c.html#a03bf1bc3e8450203178f1e32e2282af4"> 718</a></span> <span class="preprocessor">#define M3_4_1 2_</span></div><div class="line"><a name="l00719"></a><span class="lineno"><a class="line" href="simd_8c.html#ada48f2053fa75810e3398ff5928b5f2b"> 719</a></span> <span class="preprocessor">#define M3_5_1 0_</span></div><div class="line"><a name="l00720"></a><span class="lineno"><a class="line" href="simd_8c.html#a718684acb3fad58507a8d70387d1598a"> 720</a></span> <span class="preprocessor">#define M3_6_1 1_</span></div><div class="line"><a name="l00721"></a><span class="lineno"><a class="line" href="simd_8c.html#aea1f3660a24ac421206278f310b2d0af"> 721</a></span> <span class="preprocessor">#define M3_7_1 2_</span></div><div class="line"><a name="l00722"></a><span class="lineno"> 722</span> </div><div class="line"><a name="l00723"></a><span class="lineno"><a class="line" href="simd_8c.html#a11ea0e5a5eacd52d3ce5454eb9b2df2a"> 723</a></span> <span class="preprocessor">#define M3_0_2 2_</span></div><div class="line"><a name="l00724"></a><span class="lineno"><a class="line" href="simd_8c.html#a761acbdfbd99745281c40ba707b71c72"> 724</a></span> <span class="preprocessor">#define M3_1_2 0_</span></div><div class="line"><a name="l00725"></a><span class="lineno"><a class="line" href="simd_8c.html#a6f3091e63055858044e4fc1cc639378e"> 725</a></span> <span class="preprocessor">#define M3_2_2 1_</span></div><div class="line"><a name="l00726"></a><span class="lineno"><a class="line" href="simd_8c.html#afa3ad095bdf3b2fd05967e341648e18e"> 726</a></span> <span class="preprocessor">#define M3_3_2 2_</span></div><div class="line"><a name="l00727"></a><span class="lineno"><a class="line" href="simd_8c.html#a6e47814536b349d65319192bae713310"> 727</a></span> <span class="preprocessor">#define M3_4_2 0_</span></div><div class="line"><a name="l00728"></a><span class="lineno"><a class="line" href="simd_8c.html#ac8b768523613fd0016ed4e4772a4ac14"> 728</a></span> <span class="preprocessor">#define M3_5_2 1_</span></div><div class="line"><a name="l00729"></a><span class="lineno"><a class="line" href="simd_8c.html#acbc11afb82b4eead7afa54369c09c0b7"> 729</a></span> <span class="preprocessor">#define M3_6_2 2_</span></div><div class="line"><a name="l00730"></a><span class="lineno"><a class="line" href="simd_8c.html#a0d7e760155cb8bc4b3737a8e8bb24dd0"> 730</a></span> <span class="preprocessor">#define M3_7_2 0_</span></div><div class="line"><a name="l00731"></a><span class="lineno"> 731</span> </div><div class="line"><a name="l00732"></a><span class="lineno"><a class="line" href="simd_8c.html#a844b87a572a09ce40f4a827c9d88b0bc"> 732</a></span> <span class="preprocessor">#define STEP_SMALL_(w, fun, r, s, pp4b) STEP_SMALL w, fun, r, s, pp4b)</span></div><div class="line"><a name="l00733"></a><span class="lineno"> 733</span> </div><div class="line"><a name="l00734"></a><span class="lineno"><a class="line" href="simd_8c.html#a9ecf5904f2e6ffbbc72aae91578d6a28"> 734</a></span> <span class="preprocessor">#define ONE_ROUND_SMALL(ri, isp, p0, p1, p2, p3) do { \</span></div><div class="line"><a name="l00735"></a><span class="lineno"> 735</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 0, \</span></div><div class="line"><a name="l00736"></a><span class="lineno"> 736</span> <span class="preprocessor"> IF, p0, p1, XCAT(PP4_, M3_0_ ## isp)); \</span></div><div class="line"><a name="l00737"></a><span class="lineno"> 737</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 1, \</span></div><div class="line"><a name="l00738"></a><span class="lineno"> 738</span> <span class="preprocessor"> IF, p1, p2, XCAT(PP4_, M3_1_ ## isp)); \</span></div><div class="line"><a name="l00739"></a><span class="lineno"> 739</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 2, \</span></div><div class="line"><a name="l00740"></a><span class="lineno"> 740</span> <span class="preprocessor"> IF, p2, p3, XCAT(PP4_, M3_2_ ## isp)); \</span></div><div class="line"><a name="l00741"></a><span class="lineno"> 741</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 3, \</span></div><div class="line"><a name="l00742"></a><span class="lineno"> 742</span> <span class="preprocessor"> IF, p3, p0, XCAT(PP4_, M3_3_ ## isp)); \</span></div><div class="line"><a name="l00743"></a><span class="lineno"> 743</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 4, \</span></div><div class="line"><a name="l00744"></a><span class="lineno"> 744</span> <span class="preprocessor"> MAJ, p0, p1, XCAT(PP4_, M3_4_ ## isp)); \</span></div><div class="line"><a name="l00745"></a><span class="lineno"> 745</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 5, \</span></div><div class="line"><a name="l00746"></a><span class="lineno"> 746</span> <span class="preprocessor"> MAJ, p1, p2, XCAT(PP4_, M3_5_ ## isp)); \</span></div><div class="line"><a name="l00747"></a><span class="lineno"> 747</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 6, \</span></div><div class="line"><a name="l00748"></a><span class="lineno"> 748</span> <span class="preprocessor"> MAJ, p2, p3, XCAT(PP4_, M3_6_ ## isp)); \</span></div><div class="line"><a name="l00749"></a><span class="lineno"> 749</span> <span class="preprocessor"> STEP_SMALL_(WS_ ## ri ## 7, \</span></div><div class="line"><a name="l00750"></a><span class="lineno"> 750</span> <span class="preprocessor"> MAJ, p3, p0, XCAT(PP4_, M3_7_ ## isp)); \</span></div><div class="line"><a name="l00751"></a><span class="lineno"> 751</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00752"></a><span class="lineno"> 752</span> </div><div class="line"><a name="l00753"></a><span class="lineno"><a class="line" href="simd_8c.html#a7407fde555d17b9919f384d6e4a717e5"> 753</a></span> <span class="preprocessor">#define M7_0_0 0_</span></div><div class="line"><a name="l00754"></a><span class="lineno"><a class="line" href="simd_8c.html#a6388ad7432e7a8e23f71424a19403ecb"> 754</a></span> <span class="preprocessor">#define M7_1_0 1_</span></div><div class="line"><a name="l00755"></a><span class="lineno"><a class="line" href="simd_8c.html#aff0ddf9c7e3aef931a781fb46f34f938"> 755</a></span> <span class="preprocessor">#define M7_2_0 2_</span></div><div class="line"><a name="l00756"></a><span class="lineno"><a class="line" href="simd_8c.html#af2c878f0ba89cbb46e3239c7c7f27791"> 756</a></span> <span class="preprocessor">#define M7_3_0 3_</span></div><div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="simd_8c.html#a0126d95b0cff3c0e07dcb3a2c771270a"> 757</a></span> <span class="preprocessor">#define M7_4_0 4_</span></div><div class="line"><a name="l00758"></a><span class="lineno"><a class="line" href="simd_8c.html#ac1063a6c493e5706be577ce0742ac6bc"> 758</a></span> <span class="preprocessor">#define M7_5_0 5_</span></div><div class="line"><a name="l00759"></a><span class="lineno"><a class="line" href="simd_8c.html#a3d633d9226cd262eb8d1a0a28709308c"> 759</a></span> <span class="preprocessor">#define M7_6_0 6_</span></div><div class="line"><a name="l00760"></a><span class="lineno"><a class="line" href="simd_8c.html#a14790715f58a49889d022398a119f511"> 760</a></span> <span class="preprocessor">#define M7_7_0 0_</span></div><div class="line"><a name="l00761"></a><span class="lineno"> 761</span> </div><div class="line"><a name="l00762"></a><span class="lineno"><a class="line" href="simd_8c.html#ab46315a746b687904b3da15a2d89f729"> 762</a></span> <span class="preprocessor">#define M7_0_1 1_</span></div><div class="line"><a name="l00763"></a><span class="lineno"><a class="line" href="simd_8c.html#a4c817adc4f43ebaf0c8a3e692ad64cda"> 763</a></span> <span class="preprocessor">#define M7_1_1 2_</span></div><div class="line"><a name="l00764"></a><span class="lineno"><a class="line" href="simd_8c.html#a2fdcf316e091cb8dd0035a4e5ed4d851"> 764</a></span> <span class="preprocessor">#define M7_2_1 3_</span></div><div class="line"><a name="l00765"></a><span class="lineno"><a class="line" href="simd_8c.html#a088baaee2aad647e4fdef9cdf01ed21b"> 765</a></span> <span class="preprocessor">#define M7_3_1 4_</span></div><div class="line"><a name="l00766"></a><span class="lineno"><a class="line" href="simd_8c.html#a5387af85bace96b3e73c9c3e267ba03d"> 766</a></span> <span class="preprocessor">#define M7_4_1 5_</span></div><div class="line"><a name="l00767"></a><span class="lineno"><a class="line" href="simd_8c.html#acad4e773f2a35d916db587ebaa0ed153"> 767</a></span> <span class="preprocessor">#define M7_5_1 6_</span></div><div class="line"><a name="l00768"></a><span class="lineno"><a class="line" href="simd_8c.html#a68d1a106d458e403409e907be442c6c7"> 768</a></span> <span class="preprocessor">#define M7_6_1 0_</span></div><div class="line"><a name="l00769"></a><span class="lineno"><a class="line" href="simd_8c.html#a38831b970dccd748be032eb2605daf5b"> 769</a></span> <span class="preprocessor">#define M7_7_1 1_</span></div><div class="line"><a name="l00770"></a><span class="lineno"> 770</span> </div><div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="simd_8c.html#afde9732ab9e725b757e8c5357feb6ab3"> 771</a></span> <span class="preprocessor">#define M7_0_2 2_</span></div><div class="line"><a name="l00772"></a><span class="lineno"><a class="line" href="simd_8c.html#a29a3f052c2ea4e4af8e30fb5b7591e43"> 772</a></span> <span class="preprocessor">#define M7_1_2 3_</span></div><div class="line"><a name="l00773"></a><span class="lineno"><a class="line" href="simd_8c.html#aa51a11549942d486b50c4fce02684c4a"> 773</a></span> <span class="preprocessor">#define M7_2_2 4_</span></div><div class="line"><a name="l00774"></a><span class="lineno"><a class="line" href="simd_8c.html#a2e08f890ce6334ad469d4ba1da9b0882"> 774</a></span> <span class="preprocessor">#define M7_3_2 5_</span></div><div class="line"><a name="l00775"></a><span class="lineno"><a class="line" href="simd_8c.html#a36ca1efbef5ee78ec324f8e4f737ac15"> 775</a></span> <span class="preprocessor">#define M7_4_2 6_</span></div><div class="line"><a name="l00776"></a><span class="lineno"><a class="line" href="simd_8c.html#a7a13940d171889c38d963eb36c12bc25"> 776</a></span> <span class="preprocessor">#define M7_5_2 0_</span></div><div class="line"><a name="l00777"></a><span class="lineno"><a class="line" href="simd_8c.html#af6a903513c960102f0aa17c076b3ba71"> 777</a></span> <span class="preprocessor">#define M7_6_2 1_</span></div><div class="line"><a name="l00778"></a><span class="lineno"><a class="line" href="simd_8c.html#ab3f5baace7796c3b323a4c33f1319e11"> 778</a></span> <span class="preprocessor">#define M7_7_2 2_</span></div><div class="line"><a name="l00779"></a><span class="lineno"> 779</span> </div><div class="line"><a name="l00780"></a><span class="lineno"><a class="line" href="simd_8c.html#a504508a4f098b4b43ea2f36924f21ea8"> 780</a></span> <span class="preprocessor">#define M7_0_3 3_</span></div><div class="line"><a name="l00781"></a><span class="lineno"><a class="line" href="simd_8c.html#ab2c3cbc025039efaf48642f70c3f2a58"> 781</a></span> <span class="preprocessor">#define M7_1_3 4_</span></div><div class="line"><a name="l00782"></a><span class="lineno"><a class="line" href="simd_8c.html#ab100a20b574cac0139d6760b9b7aca36"> 782</a></span> <span class="preprocessor">#define M7_2_3 5_</span></div><div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="simd_8c.html#a2479fe3c0a5c4dcf6d41f26a0bd0fd18"> 783</a></span> <span class="preprocessor">#define M7_3_3 6_</span></div><div class="line"><a name="l00784"></a><span class="lineno"><a class="line" href="simd_8c.html#aee1234b7b85d014bce29fe09ac3f0f1d"> 784</a></span> <span class="preprocessor">#define M7_4_3 0_</span></div><div class="line"><a name="l00785"></a><span class="lineno"><a class="line" href="simd_8c.html#abd2c81009008aaccc0d50ee2c6e9ee43"> 785</a></span> <span class="preprocessor">#define M7_5_3 1_</span></div><div class="line"><a name="l00786"></a><span class="lineno"><a class="line" href="simd_8c.html#a656177d6ec851689918bd9798ea2e9f6"> 786</a></span> <span class="preprocessor">#define M7_6_3 2_</span></div><div class="line"><a name="l00787"></a><span class="lineno"><a class="line" href="simd_8c.html#a3cbc16eb4a02a658657ff1449cceb062"> 787</a></span> <span class="preprocessor">#define M7_7_3 3_</span></div><div class="line"><a name="l00788"></a><span class="lineno"> 788</span> </div><div class="line"><a name="l00789"></a><span class="lineno"><a class="line" href="simd_8c.html#a8cf33e2498bc75751106bb9dd0cf5676"> 789</a></span> <span class="preprocessor">#define STEP_BIG_(w, fun, r, s, pp8b) STEP_BIG w, fun, r, s, pp8b)</span></div><div class="line"><a name="l00790"></a><span class="lineno"> 790</span> </div><div class="line"><a name="l00791"></a><span class="lineno"><a class="line" href="simd_8c.html#a9ad098c6134217cca0890948addaba79"> 791</a></span> <span class="preprocessor">#define ONE_ROUND_BIG(ri, isp, p0, p1, p2, p3) do { \</span></div><div class="line"><a name="l00792"></a><span class="lineno"> 792</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 0, \</span></div><div class="line"><a name="l00793"></a><span class="lineno"> 793</span> <span class="preprocessor"> IF, p0, p1, XCAT(PP8_, M7_0_ ## isp)); \</span></div><div class="line"><a name="l00794"></a><span class="lineno"> 794</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 1, \</span></div><div class="line"><a name="l00795"></a><span class="lineno"> 795</span> <span class="preprocessor"> IF, p1, p2, XCAT(PP8_, M7_1_ ## isp)); \</span></div><div class="line"><a name="l00796"></a><span class="lineno"> 796</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 2, \</span></div><div class="line"><a name="l00797"></a><span class="lineno"> 797</span> <span class="preprocessor"> IF, p2, p3, XCAT(PP8_, M7_2_ ## isp)); \</span></div><div class="line"><a name="l00798"></a><span class="lineno"> 798</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 3, \</span></div><div class="line"><a name="l00799"></a><span class="lineno"> 799</span> <span class="preprocessor"> IF, p3, p0, XCAT(PP8_, M7_3_ ## isp)); \</span></div><div class="line"><a name="l00800"></a><span class="lineno"> 800</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 4, \</span></div><div class="line"><a name="l00801"></a><span class="lineno"> 801</span> <span class="preprocessor"> MAJ, p0, p1, XCAT(PP8_, M7_4_ ## isp)); \</span></div><div class="line"><a name="l00802"></a><span class="lineno"> 802</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 5, \</span></div><div class="line"><a name="l00803"></a><span class="lineno"> 803</span> <span class="preprocessor"> MAJ, p1, p2, XCAT(PP8_, M7_5_ ## isp)); \</span></div><div class="line"><a name="l00804"></a><span class="lineno"> 804</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 6, \</span></div><div class="line"><a name="l00805"></a><span class="lineno"> 805</span> <span class="preprocessor"> MAJ, p2, p3, XCAT(PP8_, M7_6_ ## isp)); \</span></div><div class="line"><a name="l00806"></a><span class="lineno"> 806</span> <span class="preprocessor"> STEP_BIG_(WB_ ## ri ## 7, \</span></div><div class="line"><a name="l00807"></a><span class="lineno"> 807</span> <span class="preprocessor"> MAJ, p3, p0, XCAT(PP8_, M7_7_ ## isp)); \</span></div><div class="line"><a name="l00808"></a><span class="lineno"> 808</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00809"></a><span class="lineno"> 809</span> </div><div class="line"><a name="l00810"></a><span class="lineno"> 810</span> <span class="preprocessor">#if SPH_SMALL_FOOTPRINT_SIMD</span></div><div class="line"><a name="l00811"></a><span class="lineno"> 811</span> </div><div class="line"><a name="l00812"></a><span class="lineno"> 812</span> <span class="preprocessor">#define A0 state[ 0]</span></div><div class="line"><a name="l00813"></a><span class="lineno"> 813</span> <span class="preprocessor">#define A1 state[ 1]</span></div><div class="line"><a name="l00814"></a><span class="lineno"> 814</span> <span class="preprocessor">#define A2 state[ 2]</span></div><div class="line"><a name="l00815"></a><span class="lineno"> 815</span> <span class="preprocessor">#define A3 state[ 3]</span></div><div class="line"><a name="l00816"></a><span class="lineno"> 816</span> <span class="preprocessor">#define B0 state[ 4]</span></div><div class="line"><a name="l00817"></a><span class="lineno"> 817</span> <span class="preprocessor">#define B1 state[ 5]</span></div><div class="line"><a name="l00818"></a><span class="lineno"> 818</span> <span class="preprocessor">#define B2 state[ 6]</span></div><div class="line"><a name="l00819"></a><span class="lineno"> 819</span> <span class="preprocessor">#define B3 state[ 7]</span></div><div class="line"><a name="l00820"></a><span class="lineno"> 820</span> <span class="preprocessor">#define C0 state[ 8]</span></div><div class="line"><a name="l00821"></a><span class="lineno"> 821</span> <span class="preprocessor">#define C1 state[ 9]</span></div><div class="line"><a name="l00822"></a><span class="lineno"> 822</span> <span class="preprocessor">#define C2 state[10]</span></div><div class="line"><a name="l00823"></a><span class="lineno"> 823</span> <span class="preprocessor">#define C3 state[11]</span></div><div class="line"><a name="l00824"></a><span class="lineno"> 824</span> <span class="preprocessor">#define D0 state[12]</span></div><div class="line"><a name="l00825"></a><span class="lineno"> 825</span> <span class="preprocessor">#define D1 state[13]</span></div><div class="line"><a name="l00826"></a><span class="lineno"> 826</span> <span class="preprocessor">#define D2 state[14]</span></div><div class="line"><a name="l00827"></a><span class="lineno"> 827</span> <span class="preprocessor">#define D3 state[15]</span></div><div class="line"><a name="l00828"></a><span class="lineno"> 828</span> </div><div class="line"><a name="l00829"></a><span class="lineno"> 829</span> <span class="preprocessor">#define STEP2_ELT(n, w, fun, s, ppb) do { \</span></div><div class="line"><a name="l00830"></a><span class="lineno"> 830</span> <span class="preprocessor"> u32 tt = T32(D ## n + (w) + fun(A ## n, B ## n, C ## n)); \</span></div><div class="line"><a name="l00831"></a><span class="lineno"> 831</span> <span class="preprocessor"> A ## n = T32(ROL32(tt, s) + tA[(ppb) ^ n]); \</span></div><div class="line"><a name="l00832"></a><span class="lineno"> 832</span> <span class="preprocessor"> D ## n = C ## n; \</span></div><div class="line"><a name="l00833"></a><span class="lineno"> 833</span> <span class="preprocessor"> C ## n = B ## n; \</span></div><div class="line"><a name="l00834"></a><span class="lineno"> 834</span> <span class="preprocessor"> B ## n = tA[n]; \</span></div><div class="line"><a name="l00835"></a><span class="lineno"> 835</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00836"></a><span class="lineno"> 836</span> </div><div class="line"><a name="l00837"></a><span class="lineno"> 837</span> <span class="preprocessor">#define STEP2_SMALL(w0, w1, w2, w3, fun, r, s, pp4b) do { \</span></div><div class="line"><a name="l00838"></a><span class="lineno"> 838</span> <span class="preprocessor"> u32 tA[4]; \</span></div><div class="line"><a name="l00839"></a><span class="lineno"> 839</span> <span class="preprocessor"> tA[0] = ROL32(A0, r); \</span></div><div class="line"><a name="l00840"></a><span class="lineno"> 840</span> <span class="preprocessor"> tA[1] = ROL32(A1, r); \</span></div><div class="line"><a name="l00841"></a><span class="lineno"> 841</span> <span class="preprocessor"> tA[2] = ROL32(A2, r); \</span></div><div class="line"><a name="l00842"></a><span class="lineno"> 842</span> <span class="preprocessor"> tA[3] = ROL32(A3, r); \</span></div><div class="line"><a name="l00843"></a><span class="lineno"> 843</span> <span class="preprocessor"> STEP2_ELT(0, w0, fun, s, pp4b); \</span></div><div class="line"><a name="l00844"></a><span class="lineno"> 844</span> <span class="preprocessor"> STEP2_ELT(1, w1, fun, s, pp4b); \</span></div><div class="line"><a name="l00845"></a><span class="lineno"> 845</span> <span class="preprocessor"> STEP2_ELT(2, w2, fun, s, pp4b); \</span></div><div class="line"><a name="l00846"></a><span class="lineno"> 846</span> <span class="preprocessor"> STEP2_ELT(3, w3, fun, s, pp4b); \</span></div><div class="line"><a name="l00847"></a><span class="lineno"> 847</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00848"></a><span class="lineno"> 848</span> </div><div class="line"><a name="l00849"></a><span class="lineno"> 849</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00850"></a><span class="lineno"> 850</span> one_round_small(<a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> *state, <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> *w, <span class="keywordtype">int</span> isp, <span class="keywordtype">int</span> p0, <span class="keywordtype">int</span> p1, <span class="keywordtype">int</span> p2, <span class="keywordtype">int</span> p3)</div><div class="line"><a name="l00851"></a><span class="lineno"> 851</span> {</div><div class="line"><a name="l00852"></a><span class="lineno"> 852</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pp4k[] = { 1, 2, 3, 1, 2, 3, 1, 2, 3, 1, 2 };</div><div class="line"><a name="l00853"></a><span class="lineno"> 853</span> </div><div class="line"><a name="l00854"></a><span class="lineno"> 854</span>  STEP2_SMALL(w[ 0], w[ 1], w[ 2], w[ 3], <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p0, p1, pp4k[isp + 0]);</div><div class="line"><a name="l00855"></a><span class="lineno"> 855</span>  STEP2_SMALL(w[ 4], w[ 5], w[ 6], w[ 7], <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p1, p2, pp4k[isp + 1]);</div><div class="line"><a name="l00856"></a><span class="lineno"> 856</span>  STEP2_SMALL(w[ 8], w[ 9], w[10], w[11], <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p2, p3, pp4k[isp + 2]);</div><div class="line"><a name="l00857"></a><span class="lineno"> 857</span>  STEP2_SMALL(w[12], w[13], w[14], w[15], <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p3, p0, pp4k[isp + 3]);</div><div class="line"><a name="l00858"></a><span class="lineno"> 858</span>  STEP2_SMALL(w[16], w[17], w[18], w[19], <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p0, p1, pp4k[isp + 4]);</div><div class="line"><a name="l00859"></a><span class="lineno"> 859</span>  STEP2_SMALL(w[20], w[21], w[22], w[23], <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p1, p2, pp4k[isp + 5]);</div><div class="line"><a name="l00860"></a><span class="lineno"> 860</span>  STEP2_SMALL(w[24], w[25], w[26], w[27], <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p2, p3, pp4k[isp + 6]);</div><div class="line"><a name="l00861"></a><span class="lineno"> 861</span>  STEP2_SMALL(w[28], w[29], w[30], w[31], <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p3, p0, pp4k[isp + 7]);</div><div class="line"><a name="l00862"></a><span class="lineno"> 862</span> }</div><div class="line"><a name="l00863"></a><span class="lineno"> 863</span> </div><div class="line"><a name="l00864"></a><span class="lineno"> 864</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00865"></a><span class="lineno"> 865</span> <a class="code" href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9">compress_small</a>(<a class="code" href="structsph__simd__small__context.html">sph_simd_small_context</a> *sc, <span class="keywordtype">int</span> last)</div><div class="line"><a name="l00866"></a><span class="lineno"> 866</span> {</div><div class="line"><a name="l00867"></a><span class="lineno"> 867</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x;</div><div class="line"><a name="l00868"></a><span class="lineno"> 868</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> q[128];</div><div class="line"><a name="l00869"></a><span class="lineno"> 869</span>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l00870"></a><span class="lineno"> 870</span>  <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> w[32];</div><div class="line"><a name="l00871"></a><span class="lineno"> 871</span>  <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> state[16];</div><div class="line"><a name="l00872"></a><span class="lineno"> 872</span>  <span class="keywordtype">size_t</span> u;</div><div class="line"><a name="l00873"></a><span class="lineno"> 873</span> </div><div class="line"><a name="l00874"></a><span class="lineno"> 874</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> wsp[32] = {</div><div class="line"><a name="l00875"></a><span class="lineno"> 875</span>  4 << 3, 6 << 3, 0 << 3, 2 << 3,</div><div class="line"><a name="l00876"></a><span class="lineno"> 876</span>  7 << 3, 5 << 3, 3 << 3, 1 << 3,</div><div class="line"><a name="l00877"></a><span class="lineno"> 877</span>  15 << 3, 11 << 3, 12 << 3, 8 << 3,</div><div class="line"><a name="l00878"></a><span class="lineno"> 878</span>  9 << 3, 13 << 3, 10 << 3, 14 << 3,</div><div class="line"><a name="l00879"></a><span class="lineno"> 879</span>  17 << 3, 18 << 3, 23 << 3, 20 << 3,</div><div class="line"><a name="l00880"></a><span class="lineno"> 880</span>  22 << 3, 21 << 3, 16 << 3, 19 << 3,</div><div class="line"><a name="l00881"></a><span class="lineno"> 881</span>  30 << 3, 24 << 3, 25 << 3, 31 << 3,</div><div class="line"><a name="l00882"></a><span class="lineno"> 882</span>  27 << 3, 29 << 3, 28 << 3, 26 << 3</div><div class="line"><a name="l00883"></a><span class="lineno"> 883</span>  };</div><div class="line"><a name="l00884"></a><span class="lineno"> 884</span> </div><div class="line"><a name="l00885"></a><span class="lineno"> 885</span>  x = sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>;</div><div class="line"><a name="l00886"></a><span class="lineno"> 886</span>  <a class="code" href="simd_8c.html#a78730e25377e926f4070709842bc4b77">FFT128</a>(0, 1, 0, ll);</div><div class="line"><a name="l00887"></a><span class="lineno"> 887</span>  <span class="keywordflow">if</span> (last) {</div><div class="line"><a name="l00888"></a><span class="lineno"> 888</span>  <span class="keywordflow">for</span> (i = 0; i < 128; i ++) {</div><div class="line"><a name="l00889"></a><span class="lineno"> 889</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l00890"></a><span class="lineno"> 890</span> </div><div class="line"><a name="l00891"></a><span class="lineno"> 891</span>  tq = q[i] + <a class="code" href="simd_8c.html#ab67a1892fcd8a65582ab9c5429798500">yoff_s_f</a>[i];</div><div class="line"><a name="l00892"></a><span class="lineno"> 892</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l00893"></a><span class="lineno"> 893</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l00894"></a><span class="lineno"> 894</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l00895"></a><span class="lineno"> 895</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l00896"></a><span class="lineno"> 896</span>  }</div><div class="line"><a name="l00897"></a><span class="lineno"> 897</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l00898"></a><span class="lineno"> 898</span>  <span class="keywordflow">for</span> (i = 0; i < 128; i ++) {</div><div class="line"><a name="l00899"></a><span class="lineno"> 899</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l00900"></a><span class="lineno"> 900</span> </div><div class="line"><a name="l00901"></a><span class="lineno"> 901</span>  tq = q[i] + <a class="code" href="simd_8c.html#a11e39154585131689c5812810033f21e">yoff_s_n</a>[i];</div><div class="line"><a name="l00902"></a><span class="lineno"> 902</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l00903"></a><span class="lineno"> 903</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l00904"></a><span class="lineno"> 904</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l00905"></a><span class="lineno"> 905</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l00906"></a><span class="lineno"> 906</span>  }</div><div class="line"><a name="l00907"></a><span class="lineno"> 907</span>  }</div><div class="line"><a name="l00908"></a><span class="lineno"> 908</span> </div><div class="line"><a name="l00909"></a><span class="lineno"> 909</span>  <span class="keywordflow">for</span> (i = 0; i < 16; i += 4) {</div><div class="line"><a name="l00910"></a><span class="lineno"> 910</span>  state[i + 0] = sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[i + 0]</div><div class="line"><a name="l00911"></a><span class="lineno"> 911</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 0));</div><div class="line"><a name="l00912"></a><span class="lineno"> 912</span>  state[i + 1] = sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[i + 1]</div><div class="line"><a name="l00913"></a><span class="lineno"> 913</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 1));</div><div class="line"><a name="l00914"></a><span class="lineno"> 914</span>  state[i + 2] = sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[i + 2]</div><div class="line"><a name="l00915"></a><span class="lineno"> 915</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 2));</div><div class="line"><a name="l00916"></a><span class="lineno"> 916</span>  state[i + 3] = sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[i + 3]</div><div class="line"><a name="l00917"></a><span class="lineno"> 917</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 3));</div><div class="line"><a name="l00918"></a><span class="lineno"> 918</span>  }</div><div class="line"><a name="l00919"></a><span class="lineno"> 919</span> </div><div class="line"><a name="l00920"></a><span class="lineno"> 920</span> <span class="preprocessor">#define WSREAD(sb, o1, o2, mm) do { \</span></div><div class="line"><a name="l00921"></a><span class="lineno"> 921</span> <span class="preprocessor"> for (u = 0; u < 32; u += 4) { \</span></div><div class="line"><a name="l00922"></a><span class="lineno"> 922</span> <span class="preprocessor"> size_t v = wsp[(u >> 2) + (sb)]; \</span></div><div class="line"><a name="l00923"></a><span class="lineno"> 923</span> <span class="preprocessor"> w[u + 0] = INNER(q[v + 2 * 0 + (o1)], \</span></div><div class="line"><a name="l00924"></a><span class="lineno"> 924</span> <span class="preprocessor"> q[v + 2 * 0 + (o2)], mm); \</span></div><div class="line"><a name="l00925"></a><span class="lineno"> 925</span> <span class="preprocessor"> w[u + 1] = INNER(q[v + 2 * 1 + (o1)], \</span></div><div class="line"><a name="l00926"></a><span class="lineno"> 926</span> <span class="preprocessor"> q[v + 2 * 1 + (o2)], mm); \</span></div><div class="line"><a name="l00927"></a><span class="lineno"> 927</span> <span class="preprocessor"> w[u + 2] = INNER(q[v + 2 * 2 + (o1)], \</span></div><div class="line"><a name="l00928"></a><span class="lineno"> 928</span> <span class="preprocessor"> q[v + 2 * 2 + (o2)], mm); \</span></div><div class="line"><a name="l00929"></a><span class="lineno"> 929</span> <span class="preprocessor"> w[u + 3] = INNER(q[v + 2 * 3 + (o1)], \</span></div><div class="line"><a name="l00930"></a><span class="lineno"> 930</span> <span class="preprocessor"> q[v + 2 * 3 + (o2)], mm); \</span></div><div class="line"><a name="l00931"></a><span class="lineno"> 931</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l00932"></a><span class="lineno"> 932</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l00933"></a><span class="lineno"> 933</span> </div><div class="line"><a name="l00934"></a><span class="lineno"> 934</span>  WSREAD( 0, 0, 1, 185);</div><div class="line"><a name="l00935"></a><span class="lineno"> 935</span>  one_round_small(state, w, 0, 3, 23, 17, 27);</div><div class="line"><a name="l00936"></a><span class="lineno"> 936</span>  WSREAD( 8, 0, 1, 185);</div><div class="line"><a name="l00937"></a><span class="lineno"> 937</span>  one_round_small(state, w, 2, 28, 19, 22, 7);</div><div class="line"><a name="l00938"></a><span class="lineno"> 938</span>  WSREAD(16, -128, -64, 233);</div><div class="line"><a name="l00939"></a><span class="lineno"> 939</span>  one_round_small(state, w, 1, 29, 9, 15, 5);</div><div class="line"><a name="l00940"></a><span class="lineno"> 940</span>  WSREAD(24, -191, -127, 233);</div><div class="line"><a name="l00941"></a><span class="lineno"> 941</span>  one_round_small(state, w, 0, 4, 13, 10, 25);</div><div class="line"><a name="l00942"></a><span class="lineno"> 942</span> </div><div class="line"><a name="l00943"></a><span class="lineno"> 943</span> <span class="preprocessor">#undef WSREAD</span></div><div class="line"><a name="l00944"></a><span class="lineno"> 944</span> </div><div class="line"><a name="l00945"></a><span class="lineno"> 945</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 0], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 1], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 2], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 3],</div><div class="line"><a name="l00946"></a><span class="lineno"> 946</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 4, 13, PP4_2_);</div><div class="line"><a name="l00947"></a><span class="lineno"> 947</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 4], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 5], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 6], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 7],</div><div class="line"><a name="l00948"></a><span class="lineno"> 948</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 13, 10, PP4_0_);</div><div class="line"><a name="l00949"></a><span class="lineno"> 949</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 8], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 9], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[10], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[11],</div><div class="line"><a name="l00950"></a><span class="lineno"> 950</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 10, 25, PP4_1_);</div><div class="line"><a name="l00951"></a><span class="lineno"> 951</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[12], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[13], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[14], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[15],</div><div class="line"><a name="l00952"></a><span class="lineno"> 952</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 25, 4, PP4_2_);</div><div class="line"><a name="l00953"></a><span class="lineno"> 953</span> </div><div class="line"><a name="l00954"></a><span class="lineno"> 954</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>, state, <span class="keyword">sizeof</span> state);</div><div class="line"><a name="l00955"></a><span class="lineno"> 955</span> }</div><div class="line"><a name="l00956"></a><span class="lineno"> 956</span> </div><div class="line"><a name="l00957"></a><span class="lineno"> 957</span> <span class="preprocessor">#undef A0</span></div><div class="line"><a name="l00958"></a><span class="lineno"> 958</span> <span class="preprocessor">#undef A1</span></div><div class="line"><a name="l00959"></a><span class="lineno"> 959</span> <span class="preprocessor">#undef A2</span></div><div class="line"><a name="l00960"></a><span class="lineno"> 960</span> <span class="preprocessor">#undef A3</span></div><div class="line"><a name="l00961"></a><span class="lineno"> 961</span> <span class="preprocessor">#undef B0</span></div><div class="line"><a name="l00962"></a><span class="lineno"> 962</span> <span class="preprocessor">#undef B1</span></div><div class="line"><a name="l00963"></a><span class="lineno"> 963</span> <span class="preprocessor">#undef B2</span></div><div class="line"><a name="l00964"></a><span class="lineno"> 964</span> <span class="preprocessor">#undef B3</span></div><div class="line"><a name="l00965"></a><span class="lineno"> 965</span> <span class="preprocessor">#undef C0</span></div><div class="line"><a name="l00966"></a><span class="lineno"> 966</span> <span class="preprocessor">#undef C1</span></div><div class="line"><a name="l00967"></a><span class="lineno"> 967</span> <span class="preprocessor">#undef C2</span></div><div class="line"><a name="l00968"></a><span class="lineno"> 968</span> <span class="preprocessor">#undef C3</span></div><div class="line"><a name="l00969"></a><span class="lineno"> 969</span> <span class="preprocessor">#undef D0</span></div><div class="line"><a name="l00970"></a><span class="lineno"> 970</span> <span class="preprocessor">#undef D1</span></div><div class="line"><a name="l00971"></a><span class="lineno"> 971</span> <span class="preprocessor">#undef D2</span></div><div class="line"><a name="l00972"></a><span class="lineno"> 972</span> <span class="preprocessor">#undef D3</span></div><div class="line"><a name="l00973"></a><span class="lineno"> 973</span> </div><div class="line"><a name="l00974"></a><span class="lineno"> 974</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l00975"></a><span class="lineno"> 975</span> </div><div class="line"><a name="l00976"></a><span class="lineno"> 976</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l00977"></a><span class="lineno"> 977</span> <span class="preprocessor">#define A0 (sc->state[ 0])</span></div><div class="line"><a name="l00978"></a><span class="lineno"> 978</span> <span class="preprocessor">#define A1 (sc->state[ 1])</span></div><div class="line"><a name="l00979"></a><span class="lineno"> 979</span> <span class="preprocessor">#define A2 (sc->state[ 2])</span></div><div class="line"><a name="l00980"></a><span class="lineno"> 980</span> <span class="preprocessor">#define A3 (sc->state[ 3])</span></div><div class="line"><a name="l00981"></a><span class="lineno"> 981</span> <span class="preprocessor">#define B0 (sc->state[ 4])</span></div><div class="line"><a name="l00982"></a><span class="lineno"> 982</span> <span class="preprocessor">#define B1 (sc->state[ 5])</span></div><div class="line"><a name="l00983"></a><span class="lineno"> 983</span> <span class="preprocessor">#define B2 (sc->state[ 6])</span></div><div class="line"><a name="l00984"></a><span class="lineno"> 984</span> <span class="preprocessor">#define B3 (sc->state[ 7])</span></div><div class="line"><a name="l00985"></a><span class="lineno"> 985</span> <span class="preprocessor">#define C0 (sc->state[ 8])</span></div><div class="line"><a name="l00986"></a><span class="lineno"> 986</span> <span class="preprocessor">#define C1 (sc->state[ 9])</span></div><div class="line"><a name="l00987"></a><span class="lineno"> 987</span> <span class="preprocessor">#define C2 (sc->state[10])</span></div><div class="line"><a name="l00988"></a><span class="lineno"> 988</span> <span class="preprocessor">#define C3 (sc->state[11])</span></div><div class="line"><a name="l00989"></a><span class="lineno"> 989</span> <span class="preprocessor">#define D0 (sc->state[12])</span></div><div class="line"><a name="l00990"></a><span class="lineno"> 990</span> <span class="preprocessor">#define D1 (sc->state[13])</span></div><div class="line"><a name="l00991"></a><span class="lineno"> 991</span> <span class="preprocessor">#define D2 (sc->state[14])</span></div><div class="line"><a name="l00992"></a><span class="lineno"> 992</span> <span class="preprocessor">#define D3 (sc->state[15])</span></div><div class="line"><a name="l00993"></a><span class="lineno"> 993</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l00994"></a><span class="lineno"> 994</span> </div><div class="line"><a name="l00995"></a><span class="lineno"> 995</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l00996"></a><span class="lineno"><a class="line" href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9"> 996</a></span> <a class="code" href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9">compress_small</a>(<a class="code" href="structsph__simd__small__context.html">sph_simd_small_context</a> *sc, <span class="keywordtype">int</span> last)</div><div class="line"><a name="l00997"></a><span class="lineno"> 997</span> {</div><div class="line"><a name="l00998"></a><span class="lineno"> 998</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x;</div><div class="line"><a name="l00999"></a><span class="lineno"> 999</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> q[128];</div><div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>  <a class="code" href="simd_8c.html#ab4a51262925625b80676f524c7a3e9b3">DECL_STATE_SMALL</a></div><div class="line"><a name="l01002"></a><span class="lineno"> 1002</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01003"></a><span class="lineno"> 1003</span>  <a class="code" href="sph__types_8h.html#abe306859da1253f97285b59a6d87a997">sph_u32</a> saved[16];</div><div class="line"><a name="l01004"></a><span class="lineno"> 1004</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01005"></a><span class="lineno"> 1005</span> </div><div class="line"><a name="l01006"></a><span class="lineno"> 1006</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01007"></a><span class="lineno"> 1007</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(saved, sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>, <span class="keyword">sizeof</span> saved);</div><div class="line"><a name="l01008"></a><span class="lineno"> 1008</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>  x = sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>;</div><div class="line"><a name="l01010"></a><span class="lineno"> 1010</span>  <a class="code" href="simd_8c.html#a78730e25377e926f4070709842bc4b77">FFT128</a>(0, 1, 0, ll);</div><div class="line"><a name="l01011"></a><span class="lineno"> 1011</span>  <span class="keywordflow">if</span> (last) {</div><div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>  <span class="keywordflow">for</span> (i = 0; i < 128; i ++) {</div><div class="line"><a name="l01013"></a><span class="lineno"> 1013</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l01014"></a><span class="lineno"> 1014</span> </div><div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>  tq = q[i] + <a class="code" href="simd_8c.html#ab67a1892fcd8a65582ab9c5429798500">yoff_s_f</a>[i];</div><div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l01017"></a><span class="lineno"> 1017</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01018"></a><span class="lineno"> 1018</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l01020"></a><span class="lineno"> 1020</span>  }</div><div class="line"><a name="l01021"></a><span class="lineno"> 1021</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>  <span class="keywordflow">for</span> (i = 0; i < 128; i ++) {</div><div class="line"><a name="l01023"></a><span class="lineno"> 1023</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l01024"></a><span class="lineno"> 1024</span> </div><div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>  tq = q[i] + <a class="code" href="simd_8c.html#a11e39154585131689c5812810033f21e">yoff_s_n</a>[i];</div><div class="line"><a name="l01026"></a><span class="lineno"> 1026</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l01027"></a><span class="lineno"> 1027</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01029"></a><span class="lineno"> 1029</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l01030"></a><span class="lineno"> 1030</span>  }</div><div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>  }</div><div class="line"><a name="l01032"></a><span class="lineno"> 1032</span>  <a class="code" href="simd_8c.html#a67d66b81f24d0e42a8cfdfd8d556f4f9">READ_STATE_SMALL</a>(sc);</div><div class="line"><a name="l01033"></a><span class="lineno"> 1033</span>  A0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 0);</div><div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>  A1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4);</div><div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>  A2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 8);</div><div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>  A3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 12);</div><div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>  B0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 16);</div><div class="line"><a name="l01038"></a><span class="lineno"> 1038</span>  B1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 20);</div><div class="line"><a name="l01039"></a><span class="lineno"> 1039</span>  B2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 24);</div><div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>  B3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 28);</div><div class="line"><a name="l01041"></a><span class="lineno"> 1041</span>  C0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 32);</div><div class="line"><a name="l01042"></a><span class="lineno"> 1042</span>  C1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 36);</div><div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>  C2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 40);</div><div class="line"><a name="l01044"></a><span class="lineno"> 1044</span>  C3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 44);</div><div class="line"><a name="l01045"></a><span class="lineno"> 1045</span>  D0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 48);</div><div class="line"><a name="l01046"></a><span class="lineno"> 1046</span>  D1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 52);</div><div class="line"><a name="l01047"></a><span class="lineno"> 1047</span>  D2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 56);</div><div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>  D3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 60);</div><div class="line"><a name="l01049"></a><span class="lineno"> 1049</span>  <a class="code" href="simd_8c.html#a9ecf5904f2e6ffbbc72aae91578d6a28">ONE_ROUND_SMALL</a>(0<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 0, 3, 23, 17, 27);</div><div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>  <a class="code" href="simd_8c.html#a9ecf5904f2e6ffbbc72aae91578d6a28">ONE_ROUND_SMALL</a>(1<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 2, 28, 19, 22, 7);</div><div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>  <a class="code" href="simd_8c.html#a9ecf5904f2e6ffbbc72aae91578d6a28">ONE_ROUND_SMALL</a>(2<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 1, 29, 9, 15, 5);</div><div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>  <a class="code" href="simd_8c.html#a9ecf5904f2e6ffbbc72aae91578d6a28">ONE_ROUND_SMALL</a>(3<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 0, 4, 13, 10, 25);</div><div class="line"><a name="l01053"></a><span class="lineno"> 1053</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(saved[ 0], saved[ 1], saved[ 2], saved[ 3],</div><div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 4, 13, PP4_2_);</div><div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(saved[ 4], saved[ 5], saved[ 6], saved[ 7],</div><div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 13, 10, PP4_0_);</div><div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(saved[ 8], saved[ 9], saved[10], saved[11],</div><div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 10, 25, PP4_1_);</div><div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(saved[12], saved[13], saved[14], saved[15],</div><div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 25, 4, PP4_2_);</div><div class="line"><a name="l01062"></a><span class="lineno"> 1062</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 0], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 1], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 2], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 3],</div><div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 4, 13, PP4_2_);</div><div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 4], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 5], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 6], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 7],</div><div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 13, 10, PP4_0_);</div><div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 8], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[ 9], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[10], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[11],</div><div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 10, 25, PP4_1_);</div><div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>  <a class="code" href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[12], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[13], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[14], sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[15],</div><div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 25, 4, PP4_2_);</div><div class="line"><a name="l01071"></a><span class="lineno"> 1071</span>  <a class="code" href="simd_8c.html#a4abd541f08c7707483ea994bb97603d3">WRITE_STATE_SMALL</a>(sc);</div><div class="line"><a name="l01072"></a><span class="lineno"> 1072</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01073"></a><span class="lineno"> 1073</span> }</div><div class="line"><a name="l01074"></a><span class="lineno"> 1074</span> </div><div class="line"><a name="l01075"></a><span class="lineno"> 1075</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01076"></a><span class="lineno"> 1076</span> <span class="preprocessor">#undef A0</span></div><div class="line"><a name="l01077"></a><span class="lineno"> 1077</span> <span class="preprocessor">#undef A1</span></div><div class="line"><a name="l01078"></a><span class="lineno"> 1078</span> <span class="preprocessor">#undef A2</span></div><div class="line"><a name="l01079"></a><span class="lineno"> 1079</span> <span class="preprocessor">#undef A3</span></div><div class="line"><a name="l01080"></a><span class="lineno"> 1080</span> <span class="preprocessor">#undef B0</span></div><div class="line"><a name="l01081"></a><span class="lineno"> 1081</span> <span class="preprocessor">#undef B1</span></div><div class="line"><a name="l01082"></a><span class="lineno"> 1082</span> <span class="preprocessor">#undef B2</span></div><div class="line"><a name="l01083"></a><span class="lineno"> 1083</span> <span class="preprocessor">#undef B3</span></div><div class="line"><a name="l01084"></a><span class="lineno"> 1084</span> <span class="preprocessor">#undef C0</span></div><div class="line"><a name="l01085"></a><span class="lineno"> 1085</span> <span class="preprocessor">#undef C1</span></div><div class="line"><a name="l01086"></a><span class="lineno"> 1086</span> <span class="preprocessor">#undef C2</span></div><div class="line"><a name="l01087"></a><span class="lineno"> 1087</span> <span class="preprocessor">#undef C3</span></div><div class="line"><a name="l01088"></a><span class="lineno"> 1088</span> <span class="preprocessor">#undef D0</span></div><div class="line"><a name="l01089"></a><span class="lineno"> 1089</span> <span class="preprocessor">#undef D1</span></div><div class="line"><a name="l01090"></a><span class="lineno"> 1090</span> <span class="preprocessor">#undef D2</span></div><div class="line"><a name="l01091"></a><span class="lineno"> 1091</span> <span class="preprocessor">#undef D3</span></div><div class="line"><a name="l01092"></a><span class="lineno"> 1092</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01093"></a><span class="lineno"> 1093</span> </div><div class="line"><a name="l01094"></a><span class="lineno"> 1094</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01095"></a><span class="lineno"> 1095</span> </div><div class="line"><a name="l01096"></a><span class="lineno"> 1096</span> <span class="preprocessor">#if SPH_SMALL_FOOTPRINT_SIMD</span></div><div class="line"><a name="l01097"></a><span class="lineno"> 1097</span> </div><div class="line"><a name="l01098"></a><span class="lineno"> 1098</span> <span class="preprocessor">#define A0 state[ 0]</span></div><div class="line"><a name="l01099"></a><span class="lineno"> 1099</span> <span class="preprocessor">#define A1 state[ 1]</span></div><div class="line"><a name="l01100"></a><span class="lineno"> 1100</span> <span class="preprocessor">#define A2 state[ 2]</span></div><div class="line"><a name="l01101"></a><span class="lineno"> 1101</span> <span class="preprocessor">#define A3 state[ 3]</span></div><div class="line"><a name="l01102"></a><span class="lineno"> 1102</span> <span class="preprocessor">#define A4 state[ 4]</span></div><div class="line"><a name="l01103"></a><span class="lineno"> 1103</span> <span class="preprocessor">#define A5 state[ 5]</span></div><div class="line"><a name="l01104"></a><span class="lineno"> 1104</span> <span class="preprocessor">#define A6 state[ 6]</span></div><div class="line"><a name="l01105"></a><span class="lineno"> 1105</span> <span class="preprocessor">#define A7 state[ 7]</span></div><div class="line"><a name="l01106"></a><span class="lineno"> 1106</span> <span class="preprocessor">#define B0 state[ 8]</span></div><div class="line"><a name="l01107"></a><span class="lineno"> 1107</span> <span class="preprocessor">#define B1 state[ 9]</span></div><div class="line"><a name="l01108"></a><span class="lineno"> 1108</span> <span class="preprocessor">#define B2 state[10]</span></div><div class="line"><a name="l01109"></a><span class="lineno"> 1109</span> <span class="preprocessor">#define B3 state[11]</span></div><div class="line"><a name="l01110"></a><span class="lineno"> 1110</span> <span class="preprocessor">#define B4 state[12]</span></div><div class="line"><a name="l01111"></a><span class="lineno"> 1111</span> <span class="preprocessor">#define B5 state[13]</span></div><div class="line"><a name="l01112"></a><span class="lineno"> 1112</span> <span class="preprocessor">#define B6 state[14]</span></div><div class="line"><a name="l01113"></a><span class="lineno"> 1113</span> <span class="preprocessor">#define B7 state[15]</span></div><div class="line"><a name="l01114"></a><span class="lineno"> 1114</span> <span class="preprocessor">#define C0 state[16]</span></div><div class="line"><a name="l01115"></a><span class="lineno"> 1115</span> <span class="preprocessor">#define C1 state[17]</span></div><div class="line"><a name="l01116"></a><span class="lineno"> 1116</span> <span class="preprocessor">#define C2 state[18]</span></div><div class="line"><a name="l01117"></a><span class="lineno"> 1117</span> <span class="preprocessor">#define C3 state[19]</span></div><div class="line"><a name="l01118"></a><span class="lineno"> 1118</span> <span class="preprocessor">#define C4 state[20]</span></div><div class="line"><a name="l01119"></a><span class="lineno"> 1119</span> <span class="preprocessor">#define C5 state[21]</span></div><div class="line"><a name="l01120"></a><span class="lineno"> 1120</span> <span class="preprocessor">#define C6 state[22]</span></div><div class="line"><a name="l01121"></a><span class="lineno"> 1121</span> <span class="preprocessor">#define C7 state[23]</span></div><div class="line"><a name="l01122"></a><span class="lineno"> 1122</span> <span class="preprocessor">#define D0 state[24]</span></div><div class="line"><a name="l01123"></a><span class="lineno"> 1123</span> <span class="preprocessor">#define D1 state[25]</span></div><div class="line"><a name="l01124"></a><span class="lineno"> 1124</span> <span class="preprocessor">#define D2 state[26]</span></div><div class="line"><a name="l01125"></a><span class="lineno"> 1125</span> <span class="preprocessor">#define D3 state[27]</span></div><div class="line"><a name="l01126"></a><span class="lineno"> 1126</span> <span class="preprocessor">#define D4 state[28]</span></div><div class="line"><a name="l01127"></a><span class="lineno"> 1127</span> <span class="preprocessor">#define D5 state[29]</span></div><div class="line"><a name="l01128"></a><span class="lineno"> 1128</span> <span class="preprocessor">#define D6 state[30]</span></div><div class="line"><a name="l01129"></a><span class="lineno"> 1129</span> <span class="preprocessor">#define D7 state[31]</span></div><div class="line"><a name="l01130"></a><span class="lineno"> 1130</span> </div><div class="line"><a name="l01131"></a><span class="lineno"> 1131</span> <span class="comment">/*</span></div><div class="line"><a name="l01132"></a><span class="lineno"> 1132</span> <span class="comment"> * Not needed -- already defined for SIMD-224 / SIMD-256</span></div><div class="line"><a name="l01133"></a><span class="lineno"> 1133</span> <span class="comment"> *</span></div><div class="line"><a name="l01134"></a><span class="lineno"> 1134</span> <span class="comment">#define STEP2_ELT(n, w, fun, s, ppb) do { \</span></div><div class="line"><a name="l01135"></a><span class="lineno"> 1135</span> <span class="comment"> u32 tt = T32(D ## n + (w) + fun(A ## n, B ## n, C ## n)); \</span></div><div class="line"><a name="l01136"></a><span class="lineno"> 1136</span> <span class="comment"> A ## n = T32(ROL32(tt, s) + tA[(ppb) ^ n]); \</span></div><div class="line"><a name="l01137"></a><span class="lineno"> 1137</span> <span class="comment"> D ## n = C ## n; \</span></div><div class="line"><a name="l01138"></a><span class="lineno"> 1138</span> <span class="comment"> C ## n = B ## n; \</span></div><div class="line"><a name="l01139"></a><span class="lineno"> 1139</span> <span class="comment"> B ## n = tA[n]; \</span></div><div class="line"><a name="l01140"></a><span class="lineno"> 1140</span> <span class="comment"> } while (0)</span></div><div class="line"><a name="l01141"></a><span class="lineno"> 1141</span> <span class="comment"> */</span></div><div class="line"><a name="l01142"></a><span class="lineno"> 1142</span> </div><div class="line"><a name="l01143"></a><span class="lineno"> 1143</span> <span class="preprocessor">#define STEP2_BIG(w0, w1, w2, w3, w4, w5, w6, w7, fun, r, s, pp8b) do { \</span></div><div class="line"><a name="l01144"></a><span class="lineno"> 1144</span> <span class="preprocessor"> u32 tA[8]; \</span></div><div class="line"><a name="l01145"></a><span class="lineno"> 1145</span> <span class="preprocessor"> tA[0] = ROL32(A0, r); \</span></div><div class="line"><a name="l01146"></a><span class="lineno"> 1146</span> <span class="preprocessor"> tA[1] = ROL32(A1, r); \</span></div><div class="line"><a name="l01147"></a><span class="lineno"> 1147</span> <span class="preprocessor"> tA[2] = ROL32(A2, r); \</span></div><div class="line"><a name="l01148"></a><span class="lineno"> 1148</span> <span class="preprocessor"> tA[3] = ROL32(A3, r); \</span></div><div class="line"><a name="l01149"></a><span class="lineno"> 1149</span> <span class="preprocessor"> tA[4] = ROL32(A4, r); \</span></div><div class="line"><a name="l01150"></a><span class="lineno"> 1150</span> <span class="preprocessor"> tA[5] = ROL32(A5, r); \</span></div><div class="line"><a name="l01151"></a><span class="lineno"> 1151</span> <span class="preprocessor"> tA[6] = ROL32(A6, r); \</span></div><div class="line"><a name="l01152"></a><span class="lineno"> 1152</span> <span class="preprocessor"> tA[7] = ROL32(A7, r); \</span></div><div class="line"><a name="l01153"></a><span class="lineno"> 1153</span> <span class="preprocessor"> STEP2_ELT(0, w0, fun, s, pp8b); \</span></div><div class="line"><a name="l01154"></a><span class="lineno"> 1154</span> <span class="preprocessor"> STEP2_ELT(1, w1, fun, s, pp8b); \</span></div><div class="line"><a name="l01155"></a><span class="lineno"> 1155</span> <span class="preprocessor"> STEP2_ELT(2, w2, fun, s, pp8b); \</span></div><div class="line"><a name="l01156"></a><span class="lineno"> 1156</span> <span class="preprocessor"> STEP2_ELT(3, w3, fun, s, pp8b); \</span></div><div class="line"><a name="l01157"></a><span class="lineno"> 1157</span> <span class="preprocessor"> STEP2_ELT(4, w4, fun, s, pp8b); \</span></div><div class="line"><a name="l01158"></a><span class="lineno"> 1158</span> <span class="preprocessor"> STEP2_ELT(5, w5, fun, s, pp8b); \</span></div><div class="line"><a name="l01159"></a><span class="lineno"> 1159</span> <span class="preprocessor"> STEP2_ELT(6, w6, fun, s, pp8b); \</span></div><div class="line"><a name="l01160"></a><span class="lineno"> 1160</span> <span class="preprocessor"> STEP2_ELT(7, w7, fun, s, pp8b); \</span></div><div class="line"><a name="l01161"></a><span class="lineno"> 1161</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l01162"></a><span class="lineno"> 1162</span> </div><div class="line"><a name="l01163"></a><span class="lineno"> 1163</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01164"></a><span class="lineno"> 1164</span> one_round_big(<a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> *state, <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> *w, <span class="keywordtype">int</span> isp, <span class="keywordtype">int</span> p0, <span class="keywordtype">int</span> p1, <span class="keywordtype">int</span> p2, <span class="keywordtype">int</span> p3)</div><div class="line"><a name="l01165"></a><span class="lineno"> 1165</span> {</div><div class="line"><a name="l01166"></a><span class="lineno"> 1166</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">int</span> pp8k[] = { 1, 6, 2, 3, 5, 7, 4, 1, 6, 2, 3 };</div><div class="line"><a name="l01167"></a><span class="lineno"> 1167</span> </div><div class="line"><a name="l01168"></a><span class="lineno"> 1168</span>  STEP2_BIG(w[ 0], w[ 1], w[ 2], w[ 3], w[ 4], w[ 5], w[ 6], w[ 7],</div><div class="line"><a name="l01169"></a><span class="lineno"> 1169</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p0, p1, pp8k[isp + 0]);</div><div class="line"><a name="l01170"></a><span class="lineno"> 1170</span>  STEP2_BIG(w[ 8], w[ 9], w[10], w[11], w[12], w[13], w[14], w[15],</div><div class="line"><a name="l01171"></a><span class="lineno"> 1171</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p1, p2, pp8k[isp + 1]);</div><div class="line"><a name="l01172"></a><span class="lineno"> 1172</span>  STEP2_BIG(w[16], w[17], w[18], w[19], w[20], w[21], w[22], w[23],</div><div class="line"><a name="l01173"></a><span class="lineno"> 1173</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p2, p3, pp8k[isp + 2]);</div><div class="line"><a name="l01174"></a><span class="lineno"> 1174</span>  STEP2_BIG(w[24], w[25], w[26], w[27], w[28], w[29], w[30], w[31],</div><div class="line"><a name="l01175"></a><span class="lineno"> 1175</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, p3, p0, pp8k[isp + 3]);</div><div class="line"><a name="l01176"></a><span class="lineno"> 1176</span>  STEP2_BIG(w[32], w[33], w[34], w[35], w[36], w[37], w[38], w[39],</div><div class="line"><a name="l01177"></a><span class="lineno"> 1177</span>  <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p0, p1, pp8k[isp + 4]);</div><div class="line"><a name="l01178"></a><span class="lineno"> 1178</span>  STEP2_BIG(w[40], w[41], w[42], w[43], w[44], w[45], w[46], w[47],</div><div class="line"><a name="l01179"></a><span class="lineno"> 1179</span>  <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p1, p2, pp8k[isp + 5]);</div><div class="line"><a name="l01180"></a><span class="lineno"> 1180</span>  STEP2_BIG(w[48], w[49], w[50], w[51], w[52], w[53], w[54], w[55],</div><div class="line"><a name="l01181"></a><span class="lineno"> 1181</span>  <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p2, p3, pp8k[isp + 6]);</div><div class="line"><a name="l01182"></a><span class="lineno"> 1182</span>  STEP2_BIG(w[56], w[57], w[58], w[59], w[60], w[61], w[62], w[63],</div><div class="line"><a name="l01183"></a><span class="lineno"> 1183</span>  <a class="code" href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a>, p3, p0, pp8k[isp + 7]);</div><div class="line"><a name="l01184"></a><span class="lineno"> 1184</span> }</div><div class="line"><a name="l01185"></a><span class="lineno"> 1185</span> </div><div class="line"><a name="l01186"></a><span class="lineno"> 1186</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01187"></a><span class="lineno"> 1187</span> <a class="code" href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93">compress_big</a>(<a class="code" href="structsph__simd__big__context.html">sph_simd_big_context</a> *sc, <span class="keywordtype">int</span> last)</div><div class="line"><a name="l01188"></a><span class="lineno"> 1188</span> {</div><div class="line"><a name="l01189"></a><span class="lineno"> 1189</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x;</div><div class="line"><a name="l01190"></a><span class="lineno"> 1190</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> q[256];</div><div class="line"><a name="l01191"></a><span class="lineno"> 1191</span>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l01192"></a><span class="lineno"> 1192</span>  <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> w[64];</div><div class="line"><a name="l01193"></a><span class="lineno"> 1193</span>  <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> state[32];</div><div class="line"><a name="l01194"></a><span class="lineno"> 1194</span>  <span class="keywordtype">size_t</span> u;</div><div class="line"><a name="l01195"></a><span class="lineno"> 1195</span> </div><div class="line"><a name="l01196"></a><span class="lineno"> 1196</span>  <span class="keyword">static</span> <span class="keyword">const</span> <span class="keywordtype">size_t</span> wbp[32] = {</div><div class="line"><a name="l01197"></a><span class="lineno"> 1197</span>  4 << 4, 6 << 4, 0 << 4, 2 << 4,</div><div class="line"><a name="l01198"></a><span class="lineno"> 1198</span>  7 << 4, 5 << 4, 3 << 4, 1 << 4,</div><div class="line"><a name="l01199"></a><span class="lineno"> 1199</span>  15 << 4, 11 << 4, 12 << 4, 8 << 4,</div><div class="line"><a name="l01200"></a><span class="lineno"> 1200</span>  9 << 4, 13 << 4, 10 << 4, 14 << 4,</div><div class="line"><a name="l01201"></a><span class="lineno"> 1201</span>  17 << 4, 18 << 4, 23 << 4, 20 << 4,</div><div class="line"><a name="l01202"></a><span class="lineno"> 1202</span>  22 << 4, 21 << 4, 16 << 4, 19 << 4,</div><div class="line"><a name="l01203"></a><span class="lineno"> 1203</span>  30 << 4, 24 << 4, 25 << 4, 31 << 4,</div><div class="line"><a name="l01204"></a><span class="lineno"> 1204</span>  27 << 4, 29 << 4, 28 << 4, 26 << 4</div><div class="line"><a name="l01205"></a><span class="lineno"> 1205</span>  };</div><div class="line"><a name="l01206"></a><span class="lineno"> 1206</span> </div><div class="line"><a name="l01207"></a><span class="lineno"> 1207</span>  x = sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>;</div><div class="line"><a name="l01208"></a><span class="lineno"> 1208</span>  <a class="code" href="simd_8c.html#ad75318d8eb05024e06b6ad01c3936c01">FFT256</a>(0, 1, 0, ll);</div><div class="line"><a name="l01209"></a><span class="lineno"> 1209</span>  <span class="keywordflow">if</span> (last) {</div><div class="line"><a name="l01210"></a><span class="lineno"> 1210</span>  <span class="keywordflow">for</span> (i = 0; i < 256; i ++) {</div><div class="line"><a name="l01211"></a><span class="lineno"> 1211</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l01212"></a><span class="lineno"> 1212</span> </div><div class="line"><a name="l01213"></a><span class="lineno"> 1213</span>  tq = q[i] + <a class="code" href="simd_8c.html#a45dc2c05917a5def52fea2adb025bc51">yoff_b_f</a>[i];</div><div class="line"><a name="l01214"></a><span class="lineno"> 1214</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l01215"></a><span class="lineno"> 1215</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01216"></a><span class="lineno"> 1216</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01217"></a><span class="lineno"> 1217</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l01218"></a><span class="lineno"> 1218</span>  }</div><div class="line"><a name="l01219"></a><span class="lineno"> 1219</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01220"></a><span class="lineno"> 1220</span>  <span class="keywordflow">for</span> (i = 0; i < 256; i ++) {</div><div class="line"><a name="l01221"></a><span class="lineno"> 1221</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l01222"></a><span class="lineno"> 1222</span> </div><div class="line"><a name="l01223"></a><span class="lineno"> 1223</span>  tq = q[i] + <a class="code" href="simd_8c.html#a365ef58323866493550398b84926608f">yoff_b_n</a>[i];</div><div class="line"><a name="l01224"></a><span class="lineno"> 1224</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l01225"></a><span class="lineno"> 1225</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01226"></a><span class="lineno"> 1226</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01227"></a><span class="lineno"> 1227</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l01228"></a><span class="lineno"> 1228</span>  }</div><div class="line"><a name="l01229"></a><span class="lineno"> 1229</span>  }</div><div class="line"><a name="l01230"></a><span class="lineno"> 1230</span> </div><div class="line"><a name="l01231"></a><span class="lineno"> 1231</span>  <span class="keywordflow">for</span> (i = 0; i < 32; i += 8) {</div><div class="line"><a name="l01232"></a><span class="lineno"> 1232</span>  state[i + 0] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 0]</div><div class="line"><a name="l01233"></a><span class="lineno"> 1233</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 0));</div><div class="line"><a name="l01234"></a><span class="lineno"> 1234</span>  state[i + 1] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 1]</div><div class="line"><a name="l01235"></a><span class="lineno"> 1235</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 1));</div><div class="line"><a name="l01236"></a><span class="lineno"> 1236</span>  state[i + 2] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 2]</div><div class="line"><a name="l01237"></a><span class="lineno"> 1237</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 2));</div><div class="line"><a name="l01238"></a><span class="lineno"> 1238</span>  state[i + 3] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 3]</div><div class="line"><a name="l01239"></a><span class="lineno"> 1239</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 3));</div><div class="line"><a name="l01240"></a><span class="lineno"> 1240</span>  state[i + 4] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 4]</div><div class="line"><a name="l01241"></a><span class="lineno"> 1241</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 4));</div><div class="line"><a name="l01242"></a><span class="lineno"> 1242</span>  state[i + 5] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 5]</div><div class="line"><a name="l01243"></a><span class="lineno"> 1243</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 5));</div><div class="line"><a name="l01244"></a><span class="lineno"> 1244</span>  state[i + 6] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 6]</div><div class="line"><a name="l01245"></a><span class="lineno"> 1245</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 6));</div><div class="line"><a name="l01246"></a><span class="lineno"> 1246</span>  state[i + 7] = sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[i + 7]</div><div class="line"><a name="l01247"></a><span class="lineno"> 1247</span>  ^ <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4 * (i + 7));</div><div class="line"><a name="l01248"></a><span class="lineno"> 1248</span>  }</div><div class="line"><a name="l01249"></a><span class="lineno"> 1249</span> </div><div class="line"><a name="l01250"></a><span class="lineno"> 1250</span> <span class="preprocessor">#define WBREAD(sb, o1, o2, mm) do { \</span></div><div class="line"><a name="l01251"></a><span class="lineno"> 1251</span> <span class="preprocessor"> for (u = 0; u < 64; u += 8) { \</span></div><div class="line"><a name="l01252"></a><span class="lineno"> 1252</span> <span class="preprocessor"> size_t v = wbp[(u >> 3) + (sb)]; \</span></div><div class="line"><a name="l01253"></a><span class="lineno"> 1253</span> <span class="preprocessor"> w[u + 0] = INNER(q[v + 2 * 0 + (o1)], \</span></div><div class="line"><a name="l01254"></a><span class="lineno"> 1254</span> <span class="preprocessor"> q[v + 2 * 0 + (o2)], mm); \</span></div><div class="line"><a name="l01255"></a><span class="lineno"> 1255</span> <span class="preprocessor"> w[u + 1] = INNER(q[v + 2 * 1 + (o1)], \</span></div><div class="line"><a name="l01256"></a><span class="lineno"> 1256</span> <span class="preprocessor"> q[v + 2 * 1 + (o2)], mm); \</span></div><div class="line"><a name="l01257"></a><span class="lineno"> 1257</span> <span class="preprocessor"> w[u + 2] = INNER(q[v + 2 * 2 + (o1)], \</span></div><div class="line"><a name="l01258"></a><span class="lineno"> 1258</span> <span class="preprocessor"> q[v + 2 * 2 + (o2)], mm); \</span></div><div class="line"><a name="l01259"></a><span class="lineno"> 1259</span> <span class="preprocessor"> w[u + 3] = INNER(q[v + 2 * 3 + (o1)], \</span></div><div class="line"><a name="l01260"></a><span class="lineno"> 1260</span> <span class="preprocessor"> q[v + 2 * 3 + (o2)], mm); \</span></div><div class="line"><a name="l01261"></a><span class="lineno"> 1261</span> <span class="preprocessor"> w[u + 4] = INNER(q[v + 2 * 4 + (o1)], \</span></div><div class="line"><a name="l01262"></a><span class="lineno"> 1262</span> <span class="preprocessor"> q[v + 2 * 4 + (o2)], mm); \</span></div><div class="line"><a name="l01263"></a><span class="lineno"> 1263</span> <span class="preprocessor"> w[u + 5] = INNER(q[v + 2 * 5 + (o1)], \</span></div><div class="line"><a name="l01264"></a><span class="lineno"> 1264</span> <span class="preprocessor"> q[v + 2 * 5 + (o2)], mm); \</span></div><div class="line"><a name="l01265"></a><span class="lineno"> 1265</span> <span class="preprocessor"> w[u + 6] = INNER(q[v + 2 * 6 + (o1)], \</span></div><div class="line"><a name="l01266"></a><span class="lineno"> 1266</span> <span class="preprocessor"> q[v + 2 * 6 + (o2)], mm); \</span></div><div class="line"><a name="l01267"></a><span class="lineno"> 1267</span> <span class="preprocessor"> w[u + 7] = INNER(q[v + 2 * 7 + (o1)], \</span></div><div class="line"><a name="l01268"></a><span class="lineno"> 1268</span> <span class="preprocessor"> q[v + 2 * 7 + (o2)], mm); \</span></div><div class="line"><a name="l01269"></a><span class="lineno"> 1269</span> <span class="preprocessor"> } \</span></div><div class="line"><a name="l01270"></a><span class="lineno"> 1270</span> <span class="preprocessor"> } while (0)</span></div><div class="line"><a name="l01271"></a><span class="lineno"> 1271</span> </div><div class="line"><a name="l01272"></a><span class="lineno"> 1272</span>  WBREAD( 0, 0, 1, 185);</div><div class="line"><a name="l01273"></a><span class="lineno"> 1273</span>  one_round_big(state, w, 0, 3, 23, 17, 27);</div><div class="line"><a name="l01274"></a><span class="lineno"> 1274</span>  WBREAD( 8, 0, 1, 185);</div><div class="line"><a name="l01275"></a><span class="lineno"> 1275</span>  one_round_big(state, w, 1, 28, 19, 22, 7);</div><div class="line"><a name="l01276"></a><span class="lineno"> 1276</span>  WBREAD(16, -256, -128, 233);</div><div class="line"><a name="l01277"></a><span class="lineno"> 1277</span>  one_round_big(state, w, 2, 29, 9, 15, 5);</div><div class="line"><a name="l01278"></a><span class="lineno"> 1278</span>  WBREAD(24, -383, -255, 233);</div><div class="line"><a name="l01279"></a><span class="lineno"> 1279</span>  one_round_big(state, w, 3, 4, 13, 10, 25);</div><div class="line"><a name="l01280"></a><span class="lineno"> 1280</span> </div><div class="line"><a name="l01281"></a><span class="lineno"> 1281</span> <span class="preprocessor">#undef WBREAD</span></div><div class="line"><a name="l01282"></a><span class="lineno"> 1282</span> </div><div class="line"><a name="l01283"></a><span class="lineno"> 1283</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01284"></a><span class="lineno"> 1284</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 0], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 1], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 2], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 3],</div><div class="line"><a name="l01285"></a><span class="lineno"> 1285</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 4], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 5], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 6], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 7],</div><div class="line"><a name="l01286"></a><span class="lineno"> 1286</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 4, 13, PP8_4_);</div><div class="line"><a name="l01287"></a><span class="lineno"> 1287</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01288"></a><span class="lineno"> 1288</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 8], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 9], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[10], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[11],</div><div class="line"><a name="l01289"></a><span class="lineno"> 1289</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[12], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[13], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[14], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[15],</div><div class="line"><a name="l01290"></a><span class="lineno"> 1290</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 13, 10, PP8_5_);</div><div class="line"><a name="l01291"></a><span class="lineno"> 1291</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01292"></a><span class="lineno"> 1292</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[16], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[17], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[18], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[19],</div><div class="line"><a name="l01293"></a><span class="lineno"> 1293</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[20], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[21], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[22], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[23],</div><div class="line"><a name="l01294"></a><span class="lineno"> 1294</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 10, 25, PP8_6_);</div><div class="line"><a name="l01295"></a><span class="lineno"> 1295</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01296"></a><span class="lineno"> 1296</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[24], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[25], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[26], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[27],</div><div class="line"><a name="l01297"></a><span class="lineno"> 1297</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[28], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[29], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[30], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[31],</div><div class="line"><a name="l01298"></a><span class="lineno"> 1298</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 25, 4, PP8_0_);</div><div class="line"><a name="l01299"></a><span class="lineno"> 1299</span> </div><div class="line"><a name="l01300"></a><span class="lineno"> 1300</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>, state, <span class="keyword">sizeof</span> state);</div><div class="line"><a name="l01301"></a><span class="lineno"> 1301</span> }</div><div class="line"><a name="l01302"></a><span class="lineno"> 1302</span> </div><div class="line"><a name="l01303"></a><span class="lineno"> 1303</span> <span class="preprocessor">#undef A0</span></div><div class="line"><a name="l01304"></a><span class="lineno"> 1304</span> <span class="preprocessor">#undef A1</span></div><div class="line"><a name="l01305"></a><span class="lineno"> 1305</span> <span class="preprocessor">#undef A2</span></div><div class="line"><a name="l01306"></a><span class="lineno"> 1306</span> <span class="preprocessor">#undef A3</span></div><div class="line"><a name="l01307"></a><span class="lineno"> 1307</span> <span class="preprocessor">#undef A4</span></div><div class="line"><a name="l01308"></a><span class="lineno"> 1308</span> <span class="preprocessor">#undef A5</span></div><div class="line"><a name="l01309"></a><span class="lineno"> 1309</span> <span class="preprocessor">#undef A6</span></div><div class="line"><a name="l01310"></a><span class="lineno"> 1310</span> <span class="preprocessor">#undef A7</span></div><div class="line"><a name="l01311"></a><span class="lineno"> 1311</span> <span class="preprocessor">#undef B0</span></div><div class="line"><a name="l01312"></a><span class="lineno"> 1312</span> <span class="preprocessor">#undef B1</span></div><div class="line"><a name="l01313"></a><span class="lineno"> 1313</span> <span class="preprocessor">#undef B2</span></div><div class="line"><a name="l01314"></a><span class="lineno"> 1314</span> <span class="preprocessor">#undef B3</span></div><div class="line"><a name="l01315"></a><span class="lineno"> 1315</span> <span class="preprocessor">#undef B4</span></div><div class="line"><a name="l01316"></a><span class="lineno"> 1316</span> <span class="preprocessor">#undef B5</span></div><div class="line"><a name="l01317"></a><span class="lineno"> 1317</span> <span class="preprocessor">#undef B6</span></div><div class="line"><a name="l01318"></a><span class="lineno"> 1318</span> <span class="preprocessor">#undef B7</span></div><div class="line"><a name="l01319"></a><span class="lineno"> 1319</span> <span class="preprocessor">#undef C0</span></div><div class="line"><a name="l01320"></a><span class="lineno"> 1320</span> <span class="preprocessor">#undef C1</span></div><div class="line"><a name="l01321"></a><span class="lineno"> 1321</span> <span class="preprocessor">#undef C2</span></div><div class="line"><a name="l01322"></a><span class="lineno"> 1322</span> <span class="preprocessor">#undef C3</span></div><div class="line"><a name="l01323"></a><span class="lineno"> 1323</span> <span class="preprocessor">#undef C4</span></div><div class="line"><a name="l01324"></a><span class="lineno"> 1324</span> <span class="preprocessor">#undef C5</span></div><div class="line"><a name="l01325"></a><span class="lineno"> 1325</span> <span class="preprocessor">#undef C6</span></div><div class="line"><a name="l01326"></a><span class="lineno"> 1326</span> <span class="preprocessor">#undef C7</span></div><div class="line"><a name="l01327"></a><span class="lineno"> 1327</span> <span class="preprocessor">#undef D0</span></div><div class="line"><a name="l01328"></a><span class="lineno"> 1328</span> <span class="preprocessor">#undef D1</span></div><div class="line"><a name="l01329"></a><span class="lineno"> 1329</span> <span class="preprocessor">#undef D2</span></div><div class="line"><a name="l01330"></a><span class="lineno"> 1330</span> <span class="preprocessor">#undef D3</span></div><div class="line"><a name="l01331"></a><span class="lineno"> 1331</span> <span class="preprocessor">#undef D4</span></div><div class="line"><a name="l01332"></a><span class="lineno"> 1332</span> <span class="preprocessor">#undef D5</span></div><div class="line"><a name="l01333"></a><span class="lineno"> 1333</span> <span class="preprocessor">#undef D6</span></div><div class="line"><a name="l01334"></a><span class="lineno"> 1334</span> <span class="preprocessor">#undef D7</span></div><div class="line"><a name="l01335"></a><span class="lineno"> 1335</span> </div><div class="line"><a name="l01336"></a><span class="lineno"> 1336</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l01337"></a><span class="lineno"> 1337</span> </div><div class="line"><a name="l01338"></a><span class="lineno"> 1338</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01339"></a><span class="lineno"> 1339</span> <span class="preprocessor">#define A0 (sc->state[ 0])</span></div><div class="line"><a name="l01340"></a><span class="lineno"> 1340</span> <span class="preprocessor">#define A1 (sc->state[ 1])</span></div><div class="line"><a name="l01341"></a><span class="lineno"> 1341</span> <span class="preprocessor">#define A2 (sc->state[ 2])</span></div><div class="line"><a name="l01342"></a><span class="lineno"> 1342</span> <span class="preprocessor">#define A3 (sc->state[ 3])</span></div><div class="line"><a name="l01343"></a><span class="lineno"> 1343</span> <span class="preprocessor">#define A4 (sc->state[ 4])</span></div><div class="line"><a name="l01344"></a><span class="lineno"> 1344</span> <span class="preprocessor">#define A5 (sc->state[ 5])</span></div><div class="line"><a name="l01345"></a><span class="lineno"> 1345</span> <span class="preprocessor">#define A6 (sc->state[ 6])</span></div><div class="line"><a name="l01346"></a><span class="lineno"> 1346</span> <span class="preprocessor">#define A7 (sc->state[ 7])</span></div><div class="line"><a name="l01347"></a><span class="lineno"> 1347</span> <span class="preprocessor">#define B0 (sc->state[ 8])</span></div><div class="line"><a name="l01348"></a><span class="lineno"> 1348</span> <span class="preprocessor">#define B1 (sc->state[ 9])</span></div><div class="line"><a name="l01349"></a><span class="lineno"> 1349</span> <span class="preprocessor">#define B2 (sc->state[10])</span></div><div class="line"><a name="l01350"></a><span class="lineno"> 1350</span> <span class="preprocessor">#define B3 (sc->state[11])</span></div><div class="line"><a name="l01351"></a><span class="lineno"> 1351</span> <span class="preprocessor">#define B4 (sc->state[12])</span></div><div class="line"><a name="l01352"></a><span class="lineno"> 1352</span> <span class="preprocessor">#define B5 (sc->state[13])</span></div><div class="line"><a name="l01353"></a><span class="lineno"> 1353</span> <span class="preprocessor">#define B6 (sc->state[14])</span></div><div class="line"><a name="l01354"></a><span class="lineno"> 1354</span> <span class="preprocessor">#define B7 (sc->state[15])</span></div><div class="line"><a name="l01355"></a><span class="lineno"> 1355</span> <span class="preprocessor">#define C0 (sc->state[16])</span></div><div class="line"><a name="l01356"></a><span class="lineno"> 1356</span> <span class="preprocessor">#define C1 (sc->state[17])</span></div><div class="line"><a name="l01357"></a><span class="lineno"> 1357</span> <span class="preprocessor">#define C2 (sc->state[18])</span></div><div class="line"><a name="l01358"></a><span class="lineno"> 1358</span> <span class="preprocessor">#define C3 (sc->state[19])</span></div><div class="line"><a name="l01359"></a><span class="lineno"> 1359</span> <span class="preprocessor">#define C4 (sc->state[20])</span></div><div class="line"><a name="l01360"></a><span class="lineno"> 1360</span> <span class="preprocessor">#define C5 (sc->state[21])</span></div><div class="line"><a name="l01361"></a><span class="lineno"> 1361</span> <span class="preprocessor">#define C6 (sc->state[22])</span></div><div class="line"><a name="l01362"></a><span class="lineno"> 1362</span> <span class="preprocessor">#define C7 (sc->state[23])</span></div><div class="line"><a name="l01363"></a><span class="lineno"> 1363</span> <span class="preprocessor">#define D0 (sc->state[24])</span></div><div class="line"><a name="l01364"></a><span class="lineno"> 1364</span> <span class="preprocessor">#define D1 (sc->state[25])</span></div><div class="line"><a name="l01365"></a><span class="lineno"> 1365</span> <span class="preprocessor">#define D2 (sc->state[26])</span></div><div class="line"><a name="l01366"></a><span class="lineno"> 1366</span> <span class="preprocessor">#define D3 (sc->state[27])</span></div><div class="line"><a name="l01367"></a><span class="lineno"> 1367</span> <span class="preprocessor">#define D4 (sc->state[28])</span></div><div class="line"><a name="l01368"></a><span class="lineno"> 1368</span> <span class="preprocessor">#define D5 (sc->state[29])</span></div><div class="line"><a name="l01369"></a><span class="lineno"> 1369</span> <span class="preprocessor">#define D6 (sc->state[30])</span></div><div class="line"><a name="l01370"></a><span class="lineno"> 1370</span> <span class="preprocessor">#define D7 (sc->state[31])</span></div><div class="line"><a name="l01371"></a><span class="lineno"> 1371</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01372"></a><span class="lineno"> 1372</span> </div><div class="line"><a name="l01373"></a><span class="lineno"> 1373</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01374"></a><span class="lineno"><a class="line" href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93"> 1374</a></span> <a class="code" href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93">compress_big</a>(<a class="code" href="structsph__simd__big__context.html">sph_simd_big_context</a> *sc, <span class="keywordtype">int</span> last)</div><div class="line"><a name="l01375"></a><span class="lineno"> 1375</span> {</div><div class="line"><a name="l01376"></a><span class="lineno"> 1376</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *x;</div><div class="line"><a name="l01377"></a><span class="lineno"> 1377</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> q[256];</div><div class="line"><a name="l01378"></a><span class="lineno"> 1378</span>  <span class="keywordtype">int</span> i;</div><div class="line"><a name="l01379"></a><span class="lineno"> 1379</span>  <a class="code" href="simd_8c.html#ab4e3eaaea15315222e93075871a85842">DECL_STATE_BIG</a></div><div class="line"><a name="l01380"></a><span class="lineno"> 1380</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01381"></a><span class="lineno"> 1381</span>  <a class="code" href="sph__types_8h.html#abe306859da1253f97285b59a6d87a997">sph_u32</a> saved[32];</div><div class="line"><a name="l01382"></a><span class="lineno"> 1382</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01383"></a><span class="lineno"> 1383</span> </div><div class="line"><a name="l01384"></a><span class="lineno"> 1384</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01385"></a><span class="lineno"> 1385</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(saved, sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>, <span class="keyword">sizeof</span> saved);</div><div class="line"><a name="l01386"></a><span class="lineno"> 1386</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01387"></a><span class="lineno"> 1387</span> </div><div class="line"><a name="l01388"></a><span class="lineno"> 1388</span>  x = sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>;</div><div class="line"><a name="l01389"></a><span class="lineno"> 1389</span>  <a class="code" href="simd_8c.html#ad75318d8eb05024e06b6ad01c3936c01">FFT256</a>(0, 1, 0, ll);</div><div class="line"><a name="l01390"></a><span class="lineno"> 1390</span>  <span class="keywordflow">if</span> (last) {</div><div class="line"><a name="l01391"></a><span class="lineno"> 1391</span>  <span class="keywordflow">for</span> (i = 0; i < 256; i ++) {</div><div class="line"><a name="l01392"></a><span class="lineno"> 1392</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l01393"></a><span class="lineno"> 1393</span> </div><div class="line"><a name="l01394"></a><span class="lineno"> 1394</span>  tq = q[i] + <a class="code" href="simd_8c.html#a45dc2c05917a5def52fea2adb025bc51">yoff_b_f</a>[i];</div><div class="line"><a name="l01395"></a><span class="lineno"> 1395</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l01396"></a><span class="lineno"> 1396</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01397"></a><span class="lineno"> 1397</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01398"></a><span class="lineno"> 1398</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l01399"></a><span class="lineno"> 1399</span>  }</div><div class="line"><a name="l01400"></a><span class="lineno"> 1400</span>  } <span class="keywordflow">else</span> {</div><div class="line"><a name="l01401"></a><span class="lineno"> 1401</span>  <span class="keywordflow">for</span> (i = 0; i < 256; i ++) {</div><div class="line"><a name="l01402"></a><span class="lineno"> 1402</span>  <a class="code" href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a> tq;</div><div class="line"><a name="l01403"></a><span class="lineno"> 1403</span> </div><div class="line"><a name="l01404"></a><span class="lineno"> 1404</span>  tq = q[i] + <a class="code" href="simd_8c.html#a365ef58323866493550398b84926608f">yoff_b_n</a>[i];</div><div class="line"><a name="l01405"></a><span class="lineno"> 1405</span>  tq = <a class="code" href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a>(tq);</div><div class="line"><a name="l01406"></a><span class="lineno"> 1406</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01407"></a><span class="lineno"> 1407</span>  tq = <a class="code" href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a>(tq);</div><div class="line"><a name="l01408"></a><span class="lineno"> 1408</span>  q[i] = (tq <= 128 ? tq : tq - 257);</div><div class="line"><a name="l01409"></a><span class="lineno"> 1409</span>  }</div><div class="line"><a name="l01410"></a><span class="lineno"> 1410</span>  }</div><div class="line"><a name="l01411"></a><span class="lineno"> 1411</span>  <a class="code" href="simd_8c.html#ab61deb5114426d4508539ee4dccf7bdf">READ_STATE_BIG</a>(sc);</div><div class="line"><a name="l01412"></a><span class="lineno"> 1412</span>  A0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 0);</div><div class="line"><a name="l01413"></a><span class="lineno"> 1413</span>  A1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 4);</div><div class="line"><a name="l01414"></a><span class="lineno"> 1414</span>  A2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 8);</div><div class="line"><a name="l01415"></a><span class="lineno"> 1415</span>  A3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 12);</div><div class="line"><a name="l01416"></a><span class="lineno"> 1416</span>  A4 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 16);</div><div class="line"><a name="l01417"></a><span class="lineno"> 1417</span>  A5 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 20);</div><div class="line"><a name="l01418"></a><span class="lineno"> 1418</span>  A6 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 24);</div><div class="line"><a name="l01419"></a><span class="lineno"> 1419</span>  A7 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 28);</div><div class="line"><a name="l01420"></a><span class="lineno"> 1420</span>  B0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 32);</div><div class="line"><a name="l01421"></a><span class="lineno"> 1421</span>  B1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 36);</div><div class="line"><a name="l01422"></a><span class="lineno"> 1422</span>  B2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 40);</div><div class="line"><a name="l01423"></a><span class="lineno"> 1423</span>  B3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 44);</div><div class="line"><a name="l01424"></a><span class="lineno"> 1424</span>  B4 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 48);</div><div class="line"><a name="l01425"></a><span class="lineno"> 1425</span>  B5 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 52);</div><div class="line"><a name="l01426"></a><span class="lineno"> 1426</span>  B6 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 56);</div><div class="line"><a name="l01427"></a><span class="lineno"> 1427</span>  B7 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 60);</div><div class="line"><a name="l01428"></a><span class="lineno"> 1428</span>  C0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 64);</div><div class="line"><a name="l01429"></a><span class="lineno"> 1429</span>  C1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 68);</div><div class="line"><a name="l01430"></a><span class="lineno"> 1430</span>  C2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 72);</div><div class="line"><a name="l01431"></a><span class="lineno"> 1431</span>  C3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 76);</div><div class="line"><a name="l01432"></a><span class="lineno"> 1432</span>  C4 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 80);</div><div class="line"><a name="l01433"></a><span class="lineno"> 1433</span>  C5 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 84);</div><div class="line"><a name="l01434"></a><span class="lineno"> 1434</span>  C6 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 88);</div><div class="line"><a name="l01435"></a><span class="lineno"> 1435</span>  C7 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 92);</div><div class="line"><a name="l01436"></a><span class="lineno"> 1436</span>  D0 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 96);</div><div class="line"><a name="l01437"></a><span class="lineno"> 1437</span>  D1 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 100);</div><div class="line"><a name="l01438"></a><span class="lineno"> 1438</span>  D2 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 104);</div><div class="line"><a name="l01439"></a><span class="lineno"> 1439</span>  D3 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 108);</div><div class="line"><a name="l01440"></a><span class="lineno"> 1440</span>  D4 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 112);</div><div class="line"><a name="l01441"></a><span class="lineno"> 1441</span>  D5 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 116);</div><div class="line"><a name="l01442"></a><span class="lineno"> 1442</span>  D6 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 120);</div><div class="line"><a name="l01443"></a><span class="lineno"> 1443</span>  D7 ^= <a class="code" href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a>(x + 124);</div><div class="line"><a name="l01444"></a><span class="lineno"> 1444</span> </div><div class="line"><a name="l01445"></a><span class="lineno"> 1445</span>  <a class="code" href="simd_8c.html#a9ad098c6134217cca0890948addaba79">ONE_ROUND_BIG</a>(0<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 0, 3, 23, 17, 27);</div><div class="line"><a name="l01446"></a><span class="lineno"> 1446</span>  <a class="code" href="simd_8c.html#a9ad098c6134217cca0890948addaba79">ONE_ROUND_BIG</a>(1<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 1, 28, 19, 22, 7);</div><div class="line"><a name="l01447"></a><span class="lineno"> 1447</span>  <a class="code" href="simd_8c.html#a9ad098c6134217cca0890948addaba79">ONE_ROUND_BIG</a>(2<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 2, 29, 9, 15, 5);</div><div class="line"><a name="l01448"></a><span class="lineno"> 1448</span>  <a class="code" href="simd_8c.html#a9ad098c6134217cca0890948addaba79">ONE_ROUND_BIG</a>(3<a class="code" href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a>, 3, 4, 13, 10, 25);</div><div class="line"><a name="l01449"></a><span class="lineno"> 1449</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01450"></a><span class="lineno"> 1450</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01451"></a><span class="lineno"> 1451</span>  saved[ 0], saved[ 1], saved[ 2], saved[ 3],</div><div class="line"><a name="l01452"></a><span class="lineno"> 1452</span>  saved[ 4], saved[ 5], saved[ 6], saved[ 7],</div><div class="line"><a name="l01453"></a><span class="lineno"> 1453</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 4, 13, PP8_4_);</div><div class="line"><a name="l01454"></a><span class="lineno"> 1454</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01455"></a><span class="lineno"> 1455</span>  saved[ 8], saved[ 9], saved[10], saved[11],</div><div class="line"><a name="l01456"></a><span class="lineno"> 1456</span>  saved[12], saved[13], saved[14], saved[15],</div><div class="line"><a name="l01457"></a><span class="lineno"> 1457</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 13, 10, PP8_5_);</div><div class="line"><a name="l01458"></a><span class="lineno"> 1458</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01459"></a><span class="lineno"> 1459</span>  saved[16], saved[17], saved[18], saved[19],</div><div class="line"><a name="l01460"></a><span class="lineno"> 1460</span>  saved[20], saved[21], saved[22], saved[23],</div><div class="line"><a name="l01461"></a><span class="lineno"> 1461</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 10, 25, PP8_6_);</div><div class="line"><a name="l01462"></a><span class="lineno"> 1462</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01463"></a><span class="lineno"> 1463</span>  saved[24], saved[25], saved[26], saved[27],</div><div class="line"><a name="l01464"></a><span class="lineno"> 1464</span>  saved[28], saved[29], saved[30], saved[31],</div><div class="line"><a name="l01465"></a><span class="lineno"> 1465</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 25, 4, PP8_0_);</div><div class="line"><a name="l01466"></a><span class="lineno"> 1466</span> <span class="preprocessor">#else</span></div><div class="line"><a name="l01467"></a><span class="lineno"> 1467</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01468"></a><span class="lineno"> 1468</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 0], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 1], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 2], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 3],</div><div class="line"><a name="l01469"></a><span class="lineno"> 1469</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 4], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 5], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 6], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 7],</div><div class="line"><a name="l01470"></a><span class="lineno"> 1470</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 4, 13, PP8_4_);</div><div class="line"><a name="l01471"></a><span class="lineno"> 1471</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01472"></a><span class="lineno"> 1472</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 8], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[ 9], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[10], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[11],</div><div class="line"><a name="l01473"></a><span class="lineno"> 1473</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[12], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[13], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[14], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[15],</div><div class="line"><a name="l01474"></a><span class="lineno"> 1474</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 13, 10, PP8_5_);</div><div class="line"><a name="l01475"></a><span class="lineno"> 1475</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01476"></a><span class="lineno"> 1476</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[16], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[17], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[18], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[19],</div><div class="line"><a name="l01477"></a><span class="lineno"> 1477</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[20], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[21], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[22], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[23],</div><div class="line"><a name="l01478"></a><span class="lineno"> 1478</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 10, 25, PP8_6_);</div><div class="line"><a name="l01479"></a><span class="lineno"> 1479</span>  <a class="code" href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a>(</div><div class="line"><a name="l01480"></a><span class="lineno"> 1480</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[24], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[25], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[26], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[27],</div><div class="line"><a name="l01481"></a><span class="lineno"> 1481</span>  sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[28], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[29], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[30], sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[31],</div><div class="line"><a name="l01482"></a><span class="lineno"> 1482</span>  <a class="code" href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a>, 25, 4, PP8_0_);</div><div class="line"><a name="l01483"></a><span class="lineno"> 1483</span>  <a class="code" href="simd_8c.html#a856c70a0f3f0ef4a50b4affd92367a87">WRITE_STATE_BIG</a>(sc);</div><div class="line"><a name="l01484"></a><span class="lineno"> 1484</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01485"></a><span class="lineno"> 1485</span> }</div><div class="line"><a name="l01486"></a><span class="lineno"> 1486</span> </div><div class="line"><a name="l01487"></a><span class="lineno"> 1487</span> <span class="preprocessor">#if SPH_SIMD_NOCOPY</span></div><div class="line"><a name="l01488"></a><span class="lineno"> 1488</span> <span class="preprocessor">#undef A0</span></div><div class="line"><a name="l01489"></a><span class="lineno"> 1489</span> <span class="preprocessor">#undef A1</span></div><div class="line"><a name="l01490"></a><span class="lineno"> 1490</span> <span class="preprocessor">#undef A2</span></div><div class="line"><a name="l01491"></a><span class="lineno"> 1491</span> <span class="preprocessor">#undef A3</span></div><div class="line"><a name="l01492"></a><span class="lineno"> 1492</span> <span class="preprocessor">#undef A4</span></div><div class="line"><a name="l01493"></a><span class="lineno"> 1493</span> <span class="preprocessor">#undef A5</span></div><div class="line"><a name="l01494"></a><span class="lineno"> 1494</span> <span class="preprocessor">#undef A6</span></div><div class="line"><a name="l01495"></a><span class="lineno"> 1495</span> <span class="preprocessor">#undef A7</span></div><div class="line"><a name="l01496"></a><span class="lineno"> 1496</span> <span class="preprocessor">#undef B0</span></div><div class="line"><a name="l01497"></a><span class="lineno"> 1497</span> <span class="preprocessor">#undef B1</span></div><div class="line"><a name="l01498"></a><span class="lineno"> 1498</span> <span class="preprocessor">#undef B2</span></div><div class="line"><a name="l01499"></a><span class="lineno"> 1499</span> <span class="preprocessor">#undef B3</span></div><div class="line"><a name="l01500"></a><span class="lineno"> 1500</span> <span class="preprocessor">#undef B4</span></div><div class="line"><a name="l01501"></a><span class="lineno"> 1501</span> <span class="preprocessor">#undef B5</span></div><div class="line"><a name="l01502"></a><span class="lineno"> 1502</span> <span class="preprocessor">#undef B6</span></div><div class="line"><a name="l01503"></a><span class="lineno"> 1503</span> <span class="preprocessor">#undef B7</span></div><div class="line"><a name="l01504"></a><span class="lineno"> 1504</span> <span class="preprocessor">#undef C0</span></div><div class="line"><a name="l01505"></a><span class="lineno"> 1505</span> <span class="preprocessor">#undef C1</span></div><div class="line"><a name="l01506"></a><span class="lineno"> 1506</span> <span class="preprocessor">#undef C2</span></div><div class="line"><a name="l01507"></a><span class="lineno"> 1507</span> <span class="preprocessor">#undef C3</span></div><div class="line"><a name="l01508"></a><span class="lineno"> 1508</span> <span class="preprocessor">#undef C4</span></div><div class="line"><a name="l01509"></a><span class="lineno"> 1509</span> <span class="preprocessor">#undef C5</span></div><div class="line"><a name="l01510"></a><span class="lineno"> 1510</span> <span class="preprocessor">#undef C6</span></div><div class="line"><a name="l01511"></a><span class="lineno"> 1511</span> <span class="preprocessor">#undef C7</span></div><div class="line"><a name="l01512"></a><span class="lineno"> 1512</span> <span class="preprocessor">#undef D0</span></div><div class="line"><a name="l01513"></a><span class="lineno"> 1513</span> <span class="preprocessor">#undef D1</span></div><div class="line"><a name="l01514"></a><span class="lineno"> 1514</span> <span class="preprocessor">#undef D2</span></div><div class="line"><a name="l01515"></a><span class="lineno"> 1515</span> <span class="preprocessor">#undef D3</span></div><div class="line"><a name="l01516"></a><span class="lineno"> 1516</span> <span class="preprocessor">#undef D4</span></div><div class="line"><a name="l01517"></a><span class="lineno"> 1517</span> <span class="preprocessor">#undef D5</span></div><div class="line"><a name="l01518"></a><span class="lineno"> 1518</span> <span class="preprocessor">#undef D6</span></div><div class="line"><a name="l01519"></a><span class="lineno"> 1519</span> <span class="preprocessor">#undef D7</span></div><div class="line"><a name="l01520"></a><span class="lineno"> 1520</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01521"></a><span class="lineno"> 1521</span> </div><div class="line"><a name="l01522"></a><span class="lineno"> 1522</span> <span class="preprocessor">#endif</span></div><div class="line"><a name="l01523"></a><span class="lineno"> 1523</span> </div><div class="line"><a name="l01524"></a><span class="lineno"><a class="line" href="simd_8c.html#aec91b09e788209f105be9c4f629bdea3"> 1524</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="simd_8c.html#aec91b09e788209f105be9c4f629bdea3">IV224</a>[] = {</div><div class="line"><a name="l01525"></a><span class="lineno"> 1525</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x33586E9F), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x12FFF033), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB2D9F64D), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x6F8FEA53),</div><div class="line"><a name="l01526"></a><span class="lineno"> 1526</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xDE943106), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x2742E439), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x4FBAB5AC), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x62B9FF96),</div><div class="line"><a name="l01527"></a><span class="lineno"> 1527</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x22E7B0AF), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xC862B3A8), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x33E00CDC), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x236B86A6),</div><div class="line"><a name="l01528"></a><span class="lineno"> 1528</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xF64AE77C), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xFA373B76), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x7DC1EE5B), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x7FB29CE8)</div><div class="line"><a name="l01529"></a><span class="lineno"> 1529</span> };</div><div class="line"><a name="l01530"></a><span class="lineno"> 1530</span> </div><div class="line"><a name="l01531"></a><span class="lineno"><a class="line" href="simd_8c.html#ae6df944ceacc31909273978c840e3df0"> 1531</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="simd_8c.html#ae6df944ceacc31909273978c840e3df0">IV256</a>[] = {</div><div class="line"><a name="l01532"></a><span class="lineno"> 1532</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x4D567983), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x07190BA9), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x8474577B), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x39D726E9),</div><div class="line"><a name="l01533"></a><span class="lineno"> 1533</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xAAF3D925), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x3EE20B03), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xAFD5E751), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xC96006D3),</div><div class="line"><a name="l01534"></a><span class="lineno"> 1534</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xC2C2BA14), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x49B3BCB4), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xF67CAF46), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x668626C9),</div><div class="line"><a name="l01535"></a><span class="lineno"> 1535</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xE2EAA8D2), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x1FF47833), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xD0C661A5), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x55693DE1)</div><div class="line"><a name="l01536"></a><span class="lineno"> 1536</span> };</div><div class="line"><a name="l01537"></a><span class="lineno"> 1537</span> </div><div class="line"><a name="l01538"></a><span class="lineno"><a class="line" href="simd_8c.html#a785e702c26f04f0564ace628efd735e9"> 1538</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="simd_8c.html#a785e702c26f04f0564ace628efd735e9">IV384</a>[] = {</div><div class="line"><a name="l01539"></a><span class="lineno"> 1539</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x8A36EEBC), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x94A3BD90), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xD1537B83), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB25B070B),</div><div class="line"><a name="l01540"></a><span class="lineno"> 1540</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xF463F1B5), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB6F81E20), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x0055C339), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB4D144D1),</div><div class="line"><a name="l01541"></a><span class="lineno"> 1541</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x7360CA61), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x18361A03), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x17DCB4B9), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x3414C45A),</div><div class="line"><a name="l01542"></a><span class="lineno"> 1542</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xA699A9D2), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xE39E9664), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x468BFE77), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x51D062F8),</div><div class="line"><a name="l01543"></a><span class="lineno"> 1543</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB9E3BFE8), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x63BECE2A), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x8FE506B9), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xF8CC4AC2),</div><div class="line"><a name="l01544"></a><span class="lineno"> 1544</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x7AE11542), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB1AADDA1), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x64B06794), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x28D2F462),</div><div class="line"><a name="l01545"></a><span class="lineno"> 1545</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xE64071EC), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x1DEB91A8), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x8AC8DB23), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x3F782AB5),</div><div class="line"><a name="l01546"></a><span class="lineno"> 1546</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x039B5CB8), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x71DDD962), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xFADE2CEA), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x1416DF71)</div><div class="line"><a name="l01547"></a><span class="lineno"> 1547</span> };</div><div class="line"><a name="l01548"></a><span class="lineno"> 1548</span> </div><div class="line"><a name="l01549"></a><span class="lineno"><a class="line" href="simd_8c.html#aa0d756a6fe50e852e3e4335ca0c46efa"> 1549</a></span> <span class="keyword">static</span> <span class="keyword">const</span> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="simd_8c.html#aa0d756a6fe50e852e3e4335ca0c46efa">IV512</a>[] = {</div><div class="line"><a name="l01550"></a><span class="lineno"> 1550</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x0BA16B95), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x72F999AD), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x9FECC2AE), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xBA3264FC),</div><div class="line"><a name="l01551"></a><span class="lineno"> 1551</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x5E894929), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x8E9F30E5), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x2F1DAA37), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xF0F2C558),</div><div class="line"><a name="l01552"></a><span class="lineno"> 1552</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xAC506643), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xA90635A5), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xE25B878B), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xAAB7878F),</div><div class="line"><a name="l01553"></a><span class="lineno"> 1553</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x88817F7A), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x0A02892B), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x559A7550), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x598F657E),</div><div class="line"><a name="l01554"></a><span class="lineno"> 1554</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x7EEF60A1), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x6B70E3E8), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x9C1714D1), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB958E2A8),</div><div class="line"><a name="l01555"></a><span class="lineno"> 1555</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xAB02675E), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xED1C014F), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xCD8D65BB), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xFDB7A257),</div><div class="line"><a name="l01556"></a><span class="lineno"> 1556</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x09254899), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xD699C7BC), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x9019B6DC), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x2B9022E4),</div><div class="line"><a name="l01557"></a><span class="lineno"> 1557</span>  <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x8FA14956), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x21BF9BD3), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0xB94D0943), <a class="code" href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a>(0x6FFDDC22)</div><div class="line"><a name="l01558"></a><span class="lineno"> 1558</span> };</div><div class="line"><a name="l01559"></a><span class="lineno"> 1559</span> </div><div class="line"><a name="l01560"></a><span class="lineno"> 1560</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01561"></a><span class="lineno"><a class="line" href="simd_8c.html#a1052539375c8b79239e20fecc23218c2"> 1561</a></span> <a class="code" href="simd_8c.html#a1052539375c8b79239e20fecc23218c2">init_small</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> *iv)</div><div class="line"><a name="l01562"></a><span class="lineno"> 1562</span> {</div><div class="line"><a name="l01563"></a><span class="lineno"> 1563</span>  <a class="code" href="structsph__simd__small__context.html">sph_simd_small_context</a> *sc;</div><div class="line"><a name="l01564"></a><span class="lineno"> 1564</span> </div><div class="line"><a name="l01565"></a><span class="lineno"> 1565</span>  sc = cc;</div><div class="line"><a name="l01566"></a><span class="lineno"> 1566</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>, iv, <span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>);</div><div class="line"><a name="l01567"></a><span class="lineno"> 1567</span>  sc-><a class="code" href="structsph__simd__small__context.html#abcf803634afa1870e3215e5f0566a20e">count_low</a> = sc-><a class="code" href="structsph__simd__small__context.html#aa4980f9828e1c0449f40efba36f6b903">count_high</a> = 0;</div><div class="line"><a name="l01568"></a><span class="lineno"> 1568</span>  sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a> = 0;</div><div class="line"><a name="l01569"></a><span class="lineno"> 1569</span> }</div><div class="line"><a name="l01570"></a><span class="lineno"> 1570</span> </div><div class="line"><a name="l01571"></a><span class="lineno"> 1571</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01572"></a><span class="lineno"><a class="line" href="simd_8c.html#a783de92bdc76068f19f3bb24fc11a7c7"> 1572</a></span> <a class="code" href="simd_8c.html#a783de92bdc76068f19f3bb24fc11a7c7">init_big</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> *iv)</div><div class="line"><a name="l01573"></a><span class="lineno"> 1573</span> {</div><div class="line"><a name="l01574"></a><span class="lineno"> 1574</span>  <a class="code" href="structsph__simd__big__context.html">sph_simd_big_context</a> *sc;</div><div class="line"><a name="l01575"></a><span class="lineno"> 1575</span> </div><div class="line"><a name="l01576"></a><span class="lineno"> 1576</span>  sc = cc;</div><div class="line"><a name="l01577"></a><span class="lineno"> 1577</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>, iv, <span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>);</div><div class="line"><a name="l01578"></a><span class="lineno"> 1578</span>  sc-><a class="code" href="structsph__simd__big__context.html#a0869d428ed186efa3137783052da74d4">count_low</a> = sc-><a class="code" href="structsph__simd__big__context.html#ae7c05aa3d59f60bd4d06b6abe04e7a7b">count_high</a> = 0;</div><div class="line"><a name="l01579"></a><span class="lineno"> 1579</span>  sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a> = 0;</div><div class="line"><a name="l01580"></a><span class="lineno"> 1580</span> }</div><div class="line"><a name="l01581"></a><span class="lineno"> 1581</span> </div><div class="line"><a name="l01582"></a><span class="lineno"> 1582</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01583"></a><span class="lineno"><a class="line" href="simd_8c.html#ad86e63c35987f4d533aaa268805c867f"> 1583</a></span> <a class="code" href="simd_8c.html#ad86e63c35987f4d533aaa268805c867f">update_small</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, <span class="keywordtype">size_t</span> len)</div><div class="line"><a name="l01584"></a><span class="lineno"> 1584</span> {</div><div class="line"><a name="l01585"></a><span class="lineno"> 1585</span>  <a class="code" href="structsph__simd__small__context.html">sph_simd_small_context</a> *sc;</div><div class="line"><a name="l01586"></a><span class="lineno"> 1586</span> </div><div class="line"><a name="l01587"></a><span class="lineno"> 1587</span>  sc = cc;</div><div class="line"><a name="l01588"></a><span class="lineno"> 1588</span>  <span class="keywordflow">while</span> (len > 0) {</div><div class="line"><a name="l01589"></a><span class="lineno"> 1589</span>  <span class="keywordtype">size_t</span> clen;</div><div class="line"><a name="l01590"></a><span class="lineno"> 1590</span> </div><div class="line"><a name="l01591"></a><span class="lineno"> 1591</span>  clen = (<span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>) - sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a>;</div><div class="line"><a name="l01592"></a><span class="lineno"> 1592</span>  if (clen > len)</div><div class="line"><a name="l01593"></a><span class="lineno"> 1593</span>  clen = len;</div><div class="line"><a name="l01594"></a><span class="lineno"> 1594</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a> + sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a>, <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, clen);</div><div class="line"><a name="l01595"></a><span class="lineno"> 1595</span>  <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a> = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a> + clen;</div><div class="line"><a name="l01596"></a><span class="lineno"> 1596</span>  len -= clen;</div><div class="line"><a name="l01597"></a><span class="lineno"> 1597</span>  <span class="keywordflow">if</span> ((sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a> += clen) == <span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>) {</div><div class="line"><a name="l01598"></a><span class="lineno"> 1598</span>  <a class="code" href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9">compress_small</a>(sc, 0);</div><div class="line"><a name="l01599"></a><span class="lineno"> 1599</span>  sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a> = 0;</div><div class="line"><a name="l01600"></a><span class="lineno"> 1600</span>  sc-><a class="code" href="structsph__simd__small__context.html#abcf803634afa1870e3215e5f0566a20e">count_low</a> = <a class="code" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>(sc-><a class="code" href="structsph__simd__small__context.html#abcf803634afa1870e3215e5f0566a20e">count_low</a> + 1);</div><div class="line"><a name="l01601"></a><span class="lineno"> 1601</span>  <span class="keywordflow">if</span> (sc-><a class="code" href="structsph__simd__small__context.html#abcf803634afa1870e3215e5f0566a20e">count_low</a> == 0)</div><div class="line"><a name="l01602"></a><span class="lineno"> 1602</span>  sc-><a class="code" href="structsph__simd__small__context.html#aa4980f9828e1c0449f40efba36f6b903">count_high</a> ++;</div><div class="line"><a name="l01603"></a><span class="lineno"> 1603</span>  }</div><div class="line"><a name="l01604"></a><span class="lineno"> 1604</span>  }</div><div class="line"><a name="l01605"></a><span class="lineno"> 1605</span> }</div><div class="line"><a name="l01606"></a><span class="lineno"> 1606</span> </div><div class="line"><a name="l01607"></a><span class="lineno"> 1607</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01608"></a><span class="lineno"><a class="line" href="simd_8c.html#a847d123f17f3db4ccf8b8c68c190fd0c"> 1608</a></span> <a class="code" href="simd_8c.html#a847d123f17f3db4ccf8b8c68c190fd0c">update_big</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, <span class="keywordtype">size_t</span> len)</div><div class="line"><a name="l01609"></a><span class="lineno"> 1609</span> {</div><div class="line"><a name="l01610"></a><span class="lineno"> 1610</span>  <a class="code" href="structsph__simd__big__context.html">sph_simd_big_context</a> *sc;</div><div class="line"><a name="l01611"></a><span class="lineno"> 1611</span> </div><div class="line"><a name="l01612"></a><span class="lineno"> 1612</span>  sc = cc;</div><div class="line"><a name="l01613"></a><span class="lineno"> 1613</span>  <span class="keywordflow">while</span> (len > 0) {</div><div class="line"><a name="l01614"></a><span class="lineno"> 1614</span>  <span class="keywordtype">size_t</span> clen;</div><div class="line"><a name="l01615"></a><span class="lineno"> 1615</span> </div><div class="line"><a name="l01616"></a><span class="lineno"> 1616</span>  clen = (<span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>) - sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a>;</div><div class="line"><a name="l01617"></a><span class="lineno"> 1617</span>  if (clen > len)</div><div class="line"><a name="l01618"></a><span class="lineno"> 1618</span>  clen = len;</div><div class="line"><a name="l01619"></a><span class="lineno"> 1619</span>  <a class="code" href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a>(sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a> + sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a>, <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, clen);</div><div class="line"><a name="l01620"></a><span class="lineno"> 1620</span>  <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a> = (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *)<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a> + clen;</div><div class="line"><a name="l01621"></a><span class="lineno"> 1621</span>  len -= clen;</div><div class="line"><a name="l01622"></a><span class="lineno"> 1622</span>  <span class="keywordflow">if</span> ((sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a> += clen) == <span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>) {</div><div class="line"><a name="l01623"></a><span class="lineno"> 1623</span>  <a class="code" href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93">compress_big</a>(sc, 0);</div><div class="line"><a name="l01624"></a><span class="lineno"> 1624</span>  sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a> = 0;</div><div class="line"><a name="l01625"></a><span class="lineno"> 1625</span>  sc-><a class="code" href="structsph__simd__big__context.html#a0869d428ed186efa3137783052da74d4">count_low</a> = <a class="code" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>(sc-><a class="code" href="structsph__simd__big__context.html#a0869d428ed186efa3137783052da74d4">count_low</a> + 1);</div><div class="line"><a name="l01626"></a><span class="lineno"> 1626</span>  <span class="keywordflow">if</span> (sc-><a class="code" href="structsph__simd__big__context.html#a0869d428ed186efa3137783052da74d4">count_low</a> == 0)</div><div class="line"><a name="l01627"></a><span class="lineno"> 1627</span>  sc-><a class="code" href="structsph__simd__big__context.html#ae7c05aa3d59f60bd4d06b6abe04e7a7b">count_high</a> ++;</div><div class="line"><a name="l01628"></a><span class="lineno"> 1628</span>  }</div><div class="line"><a name="l01629"></a><span class="lineno"> 1629</span>  }</div><div class="line"><a name="l01630"></a><span class="lineno"> 1630</span> }</div><div class="line"><a name="l01631"></a><span class="lineno"> 1631</span> </div><div class="line"><a name="l01632"></a><span class="lineno"> 1632</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01633"></a><span class="lineno"><a class="line" href="simd_8c.html#a9984794dc879e50c6ec797ea9bd55a7d"> 1633</a></span> <a class="code" href="simd_8c.html#a9984794dc879e50c6ec797ea9bd55a7d">encode_count_small</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *dst,</div><div class="line"><a name="l01634"></a><span class="lineno"> 1634</span>  <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a>, <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a>, <span class="keywordtype">size_t</span> ptr, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>)</div><div class="line"><a name="l01635"></a><span class="lineno"> 1635</span> {</div><div class="line"><a name="l01636"></a><span class="lineno"> 1636</span>  <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> = <a class="code" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>(<a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> << 9);</div><div class="line"><a name="l01637"></a><span class="lineno"> 1637</span>  <a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a> = <a class="code" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>(<a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a> << 9) + (<a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> >> 23);</div><div class="line"><a name="l01638"></a><span class="lineno"> 1638</span>  <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> += (ptr << 3) + <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>;</div><div class="line"><a name="l01639"></a><span class="lineno"> 1639</span>  <a class="code" href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a>(dst, <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a>);</div><div class="line"><a name="l01640"></a><span class="lineno"> 1640</span>  <a class="code" href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a>(dst + 4, <a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a>);</div><div class="line"><a name="l01641"></a><span class="lineno"> 1641</span> }</div><div class="line"><a name="l01642"></a><span class="lineno"> 1642</span> </div><div class="line"><a name="l01643"></a><span class="lineno"> 1643</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01644"></a><span class="lineno"><a class="line" href="simd_8c.html#af90212b0a3613d006112ab77cc0bb72b"> 1644</a></span> <a class="code" href="simd_8c.html#af90212b0a3613d006112ab77cc0bb72b">encode_count_big</a>(<span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *dst,</div><div class="line"><a name="l01645"></a><span class="lineno"> 1645</span>  <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a>, <a class="code" href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a> <a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a>, <span class="keywordtype">size_t</span> ptr, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>)</div><div class="line"><a name="l01646"></a><span class="lineno"> 1646</span> {</div><div class="line"><a name="l01647"></a><span class="lineno"> 1647</span>  <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> = <a class="code" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>(<a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> << 10);</div><div class="line"><a name="l01648"></a><span class="lineno"> 1648</span>  <a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a> = <a class="code" href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a>(<a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a> << 10) + (<a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> >> 22);</div><div class="line"><a name="l01649"></a><span class="lineno"> 1649</span>  <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a> += (ptr << 3) + <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>;</div><div class="line"><a name="l01650"></a><span class="lineno"> 1650</span>  <a class="code" href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a>(dst, <a class="code" href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a>);</div><div class="line"><a name="l01651"></a><span class="lineno"> 1651</span>  <a class="code" href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a>(dst + 4, <a class="code" href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a>);</div><div class="line"><a name="l01652"></a><span class="lineno"> 1652</span> }</div><div class="line"><a name="l01653"></a><span class="lineno"> 1653</span> </div><div class="line"><a name="l01654"></a><span class="lineno"> 1654</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01655"></a><span class="lineno"><a class="line" href="simd_8c.html#a0373879ea3a4bc00f4bf7aa982a7b443"> 1655</a></span> <a class="code" href="simd_8c.html#a0373879ea3a4bc00f4bf7aa982a7b443">finalize_small</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">unsigned</span> ub, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, <span class="keywordtype">void</span> *dst, <span class="keywordtype">size_t</span> dst_len)</div><div class="line"><a name="l01656"></a><span class="lineno"> 1656</span> {</div><div class="line"><a name="l01657"></a><span class="lineno"> 1657</span>  <a class="code" href="structsph__simd__small__context.html">sph_simd_small_context</a> *sc;</div><div class="line"><a name="l01658"></a><span class="lineno"> 1658</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *d;</div><div class="line"><a name="l01659"></a><span class="lineno"> 1659</span>  <span class="keywordtype">size_t</span> u;</div><div class="line"><a name="l01660"></a><span class="lineno"> 1660</span> </div><div class="line"><a name="l01661"></a><span class="lineno"> 1661</span>  sc = cc;</div><div class="line"><a name="l01662"></a><span class="lineno"> 1662</span>  <span class="keywordflow">if</span> (sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a> > 0 || <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a> > 0) {</div><div class="line"><a name="l01663"></a><span class="lineno"> 1663</span>  memset(sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a> + sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a>, 0,</div><div class="line"><a name="l01664"></a><span class="lineno"> 1664</span>  (<span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>) - sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a>);</div><div class="line"><a name="l01665"></a><span class="lineno"> 1665</span>  sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>[sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a>] = ub & (0xFF << (8 - <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>));</div><div class="line"><a name="l01666"></a><span class="lineno"> 1666</span>  <a class="code" href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9">compress_small</a>(sc, 0);</div><div class="line"><a name="l01667"></a><span class="lineno"> 1667</span>  }</div><div class="line"><a name="l01668"></a><span class="lineno"> 1668</span>  memset(sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>, 0, <span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>);</div><div class="line"><a name="l01669"></a><span class="lineno"> 1669</span>  <a class="code" href="simd_8c.html#a9984794dc879e50c6ec797ea9bd55a7d">encode_count_small</a>(sc-><a class="code" href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">buf</a>, sc-><a class="code" href="structsph__simd__small__context.html#abcf803634afa1870e3215e5f0566a20e">count_low</a>, sc-><a class="code" href="structsph__simd__small__context.html#aa4980f9828e1c0449f40efba36f6b903">count_high</a>, sc-><a class="code" href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">ptr</a>, <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>);</div><div class="line"><a name="l01670"></a><span class="lineno"> 1670</span>  <a class="code" href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9">compress_small</a>(sc, 1);</div><div class="line"><a name="l01671"></a><span class="lineno"> 1671</span>  d = dst;</div><div class="line"><a name="l01672"></a><span class="lineno"> 1672</span>  <span class="keywordflow">for</span> (d = dst, u = 0; u < dst_len; u ++)</div><div class="line"><a name="l01673"></a><span class="lineno"> 1673</span>  <a class="code" href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a>(d + (u << 2), sc-><a class="code" href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">state</a>[u]);</div><div class="line"><a name="l01674"></a><span class="lineno"> 1674</span> }</div><div class="line"><a name="l01675"></a><span class="lineno"> 1675</span> </div><div class="line"><a name="l01676"></a><span class="lineno"> 1676</span> <span class="keyword">static</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01677"></a><span class="lineno"><a class="line" href="simd_8c.html#a2c0c7d4ac3ee848a430097e1f14f52d8"> 1677</a></span> <a class="code" href="simd_8c.html#a2c0c7d4ac3ee848a430097e1f14f52d8">finalize_big</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">unsigned</span> ub, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, <span class="keywordtype">void</span> *dst, <span class="keywordtype">size_t</span> dst_len)</div><div class="line"><a name="l01678"></a><span class="lineno"> 1678</span> {</div><div class="line"><a name="l01679"></a><span class="lineno"> 1679</span>  <a class="code" href="structsph__simd__big__context.html">sph_simd_big_context</a> *sc;</div><div class="line"><a name="l01680"></a><span class="lineno"> 1680</span>  <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> *d;</div><div class="line"><a name="l01681"></a><span class="lineno"> 1681</span>  <span class="keywordtype">size_t</span> u;</div><div class="line"><a name="l01682"></a><span class="lineno"> 1682</span> </div><div class="line"><a name="l01683"></a><span class="lineno"> 1683</span>  sc = cc;</div><div class="line"><a name="l01684"></a><span class="lineno"> 1684</span>  <span class="keywordflow">if</span> (sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a> > 0 || <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a> > 0) {</div><div class="line"><a name="l01685"></a><span class="lineno"> 1685</span>  memset(sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a> + sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a>, 0,</div><div class="line"><a name="l01686"></a><span class="lineno"> 1686</span>  (<span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>) - sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a>);</div><div class="line"><a name="l01687"></a><span class="lineno"> 1687</span>  sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>[sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a>] = ub & (0xFF << (8 - <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>));</div><div class="line"><a name="l01688"></a><span class="lineno"> 1688</span>  <a class="code" href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93">compress_big</a>(sc, 0);</div><div class="line"><a name="l01689"></a><span class="lineno"> 1689</span>  }</div><div class="line"><a name="l01690"></a><span class="lineno"> 1690</span>  memset(sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>, 0, <span class="keyword">sizeof</span> sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>);</div><div class="line"><a name="l01691"></a><span class="lineno"> 1691</span>  <a class="code" href="simd_8c.html#af90212b0a3613d006112ab77cc0bb72b">encode_count_big</a>(sc-><a class="code" href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">buf</a>, sc-><a class="code" href="structsph__simd__big__context.html#a0869d428ed186efa3137783052da74d4">count_low</a>, sc-><a class="code" href="structsph__simd__big__context.html#ae7c05aa3d59f60bd4d06b6abe04e7a7b">count_high</a>, sc-><a class="code" href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">ptr</a>, <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>);</div><div class="line"><a name="l01692"></a><span class="lineno"> 1692</span>  <a class="code" href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93">compress_big</a>(sc, 1);</div><div class="line"><a name="l01693"></a><span class="lineno"> 1693</span>  d = dst;</div><div class="line"><a name="l01694"></a><span class="lineno"> 1694</span>  <span class="keywordflow">for</span> (d = dst, u = 0; u < dst_len; u ++)</div><div class="line"><a name="l01695"></a><span class="lineno"> 1695</span>  <a class="code" href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a>(d + (u << 2), sc-><a class="code" href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">state</a>[u]);</div><div class="line"><a name="l01696"></a><span class="lineno"> 1696</span> }</div><div class="line"><a name="l01697"></a><span class="lineno"> 1697</span> </div><div class="line"><a name="l01698"></a><span class="lineno"> 1698</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01699"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a3f3c7fd00690d0b7f54ce677f28779a8"> 1699</a></span> <a class="code" href="simd_8c.html#a3f3c7fd00690d0b7f54ce677f28779a8">sph_simd224_init</a>(<span class="keywordtype">void</span> *cc)</div><div class="line"><a name="l01700"></a><span class="lineno"> 1700</span> {</div><div class="line"><a name="l01701"></a><span class="lineno"> 1701</span>  <a class="code" href="simd_8c.html#a1052539375c8b79239e20fecc23218c2">init_small</a>(cc, <a class="code" href="simd_8c.html#aec91b09e788209f105be9c4f629bdea3">IV224</a>);</div><div class="line"><a name="l01702"></a><span class="lineno"> 1702</span> }</div><div class="line"><a name="l01703"></a><span class="lineno"> 1703</span> </div><div class="line"><a name="l01704"></a><span class="lineno"> 1704</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01705"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a197dcd3b364e68ecf6ea2690d5244145"> 1705</a></span> <a class="code" href="simd_8c.html#a197dcd3b364e68ecf6ea2690d5244145">sph_simd224</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, <span class="keywordtype">size_t</span> len)</div><div class="line"><a name="l01706"></a><span class="lineno"> 1706</span> {</div><div class="line"><a name="l01707"></a><span class="lineno"> 1707</span>  <a class="code" href="simd_8c.html#ad86e63c35987f4d533aaa268805c867f">update_small</a>(cc, <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, len);</div><div class="line"><a name="l01708"></a><span class="lineno"> 1708</span> }</div><div class="line"><a name="l01709"></a><span class="lineno"> 1709</span> </div><div class="line"><a name="l01710"></a><span class="lineno"> 1710</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01711"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a500ee272f9f15ec7b4fc14de15991728"> 1711</a></span> <a class="code" href="simd_8c.html#a500ee272f9f15ec7b4fc14de15991728">sph_simd224_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01712"></a><span class="lineno"> 1712</span> {</div><div class="line"><a name="l01713"></a><span class="lineno"> 1713</span>  <a class="code" href="simd_8c.html#a6e1e6455d54d00778d0a04a3be33d9a1">sph_simd224_addbits_and_close</a>(cc, 0, 0, dst);</div><div class="line"><a name="l01714"></a><span class="lineno"> 1714</span> }</div><div class="line"><a name="l01715"></a><span class="lineno"> 1715</span> </div><div class="line"><a name="l01716"></a><span class="lineno"> 1716</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01717"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a6e1e6455d54d00778d0a04a3be33d9a1"> 1717</a></span> <a class="code" href="simd_8c.html#a6e1e6455d54d00778d0a04a3be33d9a1">sph_simd224_addbits_and_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">unsigned</span> ub, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01718"></a><span class="lineno"> 1718</span> {</div><div class="line"><a name="l01719"></a><span class="lineno"> 1719</span>  <a class="code" href="simd_8c.html#a0373879ea3a4bc00f4bf7aa982a7b443">finalize_small</a>(cc, ub, <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, dst, 7);</div><div class="line"><a name="l01720"></a><span class="lineno"> 1720</span>  <a class="code" href="simd_8c.html#a3f3c7fd00690d0b7f54ce677f28779a8">sph_simd224_init</a>(cc);</div><div class="line"><a name="l01721"></a><span class="lineno"> 1721</span> }</div><div class="line"><a name="l01722"></a><span class="lineno"> 1722</span> </div><div class="line"><a name="l01723"></a><span class="lineno"> 1723</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01724"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a2fc0299e8c20ad9f11dd92c629f5cc73"> 1724</a></span> <a class="code" href="simd_8c.html#a2fc0299e8c20ad9f11dd92c629f5cc73">sph_simd256_init</a>(<span class="keywordtype">void</span> *cc)</div><div class="line"><a name="l01725"></a><span class="lineno"> 1725</span> {</div><div class="line"><a name="l01726"></a><span class="lineno"> 1726</span>  <a class="code" href="simd_8c.html#a1052539375c8b79239e20fecc23218c2">init_small</a>(cc, <a class="code" href="simd_8c.html#ae6df944ceacc31909273978c840e3df0">IV256</a>);</div><div class="line"><a name="l01727"></a><span class="lineno"> 1727</span> }</div><div class="line"><a name="l01728"></a><span class="lineno"> 1728</span> </div><div class="line"><a name="l01729"></a><span class="lineno"> 1729</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01730"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a4de8f0a66aa1dd5daa3cf5727f8d6525"> 1730</a></span> <a class="code" href="simd_8c.html#a4de8f0a66aa1dd5daa3cf5727f8d6525">sph_simd256</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, <span class="keywordtype">size_t</span> len)</div><div class="line"><a name="l01731"></a><span class="lineno"> 1731</span> {</div><div class="line"><a name="l01732"></a><span class="lineno"> 1732</span>  <a class="code" href="simd_8c.html#ad86e63c35987f4d533aaa268805c867f">update_small</a>(cc, <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, len);</div><div class="line"><a name="l01733"></a><span class="lineno"> 1733</span> }</div><div class="line"><a name="l01734"></a><span class="lineno"> 1734</span> </div><div class="line"><a name="l01735"></a><span class="lineno"> 1735</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01736"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a02749b8b048380f556e2c4b4e43c86f6"> 1736</a></span> <a class="code" href="simd_8c.html#a02749b8b048380f556e2c4b4e43c86f6">sph_simd256_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01737"></a><span class="lineno"> 1737</span> {</div><div class="line"><a name="l01738"></a><span class="lineno"> 1738</span>  <a class="code" href="simd_8c.html#affd5abca3dbf51859e0aa3bc2da05654">sph_simd256_addbits_and_close</a>(cc, 0, 0, dst);</div><div class="line"><a name="l01739"></a><span class="lineno"> 1739</span> }</div><div class="line"><a name="l01740"></a><span class="lineno"> 1740</span> </div><div class="line"><a name="l01741"></a><span class="lineno"> 1741</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01742"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#affd5abca3dbf51859e0aa3bc2da05654"> 1742</a></span> <a class="code" href="simd_8c.html#affd5abca3dbf51859e0aa3bc2da05654">sph_simd256_addbits_and_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">unsigned</span> ub, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01743"></a><span class="lineno"> 1743</span> {</div><div class="line"><a name="l01744"></a><span class="lineno"> 1744</span>  <a class="code" href="simd_8c.html#a0373879ea3a4bc00f4bf7aa982a7b443">finalize_small</a>(cc, ub, <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, dst, 8);</div><div class="line"><a name="l01745"></a><span class="lineno"> 1745</span>  <a class="code" href="simd_8c.html#a2fc0299e8c20ad9f11dd92c629f5cc73">sph_simd256_init</a>(cc);</div><div class="line"><a name="l01746"></a><span class="lineno"> 1746</span> }</div><div class="line"><a name="l01747"></a><span class="lineno"> 1747</span> </div><div class="line"><a name="l01748"></a><span class="lineno"> 1748</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01749"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#adc2cf56fdf260092aa28a16f44774081"> 1749</a></span> <a class="code" href="simd_8c.html#adc2cf56fdf260092aa28a16f44774081">sph_simd384_init</a>(<span class="keywordtype">void</span> *cc)</div><div class="line"><a name="l01750"></a><span class="lineno"> 1750</span> {</div><div class="line"><a name="l01751"></a><span class="lineno"> 1751</span>  <a class="code" href="simd_8c.html#a783de92bdc76068f19f3bb24fc11a7c7">init_big</a>(cc, <a class="code" href="simd_8c.html#a785e702c26f04f0564ace628efd735e9">IV384</a>);</div><div class="line"><a name="l01752"></a><span class="lineno"> 1752</span> }</div><div class="line"><a name="l01753"></a><span class="lineno"> 1753</span> </div><div class="line"><a name="l01754"></a><span class="lineno"> 1754</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01755"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#ae13bfbf733b0b57796ddc1df2e10cd2a"> 1755</a></span> <a class="code" href="simd_8c.html#ae13bfbf733b0b57796ddc1df2e10cd2a">sph_simd384</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, <span class="keywordtype">size_t</span> len)</div><div class="line"><a name="l01756"></a><span class="lineno"> 1756</span> {</div><div class="line"><a name="l01757"></a><span class="lineno"> 1757</span>  <a class="code" href="simd_8c.html#a847d123f17f3db4ccf8b8c68c190fd0c">update_big</a>(cc, <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, len);</div><div class="line"><a name="l01758"></a><span class="lineno"> 1758</span> }</div><div class="line"><a name="l01759"></a><span class="lineno"> 1759</span> </div><div class="line"><a name="l01760"></a><span class="lineno"> 1760</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01761"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a559e029424c4814ee7be15dfb91bc1c0"> 1761</a></span> <a class="code" href="simd_8c.html#a559e029424c4814ee7be15dfb91bc1c0">sph_simd384_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01762"></a><span class="lineno"> 1762</span> {</div><div class="line"><a name="l01763"></a><span class="lineno"> 1763</span>  <a class="code" href="simd_8c.html#ac05f7d1d456d499a421e01ea4f48af94">sph_simd384_addbits_and_close</a>(cc, 0, 0, dst);</div><div class="line"><a name="l01764"></a><span class="lineno"> 1764</span> }</div><div class="line"><a name="l01765"></a><span class="lineno"> 1765</span> </div><div class="line"><a name="l01766"></a><span class="lineno"> 1766</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01767"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#ac05f7d1d456d499a421e01ea4f48af94"> 1767</a></span> <a class="code" href="simd_8c.html#ac05f7d1d456d499a421e01ea4f48af94">sph_simd384_addbits_and_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">unsigned</span> ub, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01768"></a><span class="lineno"> 1768</span> {</div><div class="line"><a name="l01769"></a><span class="lineno"> 1769</span>  <a class="code" href="simd_8c.html#a2c0c7d4ac3ee848a430097e1f14f52d8">finalize_big</a>(cc, ub, <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, dst, 12);</div><div class="line"><a name="l01770"></a><span class="lineno"> 1770</span>  <a class="code" href="simd_8c.html#adc2cf56fdf260092aa28a16f44774081">sph_simd384_init</a>(cc);</div><div class="line"><a name="l01771"></a><span class="lineno"> 1771</span> }</div><div class="line"><a name="l01772"></a><span class="lineno"> 1772</span> </div><div class="line"><a name="l01773"></a><span class="lineno"> 1773</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01774"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a77710618946f707ff6d97661d220aefb"> 1774</a></span> <a class="code" href="simd_8c.html#a77710618946f707ff6d97661d220aefb">sph_simd512_init</a>(<span class="keywordtype">void</span> *cc)</div><div class="line"><a name="l01775"></a><span class="lineno"> 1775</span> {</div><div class="line"><a name="l01776"></a><span class="lineno"> 1776</span>  <a class="code" href="simd_8c.html#a783de92bdc76068f19f3bb24fc11a7c7">init_big</a>(cc, <a class="code" href="simd_8c.html#aa0d756a6fe50e852e3e4335ca0c46efa">IV512</a>);</div><div class="line"><a name="l01777"></a><span class="lineno"> 1777</span> }</div><div class="line"><a name="l01778"></a><span class="lineno"> 1778</span> </div><div class="line"><a name="l01779"></a><span class="lineno"> 1779</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01780"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#a36b145a2e11afe26421e76885a1bd4ac"> 1780</a></span> <a class="code" href="simd_8c.html#a36b145a2e11afe26421e76885a1bd4ac">sph_simd512</a>(<span class="keywordtype">void</span> *cc, <span class="keyword">const</span> <span class="keywordtype">void</span> *<a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, <span class="keywordtype">size_t</span> len)</div><div class="line"><a name="l01781"></a><span class="lineno"> 1781</span> {</div><div class="line"><a name="l01782"></a><span class="lineno"> 1782</span>  <a class="code" href="simd_8c.html#a847d123f17f3db4ccf8b8c68c190fd0c">update_big</a>(cc, <a class="code" href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">data</a>, len);</div><div class="line"><a name="l01783"></a><span class="lineno"> 1783</span> }</div><div class="line"><a name="l01784"></a><span class="lineno"> 1784</span> </div><div class="line"><a name="l01785"></a><span class="lineno"> 1785</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01786"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#aa78bffcf6682d82c71564f11967898a5"> 1786</a></span> <a class="code" href="simd_8c.html#aa78bffcf6682d82c71564f11967898a5">sph_simd512_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01787"></a><span class="lineno"> 1787</span> {</div><div class="line"><a name="l01788"></a><span class="lineno"> 1788</span>  <a class="code" href="simd_8c.html#ae5bfea91cae0a59cb44915da184e635b">sph_simd512_addbits_and_close</a>(cc, 0, 0, dst);</div><div class="line"><a name="l01789"></a><span class="lineno"> 1789</span> }</div><div class="line"><a name="l01790"></a><span class="lineno"> 1790</span> </div><div class="line"><a name="l01791"></a><span class="lineno"> 1791</span> <span class="keywordtype">void</span></div><div class="line"><a name="l01792"></a><span class="lineno"><a class="line" href="sph__simd_8h.html#ae5bfea91cae0a59cb44915da184e635b"> 1792</a></span> <a class="code" href="simd_8c.html#ae5bfea91cae0a59cb44915da184e635b">sph_simd512_addbits_and_close</a>(<span class="keywordtype">void</span> *cc, <span class="keywordtype">unsigned</span> ub, <span class="keywordtype">unsigned</span> <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, <span class="keywordtype">void</span> *dst)</div><div class="line"><a name="l01793"></a><span class="lineno"> 1793</span> {</div><div class="line"><a name="l01794"></a><span class="lineno"> 1794</span>  <a class="code" href="simd_8c.html#a2c0c7d4ac3ee848a430097e1f14f52d8">finalize_big</a>(cc, ub, <a class="code" href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">n</a>, dst, 16);</div><div class="line"><a name="l01795"></a><span class="lineno"> 1795</span>  <a class="code" href="simd_8c.html#a77710618946f707ff6d97661d220aefb">sph_simd512_init</a>(cc);</div><div class="line"><a name="l01796"></a><span class="lineno"> 1796</span> }</div><div class="line"><a name="l01797"></a><span class="lineno"> 1797</span> <span class="preprocessor">#ifdef __cplusplus</span></div><div class="line"><a name="l01798"></a><span class="lineno"> 1798</span> }</div><div class="line"><a name="l01799"></a><span class="lineno"> 1799</span> <span class="preprocessor">#endif</span></div><div class="ttc" id="structsph__simd__small__context_html_a630fc1290014a94a6ba31e68075b335d"><div class="ttname"><a href="structsph__simd__small__context.html#a630fc1290014a94a6ba31e68075b335d">sph_simd_small_context::state</a></div><div class="ttdeci">sph_u32 state[16]</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00081">sph_simd.h:81</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a8d3f096ff3c6424a344750c8f34a6ee4"><div class="ttname"><a href="simd_8c.html#a8d3f096ff3c6424a344750c8f34a6ee4">u32</a></div><div class="ttdeci">sph_u32 u32</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00051">simd.c:51</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a197dcd3b364e68ecf6ea2690d5244145"><div class="ttname"><a href="simd_8c.html#a197dcd3b364e68ecf6ea2690d5244145">sph_simd224</a></div><div class="ttdeci">void sph_simd224(void *cc, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01705">simd.c:1705</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a92825180bd5c05023f379f262e17b88e"><div class="ttname"><a href="simd_8c.html#a92825180bd5c05023f379f262e17b88e">FFT32</a></div><div class="ttdeci">#define FFT32(xb, xs, rb, id)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00202">simd.c:202</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ab61deb5114426d4508539ee4dccf7bdf"><div class="ttname"><a href="simd_8c.html#ab61deb5114426d4508539ee4dccf7bdf">READ_STATE_BIG</a></div><div class="ttdeci">#define READ_STATE_BIG(sc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00595">simd.c:595</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a847d123f17f3db4ccf8b8c68c190fd0c"><div class="ttname"><a href="simd_8c.html#a847d123f17f3db4ccf8b8c68c190fd0c">update_big</a></div><div class="ttdeci">static void update_big(void *cc, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01608">simd.c:1608</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a25fa9b1b965848a3411fc0b66f9f11e4"><div class="ttname"><a href="simd_8c.html#a25fa9b1b965848a3411fc0b66f9f11e4">FFT_LOOP</a></div><div class="ttdeci">#define FFT_LOOP(rb, hk, as, id)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00102">simd.c:102</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a559e029424c4814ee7be15dfb91bc1c0"><div class="ttname"><a href="simd_8c.html#a559e029424c4814ee7be15dfb91bc1c0">sph_simd384_close</a></div><div class="ttdeci">void sph_simd384_close(void *cc, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01761">simd.c:1761</a></div></div>
|
|
<div class="ttc" id="structsph__simd__small__context_html"><div class="ttname"><a href="structsph__simd__small__context.html">sph_simd_small_context</a></div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00077">sph_simd.h:77</a></div></div>
|
|
<div class="ttc" id="structsph__simd__big__context_html_ac1948fd0308eb6281db68aaa9ee4178e"><div class="ttname"><a href="structsph__simd__big__context.html#ac1948fd0308eb6281db68aaa9ee4178e">sph_simd_big_context::state</a></div><div class="ttdeci">sph_u32 state[32]</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00101">sph_simd.h:101</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a11e39154585131689c5812810033f21e"><div class="ttname"><a href="simd_8c.html#a11e39154585131689c5812810033f21e">yoff_s_n</a></div><div class="ttdeci">static const unsigned short yoff_s_n[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00286">simd.c:286</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_adc2cf56fdf260092aa28a16f44774081"><div class="ttname"><a href="simd_8c.html#adc2cf56fdf260092aa28a16f44774081">sph_simd384_init</a></div><div class="ttdeci">void sph_simd384_init(void *cc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01749">simd.c:1749</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a36b145a2e11afe26421e76885a1bd4ac"><div class="ttname"><a href="simd_8c.html#a36b145a2e11afe26421e76885a1bd4ac">sph_simd512</a></div><div class="ttdeci">void sph_simd512(void *cc, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01780">simd.c:1780</a></div></div>
|
|
<div class="ttc" id="sph__types_8h_html_ae95799da2463c9f54c03d8494bb94524"><div class="ttname"><a href="sph__types_8h.html#ae95799da2463c9f54c03d8494bb94524">sph_s32</a></div><div class="ttdeci">long sph_s32</div><div class="ttdef"><b>Definition:</b> <a href="sph__types_8h_source.html#l00871">sph_types.h:871</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ab4a51262925625b80676f524c7a3e9b3"><div class="ttname"><a href="simd_8c.html#ab4a51262925625b80676f524c7a3e9b3">DECL_STATE_SMALL</a></div><div class="ttdeci">#define DECL_STATE_SMALL</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00548">simd.c:548</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_aa78bffcf6682d82c71564f11967898a5"><div class="ttname"><a href="simd_8c.html#aa78bffcf6682d82c71564f11967898a5">sph_simd512_close</a></div><div class="ttdeci">void sph_simd512_close(void *cc, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01786">simd.c:1786</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a2fc0299e8c20ad9f11dd92c629f5cc73"><div class="ttname"><a href="simd_8c.html#a2fc0299e8c20ad9f11dd92c629f5cc73">sph_simd256_init</a></div><div class="ttdeci">void sph_simd256_init(void *cc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01724">simd.c:1724</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a2c0c7d4ac3ee848a430097e1f14f52d8"><div class="ttname"><a href="simd_8c.html#a2c0c7d4ac3ee848a430097e1f14f52d8">finalize_big</a></div><div class="ttdeci">static void finalize_big(void *cc, unsigned ub, unsigned n, void *dst, size_t dst_len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01677">simd.c:1677</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_aa0d756a6fe50e852e3e4335ca0c46efa"><div class="ttname"><a href="simd_8c.html#aa0d756a6fe50e852e3e4335ca0c46efa">IV512</a></div><div class="ttdeci">static const u32 IV512[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01549">simd.c:1549</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a9ad098c6134217cca0890948addaba79"><div class="ttname"><a href="simd_8c.html#a9ad098c6134217cca0890948addaba79">ONE_ROUND_BIG</a></div><div class="ttdeci">#define ONE_ROUND_BIG(ri, isp, p0, p1, p2, p3)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00791">simd.c:791</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a2e959b00d818e0a8a8637ab367d93926"><div class="ttname"><a href="simd_8c.html#a2e959b00d818e0a8a8637ab367d93926">IF</a></div><div class="ttdeci">#define IF(x, y, z)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00458">simd.c:458</a></div></div>
|
|
<div class="ttc" id="keccak_8c_html_ac42516652b5607d4997244736ee931f3"><div class="ttname"><a href="keccak_8c.html#ac42516652b5607d4997244736ee931f3">high</a></div><div class="ttdeci">sph_u32 high</div><div class="ttdef"><b>Definition:</b> <a href="keccak_8c_source.html#l00370">keccak.c:370</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a856c70a0f3f0ef4a50b4affd92367a87"><div class="ttname"><a href="simd_8c.html#a856c70a0f3f0ef4a50b4affd92367a87">WRITE_STATE_BIG</a></div><div class="ttdeci">#define WRITE_STATE_BIG(sc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00630">simd.c:630</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ac05f7d1d456d499a421e01ea4f48af94"><div class="ttname"><a href="simd_8c.html#ac05f7d1d456d499a421e01ea4f48af94">sph_simd384_addbits_and_close</a></div><div class="ttdeci">void sph_simd384_addbits_and_close(void *cc, unsigned ub, unsigned n, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01767">simd.c:1767</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_af2008331a655947d749c13189118aaf4"><div class="ttname"><a href="simd_8c.html#af2008331a655947d749c13189118aaf4">STEP_BIG</a></div><div class="ttdeci">#define STEP_BIG(w0, w1, w2, w3, w4, w5, w6, w7, fun, r, s, pp8b)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00686">simd.c:686</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_af7e94154ff46db7fcb8e090724012a21"><div class="ttname"><a href="simd_8c.html#af7e94154ff46db7fcb8e090724012a21">REDS2</a></div><div class="ttdeci">#define REDS2(x)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00094">simd.c:94</a></div></div>
|
|
<div class="ttc" id="sph__types_8h_html_aa552d4f0546f0147dc7aa114dfdc534f"><div class="ttname"><a href="sph__types_8h.html#aa552d4f0546f0147dc7aa114dfdc534f">sph_dec32le_aligned</a></div><div class="ttdeci">static SPH_INLINE sph_u32 sph_dec32le_aligned(const void *src)</div><div class="ttdef"><b>Definition:</b> <a href="sph__types_8h_source.html#l01615">sph_types.h:1615</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ae6df944ceacc31909273978c840e3df0"><div class="ttname"><a href="simd_8c.html#ae6df944ceacc31909273978c840e3df0">IV256</a></div><div class="ttdeci">static const u32 IV256[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01531">simd.c:1531</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a9984794dc879e50c6ec797ea9bd55a7d"><div class="ttname"><a href="simd_8c.html#a9984794dc879e50c6ec797ea9bd55a7d">encode_count_small</a></div><div class="ttdeci">static void encode_count_small(unsigned char *dst, u32 low, u32 high, size_t ptr, unsigned n)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01633">simd.c:1633</a></div></div>
|
|
<div class="ttc" id="structsph__simd__small__context_html_aa4980f9828e1c0449f40efba36f6b903"><div class="ttname"><a href="structsph__simd__small__context.html#aa4980f9828e1c0449f40efba36f6b903">sph_simd_small_context::count_high</a></div><div class="ttdeci">sph_u32 count_high</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00082">sph_simd.h:82</a></div></div>
|
|
<div class="ttc" id="sph__simd_8h_html"><div class="ttname"><a href="sph__simd_8h.html">sph_simd.h</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a45dc2c05917a5def52fea2adb025bc51"><div class="ttname"><a href="simd_8c.html#a45dc2c05917a5def52fea2adb025bc51">yoff_b_f</a></div><div class="ttdeci">static const unsigned short yoff_b_f[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00348">simd.c:348</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_af445f21af6d17905bce237c8884313d2"><div class="ttname"><a href="simd_8c.html#af445f21af6d17905bce237c8884313d2">REDS1</a></div><div class="ttdeci">#define REDS1(x)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00093">simd.c:93</a></div></div>
|
|
<div class="ttc" id="namespacegen__base58__test__vectors_html_a8d12b07536a476098e3d74b6a79dfc9a"><div class="ttname"><a href="namespacegen__base58__test__vectors.html#a8d12b07536a476098e3d74b6a79dfc9a">gen_base58_test_vectors.data</a></div><div class="ttdeci">data</div><div class="ttdef"><b>Definition:</b> <a href="gen__base58__test__vectors_8py_source.html#l00123">gen_base58_test_vectors.py:123</a></div></div>
|
|
<div class="ttc" id="structsph__simd__small__context_html_ad880e8f6b32fcd022c0b3bd6cf864957"><div class="ttname"><a href="structsph__simd__small__context.html#ad880e8f6b32fcd022c0b3bd6cf864957">sph_simd_small_context::buf</a></div><div class="ttdeci">unsigned char buf[64]</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00079">sph_simd.h:79</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_afbb65d5d87ebcb862a1e9623a9f9cfac"><div class="ttname"><a href="simd_8c.html#afbb65d5d87ebcb862a1e9623a9f9cfac">T32</a></div><div class="ttdeci">#define T32</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00054">simd.c:54</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a67d66b81f24d0e42a8cfdfd8d556f4f9"><div class="ttname"><a href="simd_8c.html#a67d66b81f24d0e42a8cfdfd8d556f4f9">READ_STATE_SMALL</a></div><div class="ttdeci">#define READ_STATE_SMALL(sc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00551">simd.c:551</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a8b8ad125402af941f157568cfb4ce0a1"><div class="ttname"><a href="simd_8c.html#a8b8ad125402af941f157568cfb4ce0a1">C32</a></div><div class="ttdeci">#define C32</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00053">simd.c:53</a></div></div>
|
|
<div class="ttc" id="structsph__simd__big__context_html_a4d67b9491c7243d7e372de7ca01a717f"><div class="ttname"><a href="structsph__simd__big__context.html#a4d67b9491c7243d7e372de7ca01a717f">sph_simd_big_context::buf</a></div><div class="ttdeci">unsigned char buf[128]</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00099">sph_simd.h:99</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a4abd541f08c7707483ea994bb97603d3"><div class="ttname"><a href="simd_8c.html#a4abd541f08c7707483ea994bb97603d3">WRITE_STATE_SMALL</a></div><div class="ttdeci">#define WRITE_STATE_SMALL(sc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00570">simd.c:570</a></div></div>
|
|
<div class="ttc" id="structsph__simd__big__context_html"><div class="ttname"><a href="structsph__simd__big__context.html">sph_simd_big_context</a></div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00097">sph_simd.h:97</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_aec91b09e788209f105be9c4f629bdea3"><div class="ttname"><a href="simd_8c.html#aec91b09e788209f105be9c4f629bdea3">IV224</a></div><div class="ttdeci">static const u32 IV224[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01524">simd.c:1524</a></div></div>
|
|
<div class="ttc" id="namespacefix-copyright-headers_html_aed10e06fbf20b2e50f73ff2d61f59e45"><div class="ttname"><a href="namespacefix-copyright-headers.html#aed10e06fbf20b2e50f73ff2d61f59e45">fix-copyright-headers.n</a></div><div class="ttdeci">int n</div><div class="ttdef"><b>Definition:</b> <a href="fix-copyright-headers_8py_source.html#l00046">fix-copyright-headers.py:46</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ae5bfea91cae0a59cb44915da184e635b"><div class="ttname"><a href="simd_8c.html#ae5bfea91cae0a59cb44915da184e635b">sph_simd512_addbits_and_close</a></div><div class="ttdeci">void sph_simd512_addbits_and_close(void *cc, unsigned ub, unsigned n, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01792">simd.c:1792</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a99e61f96a32c56a36a88309ff3eb4a93"><div class="ttname"><a href="simd_8c.html#a99e61f96a32c56a36a88309ff3eb4a93">compress_big</a></div><div class="ttdeci">static void compress_big(sph_simd_big_context *sc, int last)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01374">simd.c:1374</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a9ecf5904f2e6ffbbc72aae91578d6a28"><div class="ttname"><a href="simd_8c.html#a9ecf5904f2e6ffbbc72aae91578d6a28">ONE_ROUND_SMALL</a></div><div class="ttdeci">#define ONE_ROUND_SMALL(ri, isp, p0, p1, p2, p3)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00734">simd.c:734</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a365ef58323866493550398b84926608f"><div class="ttname"><a href="simd_8c.html#a365ef58323866493550398b84926608f">yoff_b_n</a></div><div class="ttdeci">static const unsigned short yoff_b_n[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00320">simd.c:320</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_af90212b0a3613d006112ab77cc0bb72b"><div class="ttname"><a href="simd_8c.html#af90212b0a3613d006112ab77cc0bb72b">encode_count_big</a></div><div class="ttdeci">static void encode_count_big(unsigned char *dst, u32 low, u32 high, size_t ptr, unsigned n)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01644">simd.c:1644</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_abe91618fd01bafe8889c24c1987bc137"><div class="ttname"><a href="simd_8c.html#abe91618fd01bafe8889c24c1987bc137">STEP_SMALL</a></div><div class="ttdeci">#define STEP_SMALL(w0, w1, w2, w3, fun, r, s, pp4b)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00675">simd.c:675</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ae5e7a7c04722a30c78e0e3600903c541"><div class="ttname"><a href="simd_8c.html#ae5e7a7c04722a30c78e0e3600903c541">alpha_tab</a></div><div class="ttdeci">static const s32 alpha_tab[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00063">simd.c:63</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ae2f6c7a0b4fdb15387259356b16854c9"><div class="ttname"><a href="simd_8c.html#ae2f6c7a0b4fdb15387259356b16854c9">MAJ</a></div><div class="ttdeci">#define MAJ(x, y, z)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00459">simd.c:459</a></div></div>
|
|
<div class="ttc" id="sph__types_8h_html_ac2371b8cc05f7846094fb25d2ef48364"><div class="ttname"><a href="sph__types_8h.html#ac2371b8cc05f7846094fb25d2ef48364">sph_enc32le</a></div><div class="ttdeci">static SPH_INLINE void sph_enc32le(void *dst, sph_u32 val)</div><div class="ttdef"><b>Definition:</b> <a href="sph__types_8h_source.html#l01485">sph_types.h:1485</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_affd5abca3dbf51859e0aa3bc2da05654"><div class="ttname"><a href="simd_8c.html#affd5abca3dbf51859e0aa3bc2da05654">sph_simd256_addbits_and_close</a></div><div class="ttdeci">void sph_simd256_addbits_and_close(void *cc, unsigned ub, unsigned n, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01742">simd.c:1742</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a02749b8b048380f556e2c4b4e43c86f6"><div class="ttname"><a href="simd_8c.html#a02749b8b048380f556e2c4b4e43c86f6">sph_simd256_close</a></div><div class="ttdeci">void sph_simd256_close(void *cc, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01736">simd.c:1736</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a1052539375c8b79239e20fecc23218c2"><div class="ttname"><a href="simd_8c.html#a1052539375c8b79239e20fecc23218c2">init_small</a></div><div class="ttdeci">static void init_small(void *cc, const u32 *iv)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01561">simd.c:1561</a></div></div>
|
|
<div class="ttc" id="structsph__simd__big__context_html_a0f5cd2f56abcf6ab9e0a6177e970814f"><div class="ttname"><a href="structsph__simd__big__context.html#a0f5cd2f56abcf6ab9e0a6177e970814f">sph_simd_big_context::ptr</a></div><div class="ttdeci">size_t ptr</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00100">sph_simd.h:100</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ab67a1892fcd8a65582ab9c5429798500"><div class="ttname"><a href="simd_8c.html#ab67a1892fcd8a65582ab9c5429798500">yoff_s_f</a></div><div class="ttdeci">static const unsigned short yoff_s_f[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00303">simd.c:303</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a6e1e6455d54d00778d0a04a3be33d9a1"><div class="ttname"><a href="simd_8c.html#a6e1e6455d54d00778d0a04a3be33d9a1">sph_simd224_addbits_and_close</a></div><div class="ttdeci">void sph_simd224_addbits_and_close(void *cc, unsigned ub, unsigned n, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01717">simd.c:1717</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a0373879ea3a4bc00f4bf7aa982a7b443"><div class="ttname"><a href="simd_8c.html#a0373879ea3a4bc00f4bf7aa982a7b443">finalize_small</a></div><div class="ttdeci">static void finalize_small(void *cc, unsigned ub, unsigned n, void *dst, size_t dst_len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01655">simd.c:1655</a></div></div>
|
|
<div class="ttc" id="structsph__simd__small__context_html_abcf803634afa1870e3215e5f0566a20e"><div class="ttname"><a href="structsph__simd__small__context.html#abcf803634afa1870e3215e5f0566a20e">sph_simd_small_context::count_low</a></div><div class="ttdeci">sph_u32 count_low</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00082">sph_simd.h:82</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ae13bfbf733b0b57796ddc1df2e10cd2a"><div class="ttname"><a href="simd_8c.html#ae13bfbf733b0b57796ddc1df2e10cd2a">sph_simd384</a></div><div class="ttdeci">void sph_simd384(void *cc, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01755">simd.c:1755</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a3f3c7fd00690d0b7f54ce677f28779a8"><div class="ttname"><a href="simd_8c.html#a3f3c7fd00690d0b7f54ce677f28779a8">sph_simd224_init</a></div><div class="ttdeci">void sph_simd224_init(void *cc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01699">simd.c:1699</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ad75318d8eb05024e06b6ad01c3936c01"><div class="ttname"><a href="simd_8c.html#ad75318d8eb05024e06b6ad01c3936c01">FFT256</a></div><div class="ttdeci">#define FFT256(xb, xs, rb, id)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00273">simd.c:273</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ad86e63c35987f4d533aaa268805c867f"><div class="ttname"><a href="simd_8c.html#ad86e63c35987f4d533aaa268805c867f">update_small</a></div><div class="ttdeci">static void update_small(void *cc, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01583">simd.c:1583</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a4de8f0a66aa1dd5daa3cf5727f8d6525"><div class="ttname"><a href="simd_8c.html#a4de8f0a66aa1dd5daa3cf5727f8d6525">sph_simd256</a></div><div class="ttdeci">void sph_simd256(void *cc, const void *data, size_t len)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01730">simd.c:1730</a></div></div>
|
|
<div class="ttc" id="structsph__simd__small__context_html_ac8a2be8d4bc194be8b4cdab9cbc788b0"><div class="ttname"><a href="structsph__simd__small__context.html#ac8a2be8d4bc194be8b4cdab9cbc788b0">sph_simd_small_context::ptr</a></div><div class="ttdeci">size_t ptr</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00080">sph_simd.h:80</a></div></div>
|
|
<div class="ttc" id="glibc__compat_8cpp_html_a0f46826ab0466591e136db24394923cf"><div class="ttname"><a href="glibc__compat_8cpp.html#a0f46826ab0466591e136db24394923cf">memcpy</a></div><div class="ttdeci">void * memcpy(void *a, const void *b, size_t c)</div><div class="ttdef"><b>Definition:</b> <a href="glibc__compat_8cpp_source.html#l00017">glibc_compat.cpp:17</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a78730e25377e926f4070709842bc4b77"><div class="ttname"><a href="simd_8c.html#a78730e25377e926f4070709842bc4b77">FFT128</a></div><div class="ttdeci">#define FFT128(xb, xs, rb, id)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00245">simd.c:245</a></div></div>
|
|
<div class="ttc" id="keccak_8c_html_a98a822ea2bafa14fb7b509f97b38b464"><div class="ttname"><a href="keccak_8c.html#a98a822ea2bafa14fb7b509f97b38b464">low</a></div><div class="ttdeci">sph_u32 low</div><div class="ttdef"><b>Definition:</b> <a href="keccak_8c_source.html#l00370">keccak.c:370</a></div></div>
|
|
<div class="ttc" id="sph__types_8h_html_abe306859da1253f97285b59a6d87a997"><div class="ttname"><a href="sph__types_8h.html#abe306859da1253f97285b59a6d87a997">sph_u32</a></div><div class="ttdeci">unsigned long sph_u32</div><div class="ttdef"><b>Definition:</b> <a href="sph__types_8h_source.html#l00870">sph_types.h:870</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a785e702c26f04f0564ace628efd735e9"><div class="ttname"><a href="simd_8c.html#a785e702c26f04f0564ace628efd735e9">IV384</a></div><div class="ttdeci">static const u32 IV384[]</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01538">simd.c:1538</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ac486e0927e3e32dcc847013051e965e9"><div class="ttname"><a href="simd_8c.html#ac486e0927e3e32dcc847013051e965e9">compress_small</a></div><div class="ttdeci">static void compress_small(sph_simd_small_context *sc, int last)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00996">simd.c:996</a></div></div>
|
|
<div class="ttc" id="structsph__simd__big__context_html_a0869d428ed186efa3137783052da74d4"><div class="ttname"><a href="structsph__simd__big__context.html#a0869d428ed186efa3137783052da74d4">sph_simd_big_context::count_low</a></div><div class="ttdeci">sph_u32 count_low</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00102">sph_simd.h:102</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a0c3894d1660ae5b2275ea99e18ffc8d3"><div class="ttname"><a href="simd_8c.html#a0c3894d1660ae5b2275ea99e18ffc8d3">FFT16</a></div><div class="ttdeci">#define FFT16(xb, xs, rb)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00176">simd.c:176</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a77710618946f707ff6d97661d220aefb"><div class="ttname"><a href="simd_8c.html#a77710618946f707ff6d97661d220aefb">sph_simd512_init</a></div><div class="ttdeci">void sph_simd512_init(void *cc)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01774">simd.c:1774</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a0c9f1779d5e8021d523b55e021ca5fd1"><div class="ttname"><a href="simd_8c.html#a0c9f1779d5e8021d523b55e021ca5fd1">s32</a></div><div class="ttdeci">sph_s32 s32</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00052">simd.c:52</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_ab4e3eaaea15315222e93075871a85842"><div class="ttname"><a href="simd_8c.html#ab4e3eaaea15315222e93075871a85842">DECL_STATE_BIG</a></div><div class="ttdeci">#define DECL_STATE_BIG</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00589">simd.c:589</a></div></div>
|
|
<div class="ttc" id="util_8h_html_aad133bb6103b53cebf03fd01e2f11ba1"><div class="ttname"><a href="util_8h.html#aad133bb6103b53cebf03fd01e2f11ba1">_</a></div><div class="ttdeci">std::string _(const char *psz)</div><div class="ttdef"><b>Definition:</b> <a href="util_8h_source.html#l00084">util.h:84</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a783de92bdc76068f19f3bb24fc11a7c7"><div class="ttname"><a href="simd_8c.html#a783de92bdc76068f19f3bb24fc11a7c7">init_big</a></div><div class="ttdeci">static void init_big(void *cc, const u32 *iv)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01572">simd.c:1572</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_aaa7f20d77f7c816217f98de3af65f93a"><div class="ttname"><a href="simd_8c.html#aaa7f20d77f7c816217f98de3af65f93a">fft64</a></div><div class="ttdeci">static void fft64(unsigned char *x, size_t xs, s32 *q)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l00260">simd.c:260</a></div></div>
|
|
<div class="ttc" id="structsph__simd__big__context_html_ae7c05aa3d59f60bd4d06b6abe04e7a7b"><div class="ttname"><a href="structsph__simd__big__context.html#ae7c05aa3d59f60bd4d06b6abe04e7a7b">sph_simd_big_context::count_high</a></div><div class="ttdeci">sph_u32 count_high</div><div class="ttdef"><b>Definition:</b> <a href="sph__simd_8h_source.html#l00102">sph_simd.h:102</a></div></div>
|
|
<div class="ttc" id="simd_8c_html_a500ee272f9f15ec7b4fc14de15991728"><div class="ttname"><a href="simd_8c.html#a500ee272f9f15ec7b4fc14de15991728">sph_simd224_close</a></div><div class="ttdeci">void sph_simd224_close(void *cc, void *dst)</div><div class="ttdef"><b>Definition:</b> <a href="simd_8c_source.html#l01711">simd.c:1711</a></div></div>
|
|
</div><!-- fragment --></div><!-- contents -->
|
|
</div><!-- doc-content -->
|
|
<!-- start footer part -->
|
|
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
|
|
<ul>
|
|
<li class="navelem"><a class="el" href="dir_68267d1309a1af8e8297ef4c3efbcdba.html">src</a></li><li class="navelem"><a class="el" href="dir_4261af1259721e3e39e0d2dd7354b511.html">crypto</a></li><li class="navelem"><a class="el" href="simd_8c.html">simd.c</a></li>
|
|
<li class="footer">Generated on Thu Dec 14 2017 13:15:02 for Dash Core by
|
|
<a href="http://www.doxygen.org/index.html">
|
|
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.14 </li>
|
|
</ul>
|
|
</div>
|
|
</body>
|
|
</html>
|