arm_compute v19.05
diff --git a/documentation/namespacearm__gemm.xhtml b/documentation/namespacearm__gemm.xhtml
index 667c7f9..22a1a1b 100644
--- a/documentation/namespacearm__gemm.xhtml
+++ b/documentation/namespacearm__gemm.xhtml
@@ -40,7 +40,7 @@
   <img alt="Compute Library" src="https://raw.githubusercontent.com/ARM-software/ComputeLibrary/gh-pages/ACL_logo.png" style="max-width: 100%;margin-top: 15px;margin-left: 10px"/>
   <td style="padding-left: 0.5em;">
    <div id="projectname">
-   &#160;<span id="projectnumber">19.02</span>
+   &#160;<span id="projectnumber">19.05</span>
    </div>
   </td>
  </tr>
@@ -157,17 +157,17 @@
 <tr class="separator:a2b318608a1cec6f3e8e97af9d98781e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a791d95ca13db6a0d41f12fc3e3e2c180"><td class="memItemLeft" align="right" valign="top">template bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#a791d95ca13db6a0d41f12fc3e3e2c180">method_is_compatible&lt; float, float &gt;</a> (GemmMethod method, const GemmArgs&lt; float &gt; &amp;args)</td></tr>
 <tr class="separator:a791d95ca13db6a0d41f12fc3e3e2c180"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:ae0132f55c6d1d908e4537c628c17e004"><td class="memItemLeft" align="right" valign="top">template std::vector&lt; std::string &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#ae0132f55c6d1d908e4537c628c17e004">get_compatible_kernels&lt; float, float &gt;</a> (const GemmArgs&lt; float &gt; &amp;args)</td></tr>
-<tr class="separator:ae0132f55c6d1d908e4537c628c17e004"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:ac1609aad732cd148829c5d7a1cfc92b7"><td class="memItemLeft" align="right" valign="top">template std::vector&lt; KernelDescription &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#ac1609aad732cd148829c5d7a1cfc92b7">get_compatible_kernels&lt; float, float &gt;</a> (const GemmArgs&lt; float &gt; &amp;args)</td></tr>
+<tr class="separator:ac1609aad732cd148829c5d7a1cfc92b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:acddaad8ff32456a845746feeb2865bde"><td class="memTemplParams" colspan="2">template&lt;typename Top , typename Tret &gt; </td></tr>
 <tr class="memitem:acddaad8ff32456a845746feeb2865bde"><td class="memTemplItemLeft" align="right" valign="top">const <a class="el" href="structarm__gemm_1_1_gemm_implementation.xhtml">GemmImplementation</a>&lt; Top, Tret &gt; *&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#acddaad8ff32456a845746feeb2865bde">gemm_implementation_list</a> ()</td></tr>
 <tr class="separator:acddaad8ff32456a845746feeb2865bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a6ec8bb2afab6de2518ca5649cdf9182a"><td class="memTemplParams" colspan="2">template&lt;typename Top , typename Tret &gt; </td></tr>
 <tr class="memitem:a6ec8bb2afab6de2518ca5649cdf9182a"><td class="memTemplItemLeft" align="right" valign="top">bool&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#a6ec8bb2afab6de2518ca5649cdf9182a">find_implementation</a> (const GemmArgs&lt; Tret &gt; &amp;args, const <a class="el" href="structarm__gemm_1_1_gemm_implementation.xhtml">GemmImplementation</a>&lt; Top, Tret &gt; *&amp;impl)</td></tr>
 <tr class="separator:a6ec8bb2afab6de2518ca5649cdf9182a"><td class="memSeparator" colspan="2">&#160;</td></tr>
