blob: 492d484a133a0522e60bb0dbfff98ce2d1d5a171 [file] [log] [blame]
<!-- HTML header for doxygen 1.8.15-->
<!-- Remember to use version doxygen 1.8.15 +-->
<!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.15"/>
<meta name="robots" content="NOINDEX, NOFOLLOW" /> <!-- Prevent indexing by search engines -->
<title>Compute Library: arm_compute/core/NEON/wrapper/intrinsics/add.h 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&amp;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>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX","output/HTML-CSS"],
});
</script><script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="stylesheet.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;">
<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.11</span>
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;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&amp;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&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('intrinsics_2add_8h_source.xhtml','');});
/* @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">add.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="intrinsics_2add_8h.xhtml">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/*</span></div><div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment"> * Copyright (c) 2018-2019 ARM Limited.</span></div><div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment"> * SPDX-License-Identifier: MIT</span></div><div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment"> * Permission is hereby granted, free of charge, to any person obtaining a copy</span></div><div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment"> * of this software and associated documentation files (the &quot;Software&quot;), to</span></div><div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment"> * deal in the Software without restriction, including without limitation the</span></div><div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment"> * rights to use, copy, modify, merge, publish, distribute, sublicense, and/or</span></div><div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment"> * sell copies of the Software, and to permit persons to whom the Software is</span></div><div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment"> * furnished to do so, subject to the following conditions:</span></div><div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment"> * The above copyright notice and this permission notice shall be included in all</span></div><div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment"> * copies or substantial portions of the Software.</span></div><div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment"> *</span></div><div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment"> * THE SOFTWARE IS PROVIDED &quot;AS IS&quot;, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR</span></div><div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment"> * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,</span></div><div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment"> * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE</span></div><div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment"> * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER</span></div><div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment"> * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,</span></div><div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE</span></div><div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * SOFTWARE.</span></div><div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> */</span></div><div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="preprocessor">#ifndef __ARM_COMPUTE_WRAPPER_ADD_H__</span></div><div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="preprocessor">#define __ARM_COMPUTE_WRAPPER_ADD_H__</span></div><div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;</div><div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="preprocessor">#include &lt;arm_neon.h&gt;</span></div><div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;</div><div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="keyword">namespace </span><a class="code" href="namespacearm__compute.xhtml">arm_compute</a></div><div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;{</div><div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="keyword">namespace </span>wrapper</div><div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;{</div><div class="line"><a name="l00033"></a><span class="lineno"><a class="line" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346"> 33</a></span>&#160;<span class="preprocessor">#define VADD_IMPL(stype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor"> inline vtype vadd(const vtype &amp;a, const vtype &amp;b) \</span></div><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a, b); \</span></div><div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;<span class="preprocessor"> }</span></div><div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div><div class="line"><a name="l00039"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73"> 39</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint8x8_t, uint8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, u8)</div><div class="line"><a name="l00040"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a7c573cf41e883d4d37bd8dff8fcbd0f2"> 40</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int8x8_t, int8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, s8)</div><div class="line"><a name="l00041"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a73d9b74710e651e7cdbf4cfafb944d8a"> 41</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint16x4_t, uint16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, u16)</div><div class="line"><a name="l00042"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a51ed0d744f6dca340bc175241a2653d4"> 42</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int16x4_t, int16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, s16)</div><div class="line"><a name="l00043"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a1de26ff774cac4d14a9a99760139a379"> 43</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint32x2_t, uint32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, u32)</div><div class="line"><a name="l00044"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#adbc3286703ea68773578b2601a3fd797"> 44</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int32x2_t, int32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, s32)</div><div class="line"><a name="l00045"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a44649f1c855e68e4cab5f7f72daeb30b"> 45</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint64x1_t, uint64x1_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, u64)</div><div class="line"><a name="l00046"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#aa295c4e77f9e2ccd31f0fa815a9e4231"> 46</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int64x1_t, int64x1_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, s64)</div><div class="line"><a name="l00047"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a04549b1ddb03008ac1c0ff3fc18ff335"> 47</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(float32x2_t, float32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, f32)</div><div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160;<span class="preprocessor">#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(float16x4_t, float16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, f16)</div><div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;<span class="preprocessor">#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div><div class="line"><a name="l00052"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a08ed369986c867b850a74635764e3764"> 52</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint8x16_t, uint8x16_t, vaddq, u8)</div><div class="line"><a name="l00053"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a00611d18ac6548c52d5f3e5eec52f3fc"> 53</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int8x16_t, int8x16_t, vaddq, s8)</div><div class="line"><a name="l00054"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a001774f1457ef953dce3cbfd7ca3a720"> 54</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint16x8_t, uint16x8_t, vaddq, u16)</div><div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a7b3548ff67e64b1b559f005728643115"> 55</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int16x8_t, int16x8_t, vaddq, s16)</div><div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a38f13009919fa0bb1bf096aca2fc2b52"> 56</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint32x4_t, uint32x4_t, vaddq, u32)</div><div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ae6e61403aa3b1ea42cb8623235a060d2"> 57</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int32x4_t, int32x4_t, vaddq, s32)</div><div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a4be8554b097bb191efca07c064500b0a"> 58</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(uint64x2_t, uint64x2_t, vaddq, u64)</div><div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a85bff4b042de6d354194fd5faec611b2"> 59</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(int64x2_t, int64x2_t, vaddq, s64)</div><div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a5facaa0c056dc73dfa6a49cde91240c4"> 60</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(float32x4_t, float32x4_t, vaddq, f32)</div><div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160;<span class="preprocessor">#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a>(float16x8_t, float16x8_t, vaddq, f16)</div><div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;<span class="preprocessor">#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;<span class="preprocessor">#undef VADD_IMPL</span></div><div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160;</div><div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="comment">// VQADD: Vector saturating add (No notion of saturation for floating point)</span></div><div class="line"><a name="l00067"></a><span class="lineno"><a class="line" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e"> 67</a></span>&#160;<span class="preprocessor">#define VQADD_IMPL(stype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;<span class="preprocessor"> inline vtype vqadd(const vtype &amp;a, const vtype &amp;b) \</span></div><div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a, b); \</span></div><div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;<span class="preprocessor"> }</span></div><div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;</div><div class="line"><a name="l00073"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952"> 73</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint8x8_t, uint8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, u8)</div><div class="line"><a name="l00074"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#af965181ce04747ee66db6df4d874b950"> 74</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int8x8_t, int8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, s8)</div><div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#afb5f5a2209cf45d306488d289d6054de"> 75</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint16x4_t, uint16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, u16)</div><div class="line"><a name="l00076"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#acbe862c2646ecdf3849eff8bd570e5dc"> 76</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int16x4_t, int16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, s16)</div><div class="line"><a name="l00077"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a762716e74212d443b77d5bc95264a884"> 77</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint32x2_t, uint32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, u32)</div><div class="line"><a name="l00078"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a789d9bb65ffa618b4675ebf422e96e94"> 78</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int32x2_t, int32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, s32)</div><div class="line"><a name="l00079"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a297de761eb0705e6059856e4a8e6e1d2"> 79</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint64x1_t, uint64x1_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, u64)</div><div class="line"><a name="l00080"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a72f70b1a6486a6f618c84d2d9c82668f"> 80</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int64x1_t, int64x1_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">vqadd</a>, s64)</div><div class="line"><a name="l00081"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ad7c46b130d392febff53d84a9b7bc567"> 81</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(float32x2_t, float32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, f32)</div><div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160;<span class="preprocessor">#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(float16x4_t, float16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">vadd</a>, f16)</div><div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="preprocessor">#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div><div class="line"><a name="l00086"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#abe0c6273a56abe65f9dcc46a4bd97bf9"> 86</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint8x16_t, uint8x16_t, vqaddq, u8)</div><div class="line"><a name="l00087"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#af753dd3e0b525e5e0c058d52eee053c6"> 87</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int8x16_t, int8x16_t, vqaddq, s8)</div><div class="line"><a name="l00088"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a0e5010d0f62bd2a226b0372d2dcea8d3"> 88</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint16x8_t, uint16x8_t, vqaddq, u16)</div><div class="line"><a name="l00089"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a751d2fad3faaac0746d7c592a31d17d7"> 89</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int16x8_t, int16x8_t, vqaddq, s16)</div><div class="line"><a name="l00090"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a820fc5b16f2d54dc9af247818404ca38"> 90</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint32x4_t, uint32x4_t, vqaddq, u32)</div><div class="line"><a name="l00091"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ac33aa1b8ca7945804c5ca05939a878ad"> 91</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int32x4_t, int32x4_t, vqaddq, s32)</div><div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a1ca96f83ef1f8a5b8c24b21e0026acc2"> 92</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(uint64x2_t, uint64x2_t, vqaddq, u64)</div><div class="line"><a name="l00093"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a39bba706f09450defce7cb2b63a21301"> 93</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(int64x2_t, int64x2_t, vqaddq, s64)</div><div class="line"><a name="l00094"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a32bfd06741edea5bbf2b98302bb929e8"> 94</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(float32x4_t, float32x4_t, vaddq, f32)</div><div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160;<span class="preprocessor">#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a>(float16x8_t, float16x8_t, vaddq, f16)</div><div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160;<span class="preprocessor">#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160;<span class="preprocessor">#undef VQADD_IMPL</span></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="comment">// VADDW: Vector widening add</span></div><div class="line"><a name="l00101"></a><span class="lineno"><a class="line" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc"> 101</a></span>&#160;<span class="preprocessor">#define VADDW_IMPL(wtype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160;<span class="preprocessor"> inline wtype vaddw(const wtype &amp;a, const vtype &amp;b) \</span></div><div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a, b); \</span></div><div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160;<span class="preprocessor"> }</span></div><div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160;</div><div class="line"><a name="l00107"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa"> 107</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a>(uint16x8_t, uint8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">vaddw</a>, u8)</div><div class="line"><a name="l00108"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#aaa90fec328b2dfe2d401434c53cfb40f"> 108</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a>(int16x8_t, int8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">vaddw</a>, s8)</div><div class="line"><a name="l00109"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a807bb9a31778033dad7160708b5dc34e"> 109</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a>(uint32x4_t, uint16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">vaddw</a>, u16)</div><div class="line"><a name="l00110"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a0fbc189b385c8ae600b10a133a7eead5"> 110</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a>(int32x4_t, int16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">vaddw</a>, s16)</div><div class="line"><a name="l00111"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a71dafd2b464c557b576244f9da4d5d93"> 111</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a>(uint64x2_t, uint32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">vaddw</a>, u32)</div><div class="line"><a name="l00112"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ae94dc819b7d614de3fe69104b2933127"> 112</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a>(int64x2_t, int32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">vaddw</a>, s32)</div><div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160;<span class="preprocessor">#undef VADDW_IMPL</span></div><div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div><div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160;<span class="comment">// VADDL: Vector long add</span></div><div class="line"><a name="l00116"></a><span class="lineno"><a class="line" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924"> 116</a></span>&#160;<span class="preprocessor">#define VADDL_IMPL(wtype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160;<span class="preprocessor"> inline wtype vaddl(const vtype &amp;a, const vtype &amp;b) \</span></div><div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a, b); \</span></div><div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;<span class="preprocessor"> }</span></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"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112"> 122</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a>(uint16x8_t, uint8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">vaddl</a>, u8)</div><div class="line"><a name="l00123"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a412bc86708543e9b3a2097b383bd923c"> 123</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a>(int16x8_t, int8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">vaddl</a>, s8)</div><div class="line"><a name="l00124"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a07b983e43fe318e47497d08ff33f4641"> 124</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a>(uint32x4_t, uint16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">vaddl</a>, u16)</div><div class="line"><a name="l00125"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a4be37f0a0e879f36b80265d6df48b871"> 125</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a>(int32x4_t, int16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">vaddl</a>, s16)</div><div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#af8ea760ecff5021a9791fde1914e998b"> 126</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a>(uint64x2_t, uint32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">vaddl</a>, u32)</div><div class="line"><a name="l00127"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a44d67b33f2fb02b3b7f8dd09406d6caa"> 127</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a>(int64x2_t, int32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">vaddl</a>, s32)</div><div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160;<span class="preprocessor">#undef VADDL_IMPL</span></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;<span class="preprocessor">#if defined(__aarch64__)</span></div><div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;<span class="comment">// VADDV: Across vector add</span></div><div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;<span class="preprocessor">#define VADDV_IMPL(stype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00133"></a><span class="lineno"> 133</span>&#160;<span class="preprocessor"> inline stype vaddv(const vtype &amp;a) \</span></div><div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a); \</span></div><div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160;<span class="preprocessor"> }</span></div><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;VADDV_IMPL(uint8_t, uint8x8_t, vaddv, u8)</div><div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;VADDV_IMPL(int8_t, int8x8_t, vaddv, s8)</div><div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160;VADDV_IMPL(uint16_t, uint16x4_t, vaddv, u16)</div><div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160;VADDV_IMPL(int16_t, int16x4_t, vaddv, s16)</div><div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;VADDV_IMPL(uint32_t, uint32x2_t, vaddv, u32)</div><div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160;VADDV_IMPL(int32_t, int32x2_t, vaddv, s32)</div><div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160;VADDV_IMPL(<span class="keywordtype">float</span>, float32x2_t, vaddv, f32)</div><div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160;</div><div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160;VADDV_IMPL(uint8_t, uint8x16_t, vaddvq, u8)</div><div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160;VADDV_IMPL(int8_t, int8x16_t, vaddvq, s8)</div><div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160;VADDV_IMPL(uint16_t, uint16x8_t, vaddvq, u16)</div><div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;VADDV_IMPL(int16_t, int16x8_t, vaddvq, s16)</div><div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160;VADDV_IMPL(uint32_t, uint32x4_t, vaddvq, u32)</div><div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160;VADDV_IMPL(int32_t, int32x4_t, vaddvq, s32)</div><div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160;VADDV_IMPL(uint64_t, uint64x2_t, vaddvq, u64)</div><div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160;VADDV_IMPL(int64_t, int64x2_t, vaddvq, s64)</div><div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160;VADDV_IMPL(<span class="keywordtype">float</span>, float32x4_t, vaddvq, f32)</div><div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160;<span class="preprocessor">#undef VADDV_IMPL</span></div><div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;<span class="preprocessor">#endif // defined(__aarch64__)</span></div><div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160;</div><div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160;<span class="comment">// VPADDL: Signed add long pairwise</span></div><div class="line"><a name="l00159"></a><span class="lineno"><a class="line" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87"> 159</a></span>&#160;<span class="preprocessor">#define VPADDL_IMPL(ltype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;<span class="preprocessor"> inline ltype vpaddl(const vtype &amp;a) \</span></div><div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a); \</span></div><div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;<span class="preprocessor"> }</span></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"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e"> 165</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(uint16x4_t, uint8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">vpaddl</a>, u8)</div><div class="line"><a name="l00166"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a31076534df372c72a6bbf15e03cfc0df"> 166</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(int16x4_t, int8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">vpaddl</a>, s8)</div><div class="line"><a name="l00167"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#aaa60752185eeb6a473de795ed0ffae48"> 167</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(uint32x2_t, uint16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">vpaddl</a>, u16)</div><div class="line"><a name="l00168"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a5eacbad36e5d666ac75d29097e5b755a"> 168</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(int32x2_t, int16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">vpaddl</a>, s16)</div><div class="line"><a name="l00169"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a346a40343893dce572c328170f17dfd1"> 169</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(uint64x1_t, uint32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">vpaddl</a>, u32)</div><div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#aeb8df4f2339b96cc44570afc5f7f9f5d"> 170</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(int64x1_t, int32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">vpaddl</a>, s32)</div><div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div><div class="line"><a name="l00172"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#aeebcfc675f18ba13675d966d3d6fba90"> 172</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(uint16x8_t, uint8x16_t, vpaddlq, u8)</div><div class="line"><a name="l00173"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#acee8d3f186fd9c4a6164c2bd92a22b39"> 173</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(int16x8_t, int8x16_t, vpaddlq, s8)</div><div class="line"><a name="l00174"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ab06d40a0fb87232e7b5b4ed9a9f68d57"> 174</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(uint32x4_t, uint16x8_t, vpaddlq, u16)</div><div class="line"><a name="l00175"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a178df68e11c78824756e95c4a74690ed"> 175</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(int32x4_t, int16x8_t, vpaddlq, s16)</div><div class="line"><a name="l00176"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a6f3b7a799d294a3dc8caa490f1073e2b"> 176</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(uint64x2_t, uint32x4_t, vpaddlq, u32)</div><div class="line"><a name="l00177"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#afa9a7b7c482d5926aaab4933cae8392e"> 177</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a>(int64x2_t, int32x4_t, vpaddlq, s32)</div><div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;<span class="preprocessor">#undef VPADDL_IMPL</span></div><div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160;</div><div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160;<span class="comment">// VPADD: Add pairwise</span></div><div class="line"><a name="l00181"></a><span class="lineno"><a class="line" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7"> 181</a></span>&#160;<span class="preprocessor">#define VPADD_IMPL(stype, vtype, prefix, postfix) \</span></div><div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;<span class="preprocessor"> inline vtype vpadd(const vtype &amp;a, const vtype &amp;b) \</span></div><div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;<span class="preprocessor"> { \</span></div><div class="line"><a name="l00184"></a><span class="lineno"> 184</span>&#160;<span class="preprocessor"> return prefix##_##postfix(a, b); \</span></div><div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;<span class="preprocessor"> }</span></div><div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160;</div><div class="line"><a name="l00187"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a"> 187</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(uint8x8_t, uint8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, u8)</div><div class="line"><a name="l00188"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#a484740aa6942805e042822fb7cef12ec"> 188</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(int8x8_t, int8x8_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, s8)</div><div class="line"><a name="l00189"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#af7354b0a019a54faca6951b03d9cf766"> 189</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(uint16x4_t, uint16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, u16)</div><div class="line"><a name="l00190"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#abd6493e8a191146e3455134723c495d1"> 190</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(int16x4_t, int16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, s16)</div><div class="line"><a name="l00191"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ac025e9eb7cd72f6ef016cb928b51b02d"> 191</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(uint32x2_t, uint32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, u32)</div><div class="line"><a name="l00192"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#ac061b47e13fa4832ee51b203de487325"> 192</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(int32x2_t, int32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, s32)</div><div class="line"><a name="l00193"></a><span class="lineno"><a class="line" href="namespacearm__compute_1_1wrapper.xhtml#adae782aae6d44f1f87f624b31a544c59"> 193</a></span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(float32x2_t, float32x2_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, f32)</div><div class="line"><a name="l00194"></a><span class="lineno"> 194</span>&#160;<span class="preprocessor">#ifdef __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00195"></a><span class="lineno"> 195</span>&#160;<a class="code" href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a>(float16x4_t, float16x4_t, <a class="code" href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">vpadd</a>, f16)</div><div class="line"><a name="l00196"></a><span class="lineno"> 196</span>&#160;<span class="preprocessor">#endif // __ARM_FEATURE_FP16_VECTOR_ARITHMETIC</span></div><div class="line"><a name="l00197"></a><span class="lineno"> 197</span>&#160;</div><div class="line"><a name="l00198"></a><span class="lineno"> 198</span>&#160;<span class="preprocessor">#undef VPADD_IMPL</span></div><div class="line"><a name="l00199"></a><span class="lineno"> 199</span>&#160;} <span class="comment">// namespace wrapper</span></div><div class="line"><a name="l00200"></a><span class="lineno"> 200</span>&#160;} <span class="comment">// namespace arm_compute</span></div><div class="line"><a name="l00201"></a><span class="lineno"> 201</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* __ARM_COMPUTE_WRAPPER_ADD_H__ */</span><span class="preprocessor"></span></div><div class="ttc" id="intrinsics_2add_8h_xhtml_a1954a7b37233eea4d3bcc3f262cb5346"><div class="ttname"><a href="intrinsics_2add_8h.xhtml#a1954a7b37233eea4d3bcc3f262cb5346">VADD_IMPL</a></div><div class="ttdeci">#define VADD_IMPL(stype, vtype, prefix, postfix)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00033">add.h:33</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a1894e825a225f3b2013f594cbffdae73"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a1894e825a225f3b2013f594cbffdae73">arm_compute::wrapper::vadd</a></div><div class="ttdeci">uint8x8_t vadd(const uint8x8_t &amp;a, const uint8x8_t &amp;b)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00039">add.h:39</a></div></div>
<div class="ttc" id="intrinsics_2add_8h_xhtml_adf3b1e7dc4d49f69599c533e4ca34d87"><div class="ttname"><a href="intrinsics_2add_8h.xhtml#adf3b1e7dc4d49f69599c533e4ca34d87">VPADDL_IMPL</a></div><div class="ttdeci">#define VPADDL_IMPL(ltype, vtype, prefix, postfix)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00159">add.h:159</a></div></div>
<div class="ttc" id="intrinsics_2add_8h_xhtml_a2e3b6cb0dffd73079a3744b20a54092e"><div class="ttname"><a href="intrinsics_2add_8h.xhtml#a2e3b6cb0dffd73079a3744b20a54092e">VQADD_IMPL</a></div><div class="ttdeci">#define VQADD_IMPL(stype, vtype, prefix, postfix)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00067">add.h:67</a></div></div>
<div class="ttc" id="namespacearm__compute_xhtml"><div class="ttname"><a href="namespacearm__compute.xhtml">arm_compute</a></div><div class="ttdoc">Copyright (c) 2017-2019 ARM Limited.</div><div class="ttdef"><b>Definition:</b> <a href="00__introduction_8dox_source.xhtml#l00024">00_introduction.dox:24</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a475ee3c8ef70a2e4f18effd1d527a63a"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a475ee3c8ef70a2e4f18effd1d527a63a">arm_compute::wrapper::vpadd</a></div><div class="ttdeci">uint8x8_t vpadd(const uint8x8_t &amp;a, const uint8x8_t &amp;b)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00187">add.h:187</a></div></div>
<div class="ttc" id="intrinsics_2add_8h_xhtml_afc5e507d80c161fb04f14ae76cee9924"><div class="ttname"><a href="intrinsics_2add_8h.xhtml#afc5e507d80c161fb04f14ae76cee9924">VADDL_IMPL</a></div><div class="ttdeci">#define VADDL_IMPL(wtype, vtype, prefix, postfix)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00116">add.h:116</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a4b3ec2db417aa33bc7d68ad6e1ff7952"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a4b3ec2db417aa33bc7d68ad6e1ff7952">arm_compute::wrapper::vqadd</a></div><div class="ttdeci">uint8x8_t vqadd(const uint8x8_t &amp;a, const uint8x8_t &amp;b)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00073">add.h:73</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a297a9b20b8f2244b28ba43ffe6db7112"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a297a9b20b8f2244b28ba43ffe6db7112">arm_compute::wrapper::vaddl</a></div><div class="ttdeci">uint16x8_t vaddl(const uint8x8_t &amp;a, const uint8x8_t &amp;b)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00122">add.h:122</a></div></div>
<div class="ttc" id="intrinsics_2add_8h_xhtml_ad214582b616c6013dbf8e818c8c861c7"><div class="ttname"><a href="intrinsics_2add_8h.xhtml#ad214582b616c6013dbf8e818c8c861c7">VPADD_IMPL</a></div><div class="ttdeci">#define VPADD_IMPL(stype, vtype, prefix, postfix)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00181">add.h:181</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_aa58ed08eab6c63a3afd3fe48ad06a8fa"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#aa58ed08eab6c63a3afd3fe48ad06a8fa">arm_compute::wrapper::vaddw</a></div><div class="ttdeci">uint16x8_t vaddw(const uint16x8_t &amp;a, const uint8x8_t &amp;b)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00107">add.h:107</a></div></div>
<div class="ttc" id="intrinsics_2add_8h_xhtml_a22e5c01dd4669fa38bfac034d2d18ecc"><div class="ttname"><a href="intrinsics_2add_8h.xhtml#a22e5c01dd4669fa38bfac034d2d18ecc">VADDW_IMPL</a></div><div class="ttdeci">#define VADDW_IMPL(wtype, vtype, prefix, postfix)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00101">add.h:101</a></div></div>
<div class="ttc" id="namespacearm__compute_1_1wrapper_xhtml_a36fc78bb7edfcc94ed2ab7436c00906e"><div class="ttname"><a href="namespacearm__compute_1_1wrapper.xhtml#a36fc78bb7edfcc94ed2ab7436c00906e">arm_compute::wrapper::vpaddl</a></div><div class="ttdeci">uint16x4_t vpaddl(const uint8x8_t &amp;a)</div><div class="ttdef"><b>Definition:</b> <a href="intrinsics_2add_8h_source.xhtml#l00165">add.h:165</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_214608ef36d61442cb2b0c1c4e9a7def.xhtml">arm_compute</a></li><li class="navelem"><a class="el" href="dir_1fb090f0c6070330bfaccc4236d3ca0d.xhtml">core</a></li><li class="navelem"><a class="el" href="dir_315f6cf1ec0b2df3ae747ff8286a19f5.xhtml">NEON</a></li><li class="navelem"><a class="el" href="dir_9eca3c725728e372597fcd0d17c1ea0f.xhtml">wrapper</a></li><li class="navelem"><a class="el" href="dir_36bd1941057d7130e210a25993eacc69.xhtml">intrinsics</a></li><li class="navelem"><a class="el" href="intrinsics_2add_8h.xhtml">add.h</a></li>
<li class="footer">Generated on Thu Nov 28 2019 16:52:55 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>
</div>
</body>
</html>