You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

524 lines
27KB

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  2. <html>
  3. <!-- Copyright (C) 1988-2020 Free Software Foundation, Inc.
  4. Permission is granted to copy, distribute and/or modify this document
  5. under the terms of the GNU Free Documentation License, Version 1.3 or
  6. any later version published by the Free Software Foundation; with the
  7. Invariant Sections being "Funding Free Software", the Front-Cover
  8. Texts being (a) (see below), and with the Back-Cover Texts being (b)
  9. (see below). A copy of the license is included in the section entitled
  10. "GNU Free Documentation License".
  11. (a) The FSF's Front-Cover Text is:
  12. A GNU Manual
  13. (b) The FSF's Back-Cover Text is:
  14. You have freedom to copy and modify this GNU Manual, like GNU
  15. software. Copies published by the Free Software Foundation raise
  16. funds for GNU development. -->
  17. <!-- Created by GNU Texinfo 6.5, http://www.gnu.org/software/texinfo/ -->
  18. <head>
  19. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  20. <title>PowerPC AltiVec Built-in Functions Available on ISA 2.06 (Using the GNU Compiler Collection (GCC))</title>
  21. <meta name="description" content="PowerPC AltiVec Built-in Functions Available on ISA 2.06 (Using the GNU Compiler Collection (GCC))">
  22. <meta name="keywords" content="PowerPC AltiVec Built-in Functions Available on ISA 2.06 (Using the GNU Compiler Collection (GCC))">
  23. <meta name="resource-type" content="document">
  24. <meta name="distribution" content="global">
  25. <meta name="Generator" content="makeinfo">
  26. <link href="index.html#Top" rel="start" title="Top">
  27. <link href="Option-Index.html#Option-Index" rel="index" title="Option Index">
  28. <link href="index.html#SEC_Contents" rel="contents" title="Table of Contents">
  29. <link href="PowerPC-AltiVec_002fVSX-Built_002din-Functions.html#PowerPC-AltiVec_002fVSX-Built_002din-Functions" rel="up" title="PowerPC AltiVec/VSX Built-in Functions">
  30. <link href="PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e07.html#PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e07" rel="next" title="PowerPC AltiVec Built-in Functions Available on ISA 2.07">
  31. <link href="PowerPC-AltiVec-Built_002din-Functions-on-ISA-2_002e05.html#PowerPC-AltiVec-Built_002din-Functions-on-ISA-2_002e05" rel="prev" title="PowerPC AltiVec Built-in Functions on ISA 2.05">
  32. <style type="text/css">
  33. <!--
  34. a.summary-letter {text-decoration: none}
  35. blockquote.indentedblock {margin-right: 0em}
  36. blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
  37. blockquote.smallquotation {font-size: smaller}
  38. div.display {margin-left: 3.2em}
  39. div.example {margin-left: 3.2em}
  40. div.lisp {margin-left: 3.2em}
  41. div.smalldisplay {margin-left: 3.2em}
  42. div.smallexample {margin-left: 3.2em}
  43. div.smalllisp {margin-left: 3.2em}
  44. kbd {font-style: oblique}
  45. pre.display {font-family: inherit}
  46. pre.format {font-family: inherit}
  47. pre.menu-comment {font-family: serif}
  48. pre.menu-preformatted {font-family: serif}
  49. pre.smalldisplay {font-family: inherit; font-size: smaller}
  50. pre.smallexample {font-size: smaller}
  51. pre.smallformat {font-family: inherit; font-size: smaller}
  52. pre.smalllisp {font-size: smaller}
  53. span.nolinebreak {white-space: nowrap}
  54. span.roman {font-family: initial; font-weight: normal}
  55. span.sansserif {font-family: sans-serif; font-weight: normal}
  56. ul.no-bullet {list-style: none}
  57. -->
  58. </style>
  59. </head>
  60. <body lang="en">
  61. <a name="PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e06"></a>
  62. <div class="header">
  63. <p>
  64. Next: <a href="PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e07.html#PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e07" accesskey="n" rel="next">PowerPC AltiVec Built-in Functions Available on ISA 2.07</a>, Previous: <a href="PowerPC-AltiVec-Built_002din-Functions-on-ISA-2_002e05.html#PowerPC-AltiVec-Built_002din-Functions-on-ISA-2_002e05" accesskey="p" rel="prev">PowerPC AltiVec Built-in Functions on ISA 2.05</a>, Up: <a href="PowerPC-AltiVec_002fVSX-Built_002din-Functions.html#PowerPC-AltiVec_002fVSX-Built_002din-Functions" accesskey="u" rel="up">PowerPC AltiVec/VSX Built-in Functions</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  65. </div>
  66. <hr>
  67. <a name="PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e06-1"></a>
  68. <h4 class="subsubsection">6.60.23.2 PowerPC AltiVec Built-in Functions Available on ISA 2.06</h4>
  69. <p>The AltiVec built-in functions described in this section are
  70. available on the PowerPC family of processors starting with ISA 2.06
  71. or later. These are normally enabled by adding <samp>-mvsx</samp> to the
  72. command line.
  73. </p>
  74. <p>When <samp>-mvsx</samp> is used, the following additional vector types are
  75. implemented.
  76. </p>
  77. <div class="smallexample">
  78. <pre class="smallexample">vector unsigned __int128
  79. vector signed __int128
  80. vector unsigned long long int
  81. vector signed long long int
  82. vector double
  83. </pre></div>
  84. <p>The long long types are only implemented for 64-bit code generation.
  85. </p>
  86. <div class="smallexample">
  87. <pre class="smallexample">
  88. vector bool long long vec_and (vector bool long long int, vector bool long long);
  89. vector double vec_ctf (vector unsigned long, const int);
  90. vector double vec_ctf (vector signed long, const int);
  91. vector signed long vec_cts (vector double, const int);
  92. vector unsigned long vec_ctu (vector double, const int);
  93. void vec_dst (const unsigned long *, int, const int);
  94. void vec_dst (const long *, int, const int);
  95. void vec_dststt (const unsigned long *, int, const int);
  96. void vec_dststt (const long *, int, const int);
  97. void vec_dstt (const unsigned long *, int, const int);
  98. void vec_dstt (const long *, int, const int);
  99. vector unsigned char vec_lvsl (int, const unsigned long *);
  100. vector unsigned char vec_lvsl (int, const long *);
  101. vector unsigned char vec_lvsr (int, const unsigned long *);
  102. vector unsigned char vec_lvsr (int, const long *);
  103. vector double vec_mul (vector double, vector double);
  104. vector long vec_mul (vector long, vector long);
  105. vector unsigned long vec_mul (vector unsigned long, vector unsigned long);
  106. vector unsigned long long vec_mule (vector unsigned int, vector unsigned int);
  107. vector signed long long vec_mule (vector signed int, vector signed int);
  108. vector unsigned long long vec_mulo (vector unsigned int, vector unsigned int);
  109. vector signed long long vec_mulo (vector signed int, vector signed int);
  110. vector double vec_nabs (vector double);
  111. vector bool long long vec_reve (vector bool long long);
  112. vector signed long long vec_reve (vector signed long long);
  113. vector unsigned long long vec_reve (vector unsigned long long);
  114. vector double vec_sld (vector double, vector double, const int);
  115. vector bool long long int vec_sld (vector bool long long int,
  116. vector bool long long int, const int);
  117. vector long long int vec_sld (vector long long int, vector long long int, const int);
  118. vector unsigned long long int vec_sld (vector unsigned long long int,
  119. vector unsigned long long int, const int);
  120. vector long long int vec_sll (vector long long int, vector unsigned char);
  121. vector unsigned long long int vec_sll (vector unsigned long long int,
  122. vector unsigned char);
  123. vector signed long long vec_slo (vector signed long long, vector signed char);
  124. vector signed long long vec_slo (vector signed long long, vector unsigned char);
  125. vector unsigned long long vec_slo (vector unsigned long long, vector signed char);
  126. vector unsigned long long vec_slo (vector unsigned long long, vector unsigned char);
  127. vector signed long vec_splat (vector signed long, const int);
  128. vector unsigned long vec_splat (vector unsigned long, const int);
  129. vector long long int vec_srl (vector long long int, vector unsigned char);
  130. vector unsigned long long int vec_srl (vector unsigned long long int,
  131. vector unsigned char);
  132. vector long long int vec_sro (vector long long int, vector char);
  133. vector long long int vec_sro (vector long long int, vector unsigned char);
  134. vector unsigned long long int vec_sro (vector unsigned long long int, vector char);
  135. vector unsigned long long int vec_sro (vector unsigned long long int,
  136. vector unsigned char);
  137. vector signed __int128 vec_subc (vector signed __int128, vector signed __int128);
  138. vector unsigned __int128 vec_subc (vector unsigned __int128, vector unsigned __int128);
  139. vector signed __int128 vec_sube (vector signed __int128, vector signed __int128,
  140. vector signed __int128);
  141. vector unsigned __int128 vec_sube (vector unsigned __int128, vector unsigned __int128,
  142. vector unsigned __int128);
  143. vector signed __int128 vec_subec (vector signed __int128, vector signed __int128,
  144. vector signed __int128);
  145. vector unsigned __int128 vec_subec (vector unsigned __int128, vector unsigned __int128,
  146. vector unsigned __int128);
  147. vector double vec_unpackh (vector float);
  148. vector double vec_unpackl (vector float);
  149. vector double vec_doublee (vector float);
  150. vector double vec_doublee (vector signed int);
  151. vector double vec_doublee (vector unsigned int);
  152. vector double vec_doubleo (vector float);
  153. vector double vec_doubleo (vector signed int);
  154. vector double vec_doubleo (vector unsigned int);
  155. vector double vec_doubleh (vector float);
  156. vector double vec_doubleh (vector signed int);
  157. vector double vec_doubleh (vector unsigned int);
  158. vector double vec_doublel (vector float);
  159. vector double vec_doublel (vector signed int);
  160. vector double vec_doublel (vector unsigned int);
  161. vector float vec_float (vector signed int);
  162. vector float vec_float (vector unsigned int);
  163. vector float vec_float2 (vector signed long long, vector signed long long);
  164. vector float vec_float2 (vector unsigned long long, vector signed long long);
  165. vector float vec_floate (vector double);
  166. vector float vec_floate (vector signed long long);
  167. vector float vec_floate (vector unsigned long long);
  168. vector float vec_floato (vector double);
  169. vector float vec_floato (vector signed long long);
  170. vector float vec_floato (vector unsigned long long);
  171. vector signed long long vec_signed (vector double);
  172. vector signed int vec_signed (vector float);
  173. vector signed int vec_signede (vector double);
  174. vector signed int vec_signedo (vector double);
  175. vector signed char vec_sldw (vector signed char, vector signed char, const int);
  176. vector unsigned char vec_sldw (vector unsigned char, vector unsigned char, const int);
  177. vector signed short vec_sldw (vector signed short, vector signed short, const int);
  178. vector unsigned short vec_sldw (vector unsigned short,
  179. vector unsigned short, const int);
  180. vector signed int vec_sldw (vector signed int, vector signed int, const int);
  181. vector unsigned int vec_sldw (vector unsigned int, vector unsigned int, const int);
  182. vector signed long long vec_sldw (vector signed long long,
  183. vector signed long long, const int);
  184. vector unsigned long long vec_sldw (vector unsigned long long,
  185. vector unsigned long long, const int);
  186. vector signed long long vec_unsigned (vector double);
  187. vector signed int vec_unsigned (vector float);
  188. vector signed int vec_unsignede (vector double);
  189. vector signed int vec_unsignedo (vector double);
  190. vector double vec_abs (vector double);
  191. vector double vec_add (vector double, vector double);
  192. vector double vec_and (vector double, vector double);
  193. vector double vec_and (vector double, vector bool long);
  194. vector double vec_and (vector bool long, vector double);
  195. vector long vec_and (vector long, vector long);
  196. vector long vec_and (vector long, vector bool long);
  197. vector long vec_and (vector bool long, vector long);
  198. vector unsigned long vec_and (vector unsigned long, vector unsigned long);
  199. vector unsigned long vec_and (vector unsigned long, vector bool long);
  200. vector unsigned long vec_and (vector bool long, vector unsigned long);
  201. vector double vec_andc (vector double, vector double);
  202. vector double vec_andc (vector double, vector bool long);
  203. vector double vec_andc (vector bool long, vector double);
  204. vector long vec_andc (vector long, vector long);
  205. vector long vec_andc (vector long, vector bool long);
  206. vector long vec_andc (vector bool long, vector long);
  207. vector unsigned long vec_andc (vector unsigned long, vector unsigned long);
  208. vector unsigned long vec_andc (vector unsigned long, vector bool long);
  209. vector unsigned long vec_andc (vector bool long, vector unsigned long);
  210. vector double vec_ceil (vector double);
  211. vector bool long vec_cmpeq (vector double, vector double);
  212. vector bool long vec_cmpge (vector double, vector double);
  213. vector bool long vec_cmpgt (vector double, vector double);
  214. vector bool long vec_cmple (vector double, vector double);
  215. vector bool long vec_cmplt (vector double, vector double);
  216. vector double vec_cpsgn (vector double, vector double);
  217. vector float vec_div (vector float, vector float);
  218. vector double vec_div (vector double, vector double);
  219. vector long vec_div (vector long, vector long);
  220. vector unsigned long vec_div (vector unsigned long, vector unsigned long);
  221. vector double vec_floor (vector double);
  222. vector signed long long vec_ld (int, const vector signed long long *);
  223. vector signed long long vec_ld (int, const signed long long *);
  224. vector unsigned long long vec_ld (int, const vector unsigned long long *);
  225. vector unsigned long long vec_ld (int, const unsigned long long *);
  226. vector __int128 vec_ld (int, const vector __int128 *);
  227. vector unsigned __int128 vec_ld (int, const vector unsigned __int128 *);
  228. vector __int128 vec_ld (int, const __int128 *);
  229. vector unsigned __int128 vec_ld (int, const unsigned __int128 *);
  230. vector double vec_ld (int, const vector double *);
  231. vector double vec_ld (int, const double *);
  232. vector double vec_ldl (int, const vector double *);
  233. vector double vec_ldl (int, const double *);
  234. vector unsigned char vec_lvsl (int, const double *);
  235. vector unsigned char vec_lvsr (int, const double *);
  236. vector double vec_madd (vector double, vector double, vector double);
  237. vector double vec_max (vector double, vector double);
  238. vector signed long vec_mergeh (vector signed long, vector signed long);
  239. vector signed long vec_mergeh (vector signed long, vector bool long);
  240. vector signed long vec_mergeh (vector bool long, vector signed long);
  241. vector unsigned long vec_mergeh (vector unsigned long, vector unsigned long);
  242. vector unsigned long vec_mergeh (vector unsigned long, vector bool long);
  243. vector unsigned long vec_mergeh (vector bool long, vector unsigned long);
  244. vector signed long vec_mergel (vector signed long, vector signed long);
  245. vector signed long vec_mergel (vector signed long, vector bool long);
  246. vector signed long vec_mergel (vector bool long, vector signed long);
  247. vector unsigned long vec_mergel (vector unsigned long, vector unsigned long);
  248. vector unsigned long vec_mergel (vector unsigned long, vector bool long);
  249. vector unsigned long vec_mergel (vector bool long, vector unsigned long);
  250. vector double vec_min (vector double, vector double);
  251. vector float vec_msub (vector float, vector float, vector float);
  252. vector double vec_msub (vector double, vector double, vector double);
  253. vector float vec_nearbyint (vector float);
  254. vector double vec_nearbyint (vector double);
  255. vector float vec_nmadd (vector float, vector float, vector float);
  256. vector double vec_nmadd (vector double, vector double, vector double);
  257. vector double vec_nmsub (vector double, vector double, vector double);
  258. vector double vec_nor (vector double, vector double);
  259. vector long vec_nor (vector long, vector long);
  260. vector long vec_nor (vector long, vector bool long);
  261. vector long vec_nor (vector bool long, vector long);
  262. vector unsigned long vec_nor (vector unsigned long, vector unsigned long);
  263. vector unsigned long vec_nor (vector unsigned long, vector bool long);
  264. vector unsigned long vec_nor (vector bool long, vector unsigned long);
  265. vector double vec_or (vector double, vector double);
  266. vector double vec_or (vector double, vector bool long);
  267. vector double vec_or (vector bool long, vector double);
  268. vector long vec_or (vector long, vector long);
  269. vector long vec_or (vector long, vector bool long);
  270. vector long vec_or (vector bool long, vector long);
  271. vector unsigned long vec_or (vector unsigned long, vector unsigned long);
  272. vector unsigned long vec_or (vector unsigned long, vector bool long);
  273. vector unsigned long vec_or (vector bool long, vector unsigned long);
  274. vector double vec_perm (vector double, vector double, vector unsigned char);
  275. vector long vec_perm (vector long, vector long, vector unsigned char);
  276. vector unsigned long vec_perm (vector unsigned long, vector unsigned long,
  277. vector unsigned char);
  278. vector bool char vec_permxor (vector bool char, vector bool char,
  279. vector bool char);
  280. vector unsigned char vec_permxor (vector signed char, vector signed char,
  281. vector signed char);
  282. vector unsigned char vec_permxor (vector unsigned char, vector unsigned char,
  283. vector unsigned char);
  284. vector double vec_rint (vector double);
  285. vector double vec_recip (vector double, vector double);
  286. vector double vec_rsqrt (vector double);
  287. vector double vec_rsqrte (vector double);
  288. vector double vec_sel (vector double, vector double, vector bool long);
  289. vector double vec_sel (vector double, vector double, vector unsigned long);
  290. vector long vec_sel (vector long, vector long, vector long);
  291. vector long vec_sel (vector long, vector long, vector unsigned long);
  292. vector long vec_sel (vector long, vector long, vector bool long);
  293. vector unsigned long vec_sel (vector unsigned long, vector unsigned long,
  294. vector long);
  295. vector unsigned long vec_sel (vector unsigned long, vector unsigned long,
  296. vector unsigned long);
  297. vector unsigned long vec_sel (vector unsigned long, vector unsigned long,
  298. vector bool long);
  299. vector double vec_splats (double);
  300. vector signed long vec_splats (signed long);
  301. vector unsigned long vec_splats (unsigned long);
  302. vector float vec_sqrt (vector float);
  303. vector double vec_sqrt (vector double);
  304. void vec_st (vector signed long long, int, vector signed long long *);
  305. void vec_st (vector signed long long, int, signed long long *);
  306. void vec_st (vector unsigned long long, int, vector unsigned long long *);
  307. void vec_st (vector unsigned long long, int, unsigned long long *);
  308. void vec_st (vector bool long long, int, vector bool long long *);
  309. void vec_st (vector bool long long, int, signed long long *);
  310. void vec_st (vector bool long long, int, unsigned long long *);
  311. void vec_st (vector double, int, vector double *);
  312. void vec_st (vector double, int, double *);
  313. vector double vec_sub (vector double, vector double);
  314. vector double vec_trunc (vector double);
  315. vector double vec_xl (int, vector double *);
  316. vector double vec_xl (int, double *);
  317. vector long long vec_xl (int, vector long long *);
  318. vector long long vec_xl (int, long long *);
  319. vector unsigned long long vec_xl (int, vector unsigned long long *);
  320. vector unsigned long long vec_xl (int, unsigned long long *);
  321. vector float vec_xl (int, vector float *);
  322. vector float vec_xl (int, float *);
  323. vector int vec_xl (int, vector int *);
  324. vector int vec_xl (int, int *);
  325. vector unsigned int vec_xl (int, vector unsigned int *);
  326. vector unsigned int vec_xl (int, unsigned int *);
  327. vector double vec_xor (vector double, vector double);
  328. vector double vec_xor (vector double, vector bool long);
  329. vector double vec_xor (vector bool long, vector double);
  330. vector long vec_xor (vector long, vector long);
  331. vector long vec_xor (vector long, vector bool long);
  332. vector long vec_xor (vector bool long, vector long);
  333. vector unsigned long vec_xor (vector unsigned long, vector unsigned long);
  334. vector unsigned long vec_xor (vector unsigned long, vector bool long);
  335. vector unsigned long vec_xor (vector bool long, vector unsigned long);
  336. void vec_xst (vector double, int, vector double *);
  337. void vec_xst (vector double, int, double *);
  338. void vec_xst (vector long long, int, vector long long *);
  339. void vec_xst (vector long long, int, long long *);
  340. void vec_xst (vector unsigned long long, int, vector unsigned long long *);
  341. void vec_xst (vector unsigned long long, int, unsigned long long *);
  342. void vec_xst (vector float, int, vector float *);
  343. void vec_xst (vector float, int, float *);
  344. void vec_xst (vector int, int, vector int *);
  345. void vec_xst (vector int, int, int *);
  346. void vec_xst (vector unsigned int, int, vector unsigned int *);
  347. void vec_xst (vector unsigned int, int, unsigned int *);
  348. int vec_all_eq (vector double, vector double);
  349. int vec_all_ge (vector double, vector double);
  350. int vec_all_gt (vector double, vector double);
  351. int vec_all_le (vector double, vector double);
  352. int vec_all_lt (vector double, vector double);
  353. int vec_all_nan (vector double);
  354. int vec_all_ne (vector double, vector double);
  355. int vec_all_nge (vector double, vector double);
  356. int vec_all_ngt (vector double, vector double);
  357. int vec_all_nle (vector double, vector double);
  358. int vec_all_nlt (vector double, vector double);
  359. int vec_all_numeric (vector double);
  360. int vec_any_eq (vector double, vector double);
  361. int vec_any_ge (vector double, vector double);
  362. int vec_any_gt (vector double, vector double);
  363. int vec_any_le (vector double, vector double);
  364. int vec_any_lt (vector double, vector double);
  365. int vec_any_nan (vector double);
  366. int vec_any_ne (vector double, vector double);
  367. int vec_any_nge (vector double, vector double);
  368. int vec_any_ngt (vector double, vector double);
  369. int vec_any_nle (vector double, vector double);
  370. int vec_any_nlt (vector double, vector double);
  371. int vec_any_numeric (vector double);
  372. vector double vec_vsx_ld (int, const vector double *);
  373. vector double vec_vsx_ld (int, const double *);
  374. vector float vec_vsx_ld (int, const vector float *);
  375. vector float vec_vsx_ld (int, const float *);
  376. vector bool int vec_vsx_ld (int, const vector bool int *);
  377. vector signed int vec_vsx_ld (int, const vector signed int *);
  378. vector signed int vec_vsx_ld (int, const int *);
  379. vector signed int vec_vsx_ld (int, const long *);
  380. vector unsigned int vec_vsx_ld (int, const vector unsigned int *);
  381. vector unsigned int vec_vsx_ld (int, const unsigned int *);
  382. vector unsigned int vec_vsx_ld (int, const unsigned long *);
  383. vector bool short vec_vsx_ld (int, const vector bool short *);
  384. vector pixel vec_vsx_ld (int, const vector pixel *);
  385. vector signed short vec_vsx_ld (int, const vector signed short *);
  386. vector signed short vec_vsx_ld (int, const short *);
  387. vector unsigned short vec_vsx_ld (int, const vector unsigned short *);
  388. vector unsigned short vec_vsx_ld (int, const unsigned short *);
  389. vector bool char vec_vsx_ld (int, const vector bool char *);
  390. vector signed char vec_vsx_ld (int, const vector signed char *);
  391. vector signed char vec_vsx_ld (int, const signed char *);
  392. vector unsigned char vec_vsx_ld (int, const vector unsigned char *);
  393. vector unsigned char vec_vsx_ld (int, const unsigned char *);
  394. void vec_vsx_st (vector double, int, vector double *);
  395. void vec_vsx_st (vector double, int, double *);
  396. void vec_vsx_st (vector float, int, vector float *);
  397. void vec_vsx_st (vector float, int, float *);
  398. void vec_vsx_st (vector signed int, int, vector signed int *);
  399. void vec_vsx_st (vector signed int, int, int *);
  400. void vec_vsx_st (vector unsigned int, int, vector unsigned int *);
  401. void vec_vsx_st (vector unsigned int, int, unsigned int *);
  402. void vec_vsx_st (vector bool int, int, vector bool int *);
  403. void vec_vsx_st (vector bool int, int, unsigned int *);
  404. void vec_vsx_st (vector bool int, int, int *);
  405. void vec_vsx_st (vector signed short, int, vector signed short *);
  406. void vec_vsx_st (vector signed short, int, short *);
  407. void vec_vsx_st (vector unsigned short, int, vector unsigned short *);
  408. void vec_vsx_st (vector unsigned short, int, unsigned short *);
  409. void vec_vsx_st (vector bool short, int, vector bool short *);
  410. void vec_vsx_st (vector bool short, int, unsigned short *);
  411. void vec_vsx_st (vector pixel, int, vector pixel *);
  412. void vec_vsx_st (vector pixel, int, unsigned short *);
  413. void vec_vsx_st (vector pixel, int, short *);
  414. void vec_vsx_st (vector bool short, int, short *);
  415. void vec_vsx_st (vector signed char, int, vector signed char *);
  416. void vec_vsx_st (vector signed char, int, signed char *);
  417. void vec_vsx_st (vector unsigned char, int, vector unsigned char *);
  418. void vec_vsx_st (vector unsigned char, int, unsigned char *);
  419. void vec_vsx_st (vector bool char, int, vector bool char *);
  420. void vec_vsx_st (vector bool char, int, unsigned char *);
  421. void vec_vsx_st (vector bool char, int, signed char *);
  422. vector double vec_xxpermdi (vector double, vector double, const int);
  423. vector float vec_xxpermdi (vector float, vector float, const int);
  424. vector long long vec_xxpermdi (vector long long, vector long long, const int);
  425. vector unsigned long long vec_xxpermdi (vector unsigned long long,
  426. vector unsigned long long, const int);
  427. vector int vec_xxpermdi (vector int, vector int, const int);
  428. vector unsigned int vec_xxpermdi (vector unsigned int,
  429. vector unsigned int, const int);
  430. vector short vec_xxpermdi (vector short, vector short, const int);
  431. vector unsigned short vec_xxpermdi (vector unsigned short,
  432. vector unsigned short, const int);
  433. vector signed char vec_xxpermdi (vector signed char, vector signed char,
  434. const int);
  435. vector unsigned char vec_xxpermdi (vector unsigned char,
  436. vector unsigned char, const int);
  437. vector double vec_xxsldi (vector double, vector double, int);
  438. vector float vec_xxsldi (vector float, vector float, int);
  439. vector long long vec_xxsldi (vector long long, vector long long, int);
  440. vector unsigned long long vec_xxsldi (vector unsigned long long,
  441. vector unsigned long long, int);
  442. vector int vec_xxsldi (vector int, vector int, int);
  443. vector unsigned int vec_xxsldi (vector unsigned int, vector unsigned int, int);
  444. vector short vec_xxsldi (vector short, vector short, int);
  445. vector unsigned short vec_xxsldi (vector unsigned short,
  446. vector unsigned short, int);
  447. vector signed char vec_xxsldi (vector signed char, vector signed char, int);
  448. vector unsigned char vec_xxsldi (vector unsigned char,
  449. vector unsigned char, int);
  450. </pre></div>
  451. <p>Note that the &lsquo;<samp>vec_ld</samp>&rsquo; and &lsquo;<samp>vec_st</samp>&rsquo; built-in functions always
  452. generate the AltiVec &lsquo;<samp>LVX</samp>&rsquo; and &lsquo;<samp>STVX</samp>&rsquo; instructions even
  453. if the VSX instruction set is available. The &lsquo;<samp>vec_vsx_ld</samp>&rsquo; and
  454. &lsquo;<samp>vec_vsx_st</samp>&rsquo; built-in functions always generate the VSX &lsquo;<samp>LXVD2X</samp>&rsquo;,
  455. &lsquo;<samp>LXVW4X</samp>&rsquo;, &lsquo;<samp>STXVD2X</samp>&rsquo;, and &lsquo;<samp>STXVW4X</samp>&rsquo; instructions.
  456. </p>
  457. <hr>
  458. <div class="header">
  459. <p>
  460. Next: <a href="PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e07.html#PowerPC-AltiVec-Built_002din-Functions-Available-on-ISA-2_002e07" accesskey="n" rel="next">PowerPC AltiVec Built-in Functions Available on ISA 2.07</a>, Previous: <a href="PowerPC-AltiVec-Built_002din-Functions-on-ISA-2_002e05.html#PowerPC-AltiVec-Built_002din-Functions-on-ISA-2_002e05" accesskey="p" rel="prev">PowerPC AltiVec Built-in Functions on ISA 2.05</a>, Up: <a href="PowerPC-AltiVec_002fVSX-Built_002din-Functions.html#PowerPC-AltiVec_002fVSX-Built_002din-Functions" accesskey="u" rel="up">PowerPC AltiVec/VSX Built-in Functions</a> &nbsp; [<a href="index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Option-Index.html#Option-Index" title="Index" rel="index">Index</a>]</p>
  461. </div>
  462. </body>
  463. </html>