-<tr class="memitem:a36da041082ba1c9310bdfdd3b6a2d24c"><td class="memTemplParams" colspan="2">template&lt;typename Top , typename Tret &gt; </td></tr>
-<tr class="memitem:a36da041082ba1c9310bdfdd3b6a2d24c"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; std::string &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#a36da041082ba1c9310bdfdd3b6a2d24c">get_compatible_kernels</a> (const GemmArgs&lt; Tret &gt; &amp;args)</td></tr>
-<tr class="separator:a36da041082ba1c9310bdfdd3b6a2d24c"><td class="memSeparator" colspan="2">&#160;</td></tr>
+<tr class="memitem:acf0f6b1c87578208f653c7ac60fad1f8"><td class="memTemplParams" colspan="2">template&lt;typename Top , typename Tret &gt; </td></tr>
+<tr class="memitem:acf0f6b1c87578208f653c7ac60fad1f8"><td class="memTemplItemLeft" align="right" valign="top">std::vector&lt; KernelDescription &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#acf0f6b1c87578208f653c7ac60fad1f8">get_compatible_kernels</a> (const GemmArgs&lt; Tret &gt; &amp;args)</td></tr>
+<tr class="separator:acf0f6b1c87578208f653c7ac60fad1f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
 <tr class="memitem:a2d35c3fce4e08e461199c4cdc6e5f613"><td class="memTemplParams" colspan="2">template&lt;typename Top , typename Tret &gt; </td></tr>
 <tr class="memitem:a2d35c3fce4e08e461199c4cdc6e5f613"><td class="memTemplItemLeft" align="right" valign="top">UniqueGemmCommon&lt; Top, Tret &gt;&#160;</td><td class="memTemplItemRight" valign="bottom"><a class="el" href="namespacearm__gemm.xhtml#a2d35c3fce4e08e461199c4cdc6e5f613">gemm</a> (const GemmArgs&lt; Tret &gt; &amp;args)</td></tr>
 <tr class="separator:a2d35c3fce4e08e461199c4cdc6e5f613"><td class="memSeparator" colspan="2">&#160;</td></tr>
