<div class="title">CPUFeatures.h</div> </div>
</div><!--header-->
<div class="contents">
-<a href="../../d2/db5/_c_p_u_features_8h.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">// MuldeR's Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// Copyright (C) 2004-2021 LoRd_MuldeR <MuldeR2@GMX.de></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">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//MUtils</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <<a class="code" href="../../d5/d3b/_global_8h.html">MUtils/Global.h</a>></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">//Qt</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <QStringList></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"><a class="line" href="../../d3/da6/namespace_m_utils.html"> 37</a></span> <span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html"> 44</a></span>  <span class="keyword">namespace </span>CPUFetaures</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// CPU vendor flag</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f"> 47</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint8 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f">VENDOR_INTEL</a> = 0x01U; </div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e"> 48</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint8 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e">VENDOR_AMD</a> = 0x02U; </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="comment">// CPU feature flag</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c"> 51</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c">FLAG_CMOV</a> = 0x001U; </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf"> 52</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf">FLAG_MMX</a> = 0x002U; </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90"> 53</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">FLAG_SSE</a> = 0x004U; </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8"> 54</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8">FLAG_SSE2</a> = 0x008U; </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061"> 55</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061">FLAG_SSE3</a> = 0x010U; </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05"> 56</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05">FLAG_SSSE3</a> = 0x020U; </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b"> 57</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b">FLAG_SSE41</a> = 0x040U; </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99"> 58</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99">FLAG_SSE42</a> = 0x080U; </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb"> 59</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb">FLAG_AVX</a> = 0x100U; </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c"> 60</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c">FLAG_AVX2</a> = 0x200U; </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a"> 61</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a">FLAG_FMA3</a> = 0x400U; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01"> 62</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01">FLAG_LZCNT</a> = 0x800U; </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html"> 67</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">_cpu_info_t</a></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#afefb6e7d6165b8de9bee1f17df826392"> 69</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#afefb6e7d6165b8de9bee1f17df826392">family</a>; </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7d0a012412dc4b04f2b5b37e83f5874a"> 70</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7d0a012412dc4b04f2b5b37e83f5874a">model</a>; </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a1cfc86c6c61d35c7bd6f2a9cbecb99e4"> 71</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a1cfc86c6c61d35c7bd6f2a9cbecb99e4">stepping</a>; </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7861529c47568141daa37810ebb499ea"> 72</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7861529c47568141daa37810ebb499ea">count</a>; </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a8f312e3386a9f56a8d10b890af3ce3af"> 73</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a8f312e3386a9f56a8d10b890af3ce3af">features</a>; </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#aebb4aa6da8a1c381715a792f8904222f"> 74</a></span>  <span class="keywordtype">bool</span> <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#aebb4aa6da8a1c381715a792f8904222f">x64</a>; </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a932a85bcdb1be4b191d8ecd61b87ad26"> 75</a></span>  quint8 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a932a85bcdb1be4b191d8ecd61b87ad26">vendor</a>; </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a58ab7955a771f842c3f16abd8cebb931"> 76</a></span>  <span class="keywordtype">char</span> <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a58ab7955a771f842c3f16abd8cebb931">idstr</a>[13]; </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a2986daa8c1b524a7f952eacb8d516696"> 77</a></span>  <span class="keywordtype">char</span> <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a2986daa8c1b524a7f952eacb8d516696">brand</a>[48]; </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a8b80fb34713dbc70a63ae5cd48b0630e">cpu_info_t</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  MUTILS_API <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">cpu_info_t</a> <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc">detect</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div><div class="ttc" id="struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t_html_afefb6e7d6165b8de9bee1f17df826392"><div class="ttname"><a href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#afefb6e7d6165b8de9bee1f17df826392">MUtils::CPUFetaures::_cpu_info_t::family</a></div><div class="ttdeci">quint32 family</div><div class="ttdoc">CPU family indicator, which specifies the processor "generation" to which the CPU belongs...</div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:69</div></div>
+<a href="../../d2/db5/_c_p_u_features_8h.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">// MuldeR's Utilities for Qt</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span> <span class="comment">// Copyright (C) 2004-2022 LoRd_MuldeR <MuldeR2@GMX.de></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">// This library is free software; you can redistribute it and/or</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span> <span class="comment">// modify it under the terms of the GNU Lesser General Public</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span> <span class="comment">// License as published by the Free Software Foundation; either</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span> <span class="comment">// version 2.1 of the License, or (at your option) any later version.</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span> <span class="comment">//</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span> <span class="comment">// This library is distributed in the hope that it will be useful,</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span> <span class="comment">// but WITHOUT ANY WARRANTY; without even the implied warranty of</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span> <span class="comment">// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span> <span class="comment">// Lesser General Public License for more details.</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span> <span class="comment">//</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span> <span class="comment">// You should have received a copy of the GNU Lesser General Public</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span> <span class="comment">// License along with this library; if not, write to the Free Software</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span> <span class="comment">// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span> <span class="comment">//</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span> <span class="comment">// http://www.gnu.org/licenses/lgpl-2.1.txt</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span> <span class="comment"></span></div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span> <span class="preprocessor">#pragma once</span></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span> </div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span> <span class="comment">//MUtils</span></div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span> <span class="preprocessor">#include <<a class="code" href="../../d5/d3b/_global_8h.html">MUtils/Global.h</a>></span></div><div class="line"><a name="l00033"></a><span class="lineno"> 33</span> </div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span> <span class="comment">//Qt</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span> <span class="preprocessor">#include <QStringList></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"><a class="line" href="../../d3/da6/namespace_m_utils.html"> 37</a></span> <span class="keyword">namespace </span><a class="code" href="../../d3/da6/namespace_m_utils.html">MUtils</a></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span> {</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html"> 44</a></span>  <span class="keyword">namespace </span>CPUFetaures</div><div class="line"><a name="l00045"></a><span class="lineno"> 45</span>  {</div><div class="line"><a name="l00046"></a><span class="lineno"> 46</span>  <span class="comment">// CPU vendor flag</span></div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f"> 47</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint8 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#af1d34d67451c27e125b507089bfd147f">VENDOR_INTEL</a> = 0x01U; </div><div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e"> 48</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint8 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a37e26e9e81b42bd517928449fa28fc4e">VENDOR_AMD</a> = 0x02U; </div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span> </div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>  <span class="comment">// CPU feature flag</span></div><div class="line"><a name="l00051"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c"> 51</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#adf2416d7ed2553f313fb08c289365f5c">FLAG_CMOV</a> = 0x001U; </div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf"> 52</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a1c2235ceac6576dace2a0ea9ddc1cbdf">FLAG_MMX</a> = 0x002U; </div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90"> 53</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">FLAG_SSE</a> = 0x004U; </div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8"> 54</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9ba4833265029796db9279e9bd8beae8">FLAG_SSE2</a> = 0x008U; </div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061"> 55</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a52bb099e73cb9f6d02ef6ac9f89b4061">FLAG_SSE3</a> = 0x010U; </div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05"> 56</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5125a29c37e57656f45ad168e654fd05">FLAG_SSSE3</a> = 0x020U; </div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b"> 57</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a425bc8f89d64bf6dafdbd00c89b9874b">FLAG_SSE41</a> = 0x040U; </div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99"> 58</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#afcb03b5edb1518bfca9984ff9ccc4f99">FLAG_SSE42</a> = 0x080U; </div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb"> 59</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#ad8a4de23ab21ecd4871358e7edea90cb">FLAG_AVX</a> = 0x100U; </div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c"> 60</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a9d8a032c0fdeb501e4a39826ab2aa23c">FLAG_AVX2</a> = 0x200U; </div><div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a"> 61</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a0700ba3ad4c671b7a6465b871bd60d2a">FLAG_FMA3</a> = 0x400U; </div><div class="line"><a name="l00062"></a><span class="lineno"><a class="line" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01"> 62</a></span>  <span class="keyword">static</span> <span class="keyword">const</span> quint32 <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#acac041ff2292d32c1bd3f26f61486a01">FLAG_LZCNT</a> = 0x800U; </div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span> </div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html"> 67</a></span>  <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">_cpu_info_t</a></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>  {</div><div class="line"><a name="l00069"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#afefb6e7d6165b8de9bee1f17df826392"> 69</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#afefb6e7d6165b8de9bee1f17df826392">family</a>; </div><div class="line"><a name="l00070"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7d0a012412dc4b04f2b5b37e83f5874a"> 70</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7d0a012412dc4b04f2b5b37e83f5874a">model</a>; </div><div class="line"><a name="l00071"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a1cfc86c6c61d35c7bd6f2a9cbecb99e4"> 71</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a1cfc86c6c61d35c7bd6f2a9cbecb99e4">stepping</a>; </div><div class="line"><a name="l00072"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7861529c47568141daa37810ebb499ea"> 72</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a7861529c47568141daa37810ebb499ea">count</a>; </div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a8f312e3386a9f56a8d10b890af3ce3af"> 73</a></span>  quint32 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a8f312e3386a9f56a8d10b890af3ce3af">features</a>; </div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#aebb4aa6da8a1c381715a792f8904222f"> 74</a></span>  <span class="keywordtype">bool</span> <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#aebb4aa6da8a1c381715a792f8904222f">x64</a>; </div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a932a85bcdb1be4b191d8ecd61b87ad26"> 75</a></span>  quint8 <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a932a85bcdb1be4b191d8ecd61b87ad26">vendor</a>; </div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a58ab7955a771f842c3f16abd8cebb931"> 76</a></span>  <span class="keywordtype">char</span> <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a58ab7955a771f842c3f16abd8cebb931">idstr</a>[13]; </div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a2986daa8c1b524a7f952eacb8d516696"> 77</a></span>  <span class="keywordtype">char</span> <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a2986daa8c1b524a7f952eacb8d516696">brand</a>[48]; </div><div class="line"><a name="l00078"></a><span class="lineno"> 78</span>  }</div><div class="line"><a name="l00079"></a><span class="lineno"> 79</span>  <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a8b80fb34713dbc70a63ae5cd48b0630e">cpu_info_t</a>;</div><div class="line"><a name="l00080"></a><span class="lineno"> 80</span> </div><div class="line"><a name="l00088"></a><span class="lineno"> 88</span>  MUTILS_API <a class="code" href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html">cpu_info_t</a> <a class="code" href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a5f26f530b11eee62845fb45fba6a32fc">detect</a>(<span class="keywordtype">void</span>);</div><div class="line"><a name="l00089"></a><span class="lineno"> 89</span>  }</div><div class="line"><a name="l00090"></a><span class="lineno"> 90</span> }</div><div class="ttc" id="struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t_html_afefb6e7d6165b8de9bee1f17df826392"><div class="ttname"><a href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#afefb6e7d6165b8de9bee1f17df826392">MUtils::CPUFetaures::_cpu_info_t::family</a></div><div class="ttdeci">quint32 family</div><div class="ttdoc">CPU family indicator, which specifies the processor "generation" to which the CPU belongs...</div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:69</div></div>
<div class="ttc" id="_global_8h_html"><div class="ttname"><a href="../../d5/d3b/_global_8h.html">Global.h</a></div><div class="ttdoc">This file contains miscellaneous functions that are generally useful for Qt-based applications...</div></div>
<div class="ttc" id="struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t_html_a1cfc86c6c61d35c7bd6f2a9cbecb99e4"><div class="ttname"><a href="../../dd/de2/struct_m_utils_1_1_c_p_u_fetaures_1_1__cpu__info__t.html#a1cfc86c6c61d35c7bd6f2a9cbecb99e4">MUtils::CPUFetaures::_cpu_info_t::stepping</a></div><div class="ttdeci">quint32 stepping</div><div class="ttdoc">CPU stepping indicator, which is used to distinguish "revisions" of a certain processor model...</div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:71</div></div>
<div class="ttc" id="namespace_m_utils_1_1_c_p_u_fetaures_html_a02a1dd90366db8200e38299635e54a90"><div class="ttname"><a href="../../d3/d02/namespace_m_utils_1_1_c_p_u_fetaures.html#a02a1dd90366db8200e38299635e54a90">MUtils::CPUFetaures::FLAG_SSE</a></div><div class="ttdeci">static const quint32 FLAG_SSE</div><div class="ttdoc">CPU feature flag. </div><div class="ttdef"><b>Definition:</b> CPUFeatures.h:53</div></div>