1<html lang="en"> 2<head> 3<title>ARM iWMMXt Built-in Functions - Using the GNU Compiler Collection (GCC)</title> 4<meta http-equiv="Content-Type" content="text/html"> 5<meta name="description" content="Using the GNU Compiler Collection (GCC)"> 6<meta name="generator" content="makeinfo 4.13"> 7<link title="Top" rel="start" href="index.html#Top"> 8<link rel="up" href="Target-Builtins.html#Target-Builtins" title="Target Builtins"> 9<link rel="prev" href="Alpha-Built_002din-Functions.html#Alpha-Built_002din-Functions" title="Alpha Built-in Functions"> 10<link rel="next" href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics" title="ARM NEON Intrinsics"> 11<link href="http://www.gnu.org/software/texinfo/" rel="generator-home" title="Texinfo Homepage"> 12<!-- 13Copyright (C) 1988, 1989, 1992, 1993, 1994, 1995, 1996, 1997, 141998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 152010 Free Software Foundation, Inc. 16 17Permission is granted to copy, distribute and/or modify this document 18under the terms of the GNU Free Documentation License, Version 1.3 or 19any later version published by the Free Software Foundation; with the 20Invariant Sections being ``Funding Free Software'', the Front-Cover 21Texts being (a) (see below), and with the Back-Cover Texts being (b) 22(see below). A copy of the license is included in the section entitled 23``GNU Free Documentation License''. 24 25(a) The FSF's Front-Cover Text is: 26 27 A GNU Manual 28 29(b) The FSF's Back-Cover Text is: 30 31 You have freedom to copy and modify this GNU Manual, like GNU 32 software. Copies published by the Free Software Foundation raise 33 funds for GNU development.--> 34<meta http-equiv="Content-Style-Type" content="text/css"> 35<style type="text/css"><!-- 36 pre.display { font-family:inherit } 37 pre.format { font-family:inherit } 38 pre.smalldisplay { font-family:inherit; font-size:smaller } 39 pre.smallformat { font-family:inherit; font-size:smaller } 40 pre.smallexample { font-size:smaller } 41 pre.smalllisp { font-size:smaller } 42 span.sc { font-variant:small-caps } 43 span.roman { font-family:serif; font-weight:normal; } 44 span.sansserif { font-family:sans-serif; font-weight:normal; } 45--></style> 46<link rel="stylesheet" type="text/css" href="../cs.css"> 47</head> 48<body> 49<div class="node"> 50<a name="ARM-iWMMXt-Built-in-Functions"></a> 51<a name="ARM-iWMMXt-Built_002din-Functions"></a> 52<p> 53Next: <a rel="next" accesskey="n" href="ARM-NEON-Intrinsics.html#ARM-NEON-Intrinsics">ARM NEON Intrinsics</a>, 54Previous: <a rel="previous" accesskey="p" href="Alpha-Built_002din-Functions.html#Alpha-Built_002din-Functions">Alpha Built-in Functions</a>, 55Up: <a rel="up" accesskey="u" href="Target-Builtins.html#Target-Builtins">Target Builtins</a> 56<hr> 57</div> 58 59<h4 class="subsection">6.54.2 ARM iWMMXt Built-in Functions</h4> 60 61<p>These built-in functions are available for the ARM family of 62processors when the <samp><span class="option">-mcpu=iwmmxt</span></samp> switch is used: 63 64<pre class="smallexample"> typedef int v2si __attribute__ ((vector_size (8))); 65 typedef short v4hi __attribute__ ((vector_size (8))); 66 typedef char v8qi __attribute__ ((vector_size (8))); 67 68 int __builtin_arm_getwcx (int) 69 void __builtin_arm_setwcx (int, int) 70 int __builtin_arm_textrmsb (v8qi, int) 71 int __builtin_arm_textrmsh (v4hi, int) 72 int __builtin_arm_textrmsw (v2si, int) 73 int __builtin_arm_textrmub (v8qi, int) 74 int __builtin_arm_textrmuh (v4hi, int) 75 int __builtin_arm_textrmuw (v2si, int) 76 v8qi __builtin_arm_tinsrb (v8qi, int) 77 v4hi __builtin_arm_tinsrh (v4hi, int) 78 v2si __builtin_arm_tinsrw (v2si, int) 79 long long __builtin_arm_tmia (long long, int, int) 80 long long __builtin_arm_tmiabb (long long, int, int) 81 long long __builtin_arm_tmiabt (long long, int, int) 82 long long __builtin_arm_tmiaph (long long, int, int) 83 long long __builtin_arm_tmiatb (long long, int, int) 84 long long __builtin_arm_tmiatt (long long, int, int) 85 int __builtin_arm_tmovmskb (v8qi) 86 int __builtin_arm_tmovmskh (v4hi) 87 int __builtin_arm_tmovmskw (v2si) 88 long long __builtin_arm_waccb (v8qi) 89 long long __builtin_arm_wacch (v4hi) 90 long long __builtin_arm_waccw (v2si) 91 v8qi __builtin_arm_waddb (v8qi, v8qi) 92 v8qi __builtin_arm_waddbss (v8qi, v8qi) 93 v8qi __builtin_arm_waddbus (v8qi, v8qi) 94 v4hi __builtin_arm_waddh (v4hi, v4hi) 95 v4hi __builtin_arm_waddhss (v4hi, v4hi) 96 v4hi __builtin_arm_waddhus (v4hi, v4hi) 97 v2si __builtin_arm_waddw (v2si, v2si) 98 v2si __builtin_arm_waddwss (v2si, v2si) 99 v2si __builtin_arm_waddwus (v2si, v2si) 100 v8qi __builtin_arm_walign (v8qi, v8qi, int) 101 long long __builtin_arm_wand(long long, long long) 102 long long __builtin_arm_wandn (long long, long long) 103 v8qi __builtin_arm_wavg2b (v8qi, v8qi) 104 v8qi __builtin_arm_wavg2br (v8qi, v8qi) 105 v4hi __builtin_arm_wavg2h (v4hi, v4hi) 106 v4hi __builtin_arm_wavg2hr (v4hi, v4hi) 107 v8qi __builtin_arm_wcmpeqb (v8qi, v8qi) 108 v4hi __builtin_arm_wcmpeqh (v4hi, v4hi) 109 v2si __builtin_arm_wcmpeqw (v2si, v2si) 110 v8qi __builtin_arm_wcmpgtsb (v8qi, v8qi) 111 v4hi __builtin_arm_wcmpgtsh (v4hi, v4hi) 112 v2si __builtin_arm_wcmpgtsw (v2si, v2si) 113 v8qi __builtin_arm_wcmpgtub (v8qi, v8qi) 114 v4hi __builtin_arm_wcmpgtuh (v4hi, v4hi) 115 v2si __builtin_arm_wcmpgtuw (v2si, v2si) 116 long long __builtin_arm_wmacs (long long, v4hi, v4hi) 117 long long __builtin_arm_wmacsz (v4hi, v4hi) 118 long long __builtin_arm_wmacu (long long, v4hi, v4hi) 119 long long __builtin_arm_wmacuz (v4hi, v4hi) 120 v4hi __builtin_arm_wmadds (v4hi, v4hi) 121 v4hi __builtin_arm_wmaddu (v4hi, v4hi) 122 v8qi __builtin_arm_wmaxsb (v8qi, v8qi) 123 v4hi __builtin_arm_wmaxsh (v4hi, v4hi) 124 v2si __builtin_arm_wmaxsw (v2si, v2si) 125 v8qi __builtin_arm_wmaxub (v8qi, v8qi) 126 v4hi __builtin_arm_wmaxuh (v4hi, v4hi) 127 v2si __builtin_arm_wmaxuw (v2si, v2si) 128 v8qi __builtin_arm_wminsb (v8qi, v8qi) 129 v4hi __builtin_arm_wminsh (v4hi, v4hi) 130 v2si __builtin_arm_wminsw (v2si, v2si) 131 v8qi __builtin_arm_wminub (v8qi, v8qi) 132 v4hi __builtin_arm_wminuh (v4hi, v4hi) 133 v2si __builtin_arm_wminuw (v2si, v2si) 134 v4hi __builtin_arm_wmulsm (v4hi, v4hi) 135 v4hi __builtin_arm_wmulul (v4hi, v4hi) 136 v4hi __builtin_arm_wmulum (v4hi, v4hi) 137 long long __builtin_arm_wor (long long, long long) 138 v2si __builtin_arm_wpackdss (long long, long long) 139 v2si __builtin_arm_wpackdus (long long, long long) 140 v8qi __builtin_arm_wpackhss (v4hi, v4hi) 141 v8qi __builtin_arm_wpackhus (v4hi, v4hi) 142 v4hi __builtin_arm_wpackwss (v2si, v2si) 143 v4hi __builtin_arm_wpackwus (v2si, v2si) 144 long long __builtin_arm_wrord (long long, long long) 145 long long __builtin_arm_wrordi (long long, int) 146 v4hi __builtin_arm_wrorh (v4hi, long long) 147 v4hi __builtin_arm_wrorhi (v4hi, int) 148 v2si __builtin_arm_wrorw (v2si, long long) 149 v2si __builtin_arm_wrorwi (v2si, int) 150 v2si __builtin_arm_wsadb (v8qi, v8qi) 151 v2si __builtin_arm_wsadbz (v8qi, v8qi) 152 v2si __builtin_arm_wsadh (v4hi, v4hi) 153 v2si __builtin_arm_wsadhz (v4hi, v4hi) 154 v4hi __builtin_arm_wshufh (v4hi, int) 155 long long __builtin_arm_wslld (long long, long long) 156 long long __builtin_arm_wslldi (long long, int) 157 v4hi __builtin_arm_wsllh (v4hi, long long) 158 v4hi __builtin_arm_wsllhi (v4hi, int) 159 v2si __builtin_arm_wsllw (v2si, long long) 160 v2si __builtin_arm_wsllwi (v2si, int) 161 long long __builtin_arm_wsrad (long long, long long) 162 long long __builtin_arm_wsradi (long long, int) 163 v4hi __builtin_arm_wsrah (v4hi, long long) 164 v4hi __builtin_arm_wsrahi (v4hi, int) 165 v2si __builtin_arm_wsraw (v2si, long long) 166 v2si __builtin_arm_wsrawi (v2si, int) 167 long long __builtin_arm_wsrld (long long, long long) 168 long long __builtin_arm_wsrldi (long long, int) 169 v4hi __builtin_arm_wsrlh (v4hi, long long) 170 v4hi __builtin_arm_wsrlhi (v4hi, int) 171 v2si __builtin_arm_wsrlw (v2si, long long) 172 v2si __builtin_arm_wsrlwi (v2si, int) 173 v8qi __builtin_arm_wsubb (v8qi, v8qi) 174 v8qi __builtin_arm_wsubbss (v8qi, v8qi) 175 v8qi __builtin_arm_wsubbus (v8qi, v8qi) 176 v4hi __builtin_arm_wsubh (v4hi, v4hi) 177 v4hi __builtin_arm_wsubhss (v4hi, v4hi) 178 v4hi __builtin_arm_wsubhus (v4hi, v4hi) 179 v2si __builtin_arm_wsubw (v2si, v2si) 180 v2si __builtin_arm_wsubwss (v2si, v2si) 181 v2si __builtin_arm_wsubwus (v2si, v2si) 182 v4hi __builtin_arm_wunpckehsb (v8qi) 183 v2si __builtin_arm_wunpckehsh (v4hi) 184 long long __builtin_arm_wunpckehsw (v2si) 185 v4hi __builtin_arm_wunpckehub (v8qi) 186 v2si __builtin_arm_wunpckehuh (v4hi) 187 long long __builtin_arm_wunpckehuw (v2si) 188 v4hi __builtin_arm_wunpckelsb (v8qi) 189 v2si __builtin_arm_wunpckelsh (v4hi) 190 long long __builtin_arm_wunpckelsw (v2si) 191 v4hi __builtin_arm_wunpckelub (v8qi) 192 v2si __builtin_arm_wunpckeluh (v4hi) 193 long long __builtin_arm_wunpckeluw (v2si) 194 v8qi __builtin_arm_wunpckihb (v8qi, v8qi) 195 v4hi __builtin_arm_wunpckihh (v4hi, v4hi) 196 v2si __builtin_arm_wunpckihw (v2si, v2si) 197 v8qi __builtin_arm_wunpckilb (v8qi, v8qi) 198 v4hi __builtin_arm_wunpckilh (v4hi, v4hi) 199 v2si __builtin_arm_wunpckilw (v2si, v2si) 200 long long __builtin_arm_wxor (long long, long long) 201 long long __builtin_arm_wzero () 202</pre> 203 </body></html> 204 205