@@ -243,6 +243,8 @@
 
 <p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00063">63</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
 <div class="fragment"><div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;                                                                                                  {</div><div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;    <span class="keyword">auto</span> gemms = gemm_implementation_list&lt;Top, Tret&gt;();</div><div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;    <span class="keyword">const</span> GemmConfig *cfg = args._cfg;</div><div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;</div><div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *saved_impl = <span class="keyword">nullptr</span>;</div><div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;</div><div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = gemms; i-&gt;method != GemmMethod::DEFAULT; i++) {</div><div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160;        <span class="comment">/* Skip if this implementation doesn&#39;t support these args. */</span></div><div class="line"><a name="l00071"></a><span class="lineno">   71</span>&#160;        <span class="keywordflow">if</span> (i-&gt;is_supported != <span class="keyword">nullptr</span> &amp;&amp; !i-&gt;is_supported(args)) {</div><div class="line"><a name="l00072"></a><span class="lineno">   72</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00073"></a><span class="lineno">   73</span>&#160;        }</div><div class="line"><a name="l00074"></a><span class="lineno">   74</span>&#160;</div><div class="line"><a name="l00075"></a><span class="lineno">   75</span>&#160;        <span class="comment">/* Skip if a specific method is requested and this is a different one. */</span></div><div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;        <span class="keywordflow">if</span> (cfg &amp;&amp; cfg-&gt;method != GemmMethod::DEFAULT &amp;&amp; i-&gt;method != cfg-&gt;method) {</div><div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        }</div><div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;</div><div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160;        <span class="comment">/* Skip if a filter is to be applied and it doesn&#39;t match. */</span></div><div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keywordflow">if</span> (cfg &amp;&amp; cfg-&gt;filter != <span class="stringliteral">&quot;&quot;</span> &amp;&amp; !strstr(i-&gt;name, cfg-&gt;filter.c_str())) {</div><div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        }</div><div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;</div><div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="comment">/* At this point, if we don&#39;t have a saved implementation, save this</span></div><div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160;<span class="comment">         * one.  This is so that we always return something if a filter</span></div><div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;<span class="comment">         * matches, even if it doesn&#39;t recommend itself.</span></div><div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;<span class="comment">         */</span></div><div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160;        <span class="keywordflow">if</span> (saved_impl == <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;            saved_impl=i;</div><div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        }</div><div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160;</div><div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="comment">/* Check that this method recommends itself. */</span></div><div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        <span class="keywordflow">if</span> (i-&gt;is_recommended != <span class="keyword">nullptr</span> &amp;&amp; !i-&gt;is_recommended(args)) {</div><div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160;        }</div><div class="line"><a name="l00097"></a><span class="lineno">   97</span>&#160;</div><div class="line"><a name="l00098"></a><span class="lineno">   98</span>&#160;        impl=i;</div><div class="line"><a name="l00099"></a><span class="lineno">   99</span>&#160;</div><div class="line"><a name="l00100"></a><span class="lineno">  100</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00101"></a><span class="lineno">  101</span>&#160;    }</div><div class="line"><a name="l00102"></a><span class="lineno">  102</span>&#160;</div><div class="line"><a name="l00103"></a><span class="lineno">  103</span>&#160;    <span class="comment">/* We didn&#39;t find an option matching the filters that recommended</span></div><div class="line"><a name="l00104"></a><span class="lineno">  104</span>&#160;<span class="comment">     * itself.  But if we found something earlier that matched the filters</span></div><div class="line"><a name="l00105"></a><span class="lineno">  105</span>&#160;<span class="comment">     * but wasn&#39;t recommended, return it here.  */</span></div><div class="line"><a name="l00106"></a><span class="lineno">  106</span>&#160;    <span class="keywordflow">if</span> (saved_impl != <span class="keyword">nullptr</span>) {</div><div class="line"><a name="l00107"></a><span class="lineno">  107</span>&#160;        impl = saved_impl;</div><div class="line"><a name="l00108"></a><span class="lineno">  108</span>&#160;        <span class="keywordflow">return</span> <span class="keyword">true</span>;</div><div class="line"><a name="l00109"></a><span class="lineno">  109</span>&#160;    }</div><div class="line"><a name="l00110"></a><span class="lineno">  110</span>&#160;</div><div class="line"><a name="l00111"></a><span class="lineno">  111</span>&#160;    <span class="keywordflow">return</span> <span class="keyword">false</span>;</div><div class="line"><a name="l00112"></a><span class="lineno">  112</span>&#160;}</div></div><!-- fragment -->
+<p class="reference">Referenced by <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00115">get_compatible_kernels()</a>.</p>
+
 </div>
 </div>
 <a id="a2d35c3fce4e08e461199c4cdc6e5f613"></a>
@@ -261,8 +263,8 @@
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00133">133</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;                                                             {</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *impl;</div><div class="line"><a name="l00135"></a><span class="lineno">  135</span>&#160;</div><div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;    <span class="keywordflow">if</span> (find_implementation&lt;Top, Tret&gt;(args, impl)) {</div><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        <span class="keywordflow">return</span> UniqueGemmCommon&lt;Top, Tret&gt;(impl-&gt;instantiate(args));</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    }</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordflow">return</span> UniqueGemmCommon&lt;Top, Tret&gt;(<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;}</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00137">137</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;                                                             {</div><div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *impl;</div><div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;</div><div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;    <span class="keywordflow">if</span> (find_implementation&lt;Top, Tret&gt;(args, impl)) {</div><div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;        <span class="keywordflow">return</span> UniqueGemmCommon&lt;Top, Tret&gt;(impl-&gt;instantiate(args));</div><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;    }</div><div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;</div><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    <span class="keywordflow">return</span> UniqueGemmCommon&lt;Top, Tret&gt;(<span class="keyword">nullptr</span>);</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;}</div></div><!-- fragment -->
 <p class="reference">References <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00037">GemmImplementation&lt; Top, Tret &gt;::instantiate</a>.</p>
 
 </div>
@@ -317,18 +319,18 @@
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="gemm__fp32_8cpp_source.xhtml#l00160">160</a> of file <a class="el" href="gemm__fp32_8cpp_source.xhtml">gemm_fp32.cpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                                                                                 {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="keywordflow">return</span> gemm_fp32_methods;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;}</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="gemm__fp32_8cpp_source.xhtml#l00168">168</a> of file <a class="el" href="gemm__fp32_8cpp_source.xhtml">gemm_fp32.cpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;                                                                                 {</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">return</span> gemm_fp32_methods;</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
-<a id="a36da041082ba1c9310bdfdd3b6a2d24c"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#a36da041082ba1c9310bdfdd3b6a2d24c">&#9670;&nbsp;</a></span>get_compatible_kernels()</h2>
+<a id="acf0f6b1c87578208f653c7ac60fad1f8"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#acf0f6b1c87578208f653c7ac60fad1f8">&#9670;&nbsp;</a></span>get_compatible_kernels()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">std::vector&lt;std::string&gt; arm_gemm::get_compatible_kernels </td>
+          <td class="memname">std::vector&lt;KernelDescription&gt; arm_gemm::get_compatible_kernels </td>
           <td>(</td>
           <td class="paramtype">const GemmArgs&lt; Tret &gt; &amp;&#160;</td>
           <td class="paramname"><em>args</em></td><td>)</td>
@@ -338,17 +340,20 @@
 </div><div class="memdoc">
 
 <p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00115">115</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                                                                        {</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::vector&lt;std::string&gt; res;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="keyword">auto</span> gemms = gemm_implementation_list&lt;Top, Tret&gt;();</div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = gemms; i-&gt;method != GemmMethod::DEFAULT; i++) {</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="comment">/* Check that this implementation supports the presented problem. */</span></div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;        <span class="keywordflow">if</span> (i-&gt;is_supported != <span class="keyword">nullptr</span> &amp;&amp; !i-&gt;is_supported(args)) {</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;        }</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;</div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        res.push_back(i-&gt;name);</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;    }</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;    <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;}</div></div><!-- fragment -->
+<div class="fragment"><div class="line"><a name="l00115"></a><span class="lineno">  115</span>&#160;                                                                                {</div><div class="line"><a name="l00116"></a><span class="lineno">  116</span>&#160;    std::vector&lt;KernelDescription&gt; res;</div><div class="line"><a name="l00117"></a><span class="lineno">  117</span>&#160;</div><div class="line"><a name="l00118"></a><span class="lineno">  118</span>&#160;    <span class="comment">/* Find out what the default implementation in so we can set the flag accordingly later. */</span></div><div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *default_impl;</div><div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;    <a class="code" href="namespacearm__gemm.xhtml#a6ec8bb2afab6de2518ca5649cdf9182a">find_implementation</a>(args, default_impl);</div><div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;</div><div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160;    <span class="keyword">auto</span> gemms = gemm_implementation_list&lt;Top, Tret&gt;();</div><div class="line"><a name="l00123"></a><span class="lineno">  123</span>&#160;</div><div class="line"><a name="l00124"></a><span class="lineno">  124</span>&#160;    <span class="keywordflow">for</span> (<span class="keyword">auto</span> i = gemms; i-&gt;method != GemmMethod::DEFAULT; i++) {</div><div class="line"><a name="l00125"></a><span class="lineno">  125</span>&#160;        <span class="comment">/* Check that this implementation supports the presented problem. */</span></div><div class="line"><a name="l00126"></a><span class="lineno">  126</span>&#160;        <span class="keywordflow">if</span> (i-&gt;is_supported != <span class="keyword">nullptr</span> &amp;&amp; !i-&gt;is_supported(args)) {</div><div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160;            <span class="keywordflow">continue</span>;</div><div class="line"><a name="l00128"></a><span class="lineno">  128</span>&#160;        }</div><div class="line"><a name="l00129"></a><span class="lineno">  129</span>&#160;</div><div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;        res.push_back(KernelDescription(i-&gt;method, i-&gt;name, i==default_impl));</div><div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;    }</div><div class="line"><a name="l00132"></a><span class="lineno">  132</span>&#160;</div><div class="line"><a name="l00133"></a><span class="lineno">  133</span>&#160;    <span class="keywordflow">return</span> res;</div><div class="line"><a name="l00134"></a><span class="lineno">  134</span>&#160;}</div><div class="ttc" id="namespacearm__gemm_xhtml_a6ec8bb2afab6de2518ca5649cdf9182a"><div class="ttname"><a href="namespacearm__gemm.xhtml#a6ec8bb2afab6de2518ca5649cdf9182a">arm_gemm::find_implementation</a></div><div class="ttdeci">bool find_implementation(const GemmArgs&lt; Tret &gt; &amp;args, const GemmImplementation&lt; Top, Tret &gt; *&amp;impl)</div><div class="ttdef"><b>Definition:</b> <a href="gemm__implementation_8hpp_source.xhtml#l00063">gemm_implementation.hpp:63</a></div></div>
+</div><!-- fragment -->
+<p class="reference">References <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00063">find_implementation()</a>.</p>
+
 </div>
 </div>
-<a id="ae0132f55c6d1d908e4537c628c17e004"></a>
-<h2 class="memtitle"><span class="permalink"><a href="#ae0132f55c6d1d908e4537c628c17e004">&#9670;&nbsp;</a></span>get_compatible_kernels&lt; float, float &gt;()</h2>
+<a id="ac1609aad732cd148829c5d7a1cfc92b7"></a>
+<h2 class="memtitle"><span class="permalink"><a href="#ac1609aad732cd148829c5d7a1cfc92b7">&#9670;&nbsp;</a></span>get_compatible_kernels&lt; float, float &gt;()</h2>
 
 <div class="memitem">
 <div class="memproto">
       <table class="memname">
         <tr>
-          <td class="memname">template std::vector&lt;std::string&gt; <a class="el" href="namespacearm__gemm.xhtml#a36da041082ba1c9310bdfdd3b6a2d24c">arm_gemm::get_compatible_kernels</a>&lt; float, float &gt; </td>
+          <td class="memname">template std::vector&lt;KernelDescription&gt; <a class="el" href="namespacearm__gemm.xhtml#acf0f6b1c87578208f653c7ac60fad1f8">arm_gemm::get_compatible_kernels</a>&lt; float, float &gt; </td>
           <td>(</td>
           <td class="paramtype">const GemmArgs&lt; float &gt; &amp;&#160;</td>
           <td class="paramname"><em>args</em></td><td>)</td>
@@ -375,8 +380,8 @@
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00144">144</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;                                                              {</div><div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *impl;</div><div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;</div><div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    <span class="keywordflow">if</span> (find_implementation&lt;Top, Tret&gt;(args, impl)) {</div><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;        <span class="keywordflow">return</span> KernelDescription(impl-&gt;method, impl-&gt;name);</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    }</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="comment">/* This shouldn&#39;t happen - there should always be at least one valid implementation. */</span></div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;    <span class="keywordflow">return</span> KernelDescription();</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;}</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00148">148</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;                                                              {</div><div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *impl;</div><div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;</div><div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;    <span class="keywordflow">if</span> (find_implementation&lt;Top, Tret&gt;(args, impl)) {</div><div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        <span class="keywordflow">return</span> KernelDescription(impl-&gt;method, impl-&gt;name);</div><div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;    }</div><div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;</div><div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160;    <span class="comment">/* This shouldn&#39;t happen - there should always be at least one valid implementation. */</span></div><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    <span class="keywordflow">return</span> KernelDescription();</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;}</div></div><!-- fragment -->
 <p class="reference">References <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00033">GemmImplementation&lt; Top, Tret &gt;::method</a>, and <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00034">GemmImplementation&lt; Top, Tret &gt;::name</a>.</p>
 
 </div>
@@ -510,8 +515,8 @@
       </table>
 </div><div class="memdoc">
 
-<p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00156">156</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
-<div class="fragment"><div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;                                                                         {</div><div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;    <span class="comment">/* Determine if the method is valid by attempting to obtain an implementation specifying this method. */</span></div><div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;    GemmConfig       cfg(method);</div><div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;    GemmArgs&lt;Tret&gt;   myargs = args;</div><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    myargs._cfg = &amp;cfg;</div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *impl;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    <span class="keywordflow">return</span> find_implementation&lt;Top, Tret&gt;(myargs, impl);</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;}</div></div><!-- fragment -->
+<p class="definition">Definition at line <a class="el" href="gemm__implementation_8hpp_source.xhtml#l00160">160</a> of file <a class="el" href="gemm__implementation_8hpp_source.xhtml">gemm_implementation.hpp</a>.</p>
+<div class="fragment"><div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;                                                                         {</div><div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;    <span class="comment">/* Determine if the method is valid by attempting to obtain an implementation specifying this method. */</span></div><div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;    GemmConfig       cfg(method);</div><div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160;    GemmArgs&lt;Tret&gt;   myargs = args;</div><div class="line"><a name="l00164"></a><span class="lineno">  164</span>&#160;</div><div class="line"><a name="l00165"></a><span class="lineno">  165</span>&#160;    myargs._cfg = &amp;cfg;</div><div class="line"><a name="l00166"></a><span class="lineno">  166</span>&#160;</div><div class="line"><a name="l00167"></a><span class="lineno">  167</span>&#160;    <span class="keyword">const</span> GemmImplementation&lt;Top, Tret&gt; *impl;</div><div class="line"><a name="l00168"></a><span class="lineno">  168</span>&#160;</div><div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;    <span class="keywordflow">return</span> find_implementation&lt;Top, Tret&gt;(myargs, impl);</div><div class="line"><a name="l00170"></a><span class="lineno">  170</span>&#160;}</div></div><!-- fragment -->
 </div>
 </div>
 <a id="a791d95ca13db6a0d41f12fc3e3e2c180"></a>
@@ -548,7 +553,7 @@
 <div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
   <ul>
     <li class="navelem"><a class="el" href="namespacearm__gemm.xhtml">arm_gemm</a></li>
-    <li class="footer">Generated on Thu Feb 28 2019 12:25:07 for Compute Library by
+    <li class="footer">Generated on Thu May 23 2019 17:11:38 for Compute Library by
     <a href="http://www.doxygen.org/index.html">
     <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.15 </li>
   </ul>