• Home
  • History
  • Annotate
  • Line#
  • Navigate
  • Raw
  • Download
  • only in /asuswrt-rt-n18u-9.0.0.4.380.2695/release/src-rt-6.x.4708/toolchains/hndtools-armeabi-2011.09/share/doc/arm-arm-none-eabi/html/gcc/
1<html lang="en">
2<head>
3<title>PowerPC AltiVec/VSX 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="picoChip-Built_002din-Functions.html#picoChip-Built_002din-Functions" title="picoChip Built-in Functions">
10<link rel="next" href="RX-Built_002din-Functions.html#RX-Built_002din-Functions" title="RX Built-in Functions">
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="PowerPC-AltiVec%2fVSX-Built-in-Functions"></a>
51<a name="PowerPC-AltiVec_002fVSX-Built_002din-Functions"></a>
52<p>
53Next:&nbsp;<a rel="next" accesskey="n" href="RX-Built_002din-Functions.html#RX-Built_002din-Functions">RX Built-in Functions</a>,
54Previous:&nbsp;<a rel="previous" accesskey="p" href="picoChip-Built_002din-Functions.html#picoChip-Built_002din-Functions">picoChip Built-in Functions</a>,
55Up:&nbsp;<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.12 PowerPC AltiVec Built-in Functions</h4>
60
61<p>GCC provides an interface for the PowerPC family of processors to access
62the AltiVec operations described in Motorola's AltiVec Programming
63Interface Manual.  The interface is made available by including
64<code>&lt;altivec.h&gt;</code> and using <samp><span class="option">-maltivec</span></samp> and
65<samp><span class="option">-mabi=altivec</span></samp>.  The interface supports the following vector
66types.
67
68<pre class="smallexample">     vector unsigned char
69     vector signed char
70     vector bool char
71     
72     vector unsigned short
73     vector signed short
74     vector bool short
75     vector pixel
76     
77     vector unsigned int
78     vector signed int
79     vector bool int
80     vector float
81</pre>
82 <p>If <samp><span class="option">-mvsx</span></samp> is used the following additional vector types are
83implemented.
84
85<pre class="smallexample">     vector unsigned long
86     vector signed long
87     vector double
88</pre>
89 <p>The long types are only implemented for 64-bit code generation, and
90the long type is only used in the floating point/integer conversion
91instructions.
92
93 <p>GCC's implementation of the high-level language interface available from
94C and C++ code differs from Motorola's documentation in several ways.
95
96     <ul>
97<li>A vector constant is a list of constant expressions within curly braces.
98
99     <li>A vector initializer requires no cast if the vector constant is of the
100same type as the variable it is initializing.
101
102     <li>If <code>signed</code> or <code>unsigned</code> is omitted, the signedness of the
103vector type is the default signedness of the base type.  The default
104varies depending on the operating system, so a portable program should
105always specify the signedness.
106
107     <li>Compiling with <samp><span class="option">-maltivec</span></samp> adds keywords <code>__vector</code>,
108<code>vector</code>, <code>__pixel</code>, <code>pixel</code>, <code>__bool</code> and
109<code>bool</code>.  When compiling ISO C, the context-sensitive substitution
110of the keywords <code>vector</code>, <code>pixel</code> and <code>bool</code> is
111disabled.  To use them, you must include <code>&lt;altivec.h&gt;</code> instead.
112
113     <li>GCC allows using a <code>typedef</code> name as the type specifier for a
114vector type.
115
116     <li>For C, overloaded functions are implemented with macros so the following
117does not work:
118
119     <pre class="smallexample">            vec_add ((vector signed int){1, 2, 3, 4}, foo);
120</pre>
121     <p>Since <code>vec_add</code> is a macro, the vector constant in the example
122is treated as four separate arguments.  Wrap the entire argument in
123parentheses for this to work. 
124</ul>
125
126 <p><em>Note:</em> Only the <code>&lt;altivec.h&gt;</code> interface is supported. 
127Internally, GCC uses built-in functions to achieve the functionality in
128the aforementioned header file, but they are not supported and are
129subject to change without notice.
130
131 <p>The following interfaces are supported for the generic and specific
132AltiVec operations and the AltiVec predicates.  In cases where there
133is a direct mapping between generic and specific operations, only the
134generic names are shown here, although the specific operations can also
135be used.
136
137 <p>Arguments that are documented as <code>const int</code> require literal
138integral values within the range required for that operation.
139
140<pre class="smallexample">     vector signed char vec_abs (vector signed char);
141     vector signed short vec_abs (vector signed short);
142     vector signed int vec_abs (vector signed int);
143     vector float vec_abs (vector float);
144     
145     vector signed char vec_abss (vector signed char);
146     vector signed short vec_abss (vector signed short);
147     vector signed int vec_abss (vector signed int);
148     
149     vector signed char vec_add (vector bool char, vector signed char);
150     vector signed char vec_add (vector signed char, vector bool char);
151     vector signed char vec_add (vector signed char, vector signed char);
152     vector unsigned char vec_add (vector bool char, vector unsigned char);
153     vector unsigned char vec_add (vector unsigned char, vector bool char);
154     vector unsigned char vec_add (vector unsigned char,
155                                   vector unsigned char);
156     vector signed short vec_add (vector bool short, vector signed short);
157     vector signed short vec_add (vector signed short, vector bool short);
158     vector signed short vec_add (vector signed short, vector signed short);
159     vector unsigned short vec_add (vector bool short,
160                                    vector unsigned short);
161     vector unsigned short vec_add (vector unsigned short,
162                                    vector bool short);
163     vector unsigned short vec_add (vector unsigned short,
164                                    vector unsigned short);
165     vector signed int vec_add (vector bool int, vector signed int);
166     vector signed int vec_add (vector signed int, vector bool int);
167     vector signed int vec_add (vector signed int, vector signed int);
168     vector unsigned int vec_add (vector bool int, vector unsigned int);
169     vector unsigned int vec_add (vector unsigned int, vector bool int);
170     vector unsigned int vec_add (vector unsigned int, vector unsigned int);
171     vector float vec_add (vector float, vector float);
172     
173     vector float vec_vaddfp (vector float, vector float);
174     
175     vector signed int vec_vadduwm (vector bool int, vector signed int);
176     vector signed int vec_vadduwm (vector signed int, vector bool int);
177     vector signed int vec_vadduwm (vector signed int, vector signed int);
178     vector unsigned int vec_vadduwm (vector bool int, vector unsigned int);
179     vector unsigned int vec_vadduwm (vector unsigned int, vector bool int);
180     vector unsigned int vec_vadduwm (vector unsigned int,
181                                      vector unsigned int);
182     
183     vector signed short vec_vadduhm (vector bool short,
184                                      vector signed short);
185     vector signed short vec_vadduhm (vector signed short,
186                                      vector bool short);
187     vector signed short vec_vadduhm (vector signed short,
188                                      vector signed short);
189     vector unsigned short vec_vadduhm (vector bool short,
190                                        vector unsigned short);
191     vector unsigned short vec_vadduhm (vector unsigned short,
192                                        vector bool short);
193     vector unsigned short vec_vadduhm (vector unsigned short,
194                                        vector unsigned short);
195     
196     vector signed char vec_vaddubm (vector bool char, vector signed char);
197     vector signed char vec_vaddubm (vector signed char, vector bool char);
198     vector signed char vec_vaddubm (vector signed char, vector signed char);
199     vector unsigned char vec_vaddubm (vector bool char,
200                                       vector unsigned char);
201     vector unsigned char vec_vaddubm (vector unsigned char,
202                                       vector bool char);
203     vector unsigned char vec_vaddubm (vector unsigned char,
204                                       vector unsigned char);
205     
206     vector unsigned int vec_addc (vector unsigned int, vector unsigned int);
207     
208     vector unsigned char vec_adds (vector bool char, vector unsigned char);
209     vector unsigned char vec_adds (vector unsigned char, vector bool char);
210     vector unsigned char vec_adds (vector unsigned char,
211                                    vector unsigned char);
212     vector signed char vec_adds (vector bool char, vector signed char);
213     vector signed char vec_adds (vector signed char, vector bool char);
214     vector signed char vec_adds (vector signed char, vector signed char);
215     vector unsigned short vec_adds (vector bool short,
216                                     vector unsigned short);
217     vector unsigned short vec_adds (vector unsigned short,
218                                     vector bool short);
219     vector unsigned short vec_adds (vector unsigned short,
220                                     vector unsigned short);
221     vector signed short vec_adds (vector bool short, vector signed short);
222     vector signed short vec_adds (vector signed short, vector bool short);
223     vector signed short vec_adds (vector signed short, vector signed short);
224     vector unsigned int vec_adds (vector bool int, vector unsigned int);
225     vector unsigned int vec_adds (vector unsigned int, vector bool int);
226     vector unsigned int vec_adds (vector unsigned int, vector unsigned int);
227     vector signed int vec_adds (vector bool int, vector signed int);
228     vector signed int vec_adds (vector signed int, vector bool int);
229     vector signed int vec_adds (vector signed int, vector signed int);
230     
231     vector signed int vec_vaddsws (vector bool int, vector signed int);
232     vector signed int vec_vaddsws (vector signed int, vector bool int);
233     vector signed int vec_vaddsws (vector signed int, vector signed int);
234     
235     vector unsigned int vec_vadduws (vector bool int, vector unsigned int);
236     vector unsigned int vec_vadduws (vector unsigned int, vector bool int);
237     vector unsigned int vec_vadduws (vector unsigned int,
238                                      vector unsigned int);
239     
240     vector signed short vec_vaddshs (vector bool short,
241                                      vector signed short);
242     vector signed short vec_vaddshs (vector signed short,
243                                      vector bool short);
244     vector signed short vec_vaddshs (vector signed short,
245                                      vector signed short);
246     
247     vector unsigned short vec_vadduhs (vector bool short,
248                                        vector unsigned short);
249     vector unsigned short vec_vadduhs (vector unsigned short,
250                                        vector bool short);
251     vector unsigned short vec_vadduhs (vector unsigned short,
252                                        vector unsigned short);
253     
254     vector signed char vec_vaddsbs (vector bool char, vector signed char);
255     vector signed char vec_vaddsbs (vector signed char, vector bool char);
256     vector signed char vec_vaddsbs (vector signed char, vector signed char);
257     
258     vector unsigned char vec_vaddubs (vector bool char,
259                                       vector unsigned char);
260     vector unsigned char vec_vaddubs (vector unsigned char,
261                                       vector bool char);
262     vector unsigned char vec_vaddubs (vector unsigned char,
263                                       vector unsigned char);
264     
265     vector float vec_and (vector float, vector float);
266     vector float vec_and (vector float, vector bool int);
267     vector float vec_and (vector bool int, vector float);
268     vector bool int vec_and (vector bool int, vector bool int);
269     vector signed int vec_and (vector bool int, vector signed int);
270     vector signed int vec_and (vector signed int, vector bool int);
271     vector signed int vec_and (vector signed int, vector signed int);
272     vector unsigned int vec_and (vector bool int, vector unsigned int);
273     vector unsigned int vec_and (vector unsigned int, vector bool int);
274     vector unsigned int vec_and (vector unsigned int, vector unsigned int);
275     vector bool short vec_and (vector bool short, vector bool short);
276     vector signed short vec_and (vector bool short, vector signed short);
277     vector signed short vec_and (vector signed short, vector bool short);
278     vector signed short vec_and (vector signed short, vector signed short);
279     vector unsigned short vec_and (vector bool short,
280                                    vector unsigned short);
281     vector unsigned short vec_and (vector unsigned short,
282                                    vector bool short);
283     vector unsigned short vec_and (vector unsigned short,
284                                    vector unsigned short);
285     vector signed char vec_and (vector bool char, vector signed char);
286     vector bool char vec_and (vector bool char, vector bool char);
287     vector signed char vec_and (vector signed char, vector bool char);
288     vector signed char vec_and (vector signed char, vector signed char);
289     vector unsigned char vec_and (vector bool char, vector unsigned char);
290     vector unsigned char vec_and (vector unsigned char, vector bool char);
291     vector unsigned char vec_and (vector unsigned char,
292                                   vector unsigned char);
293     
294     vector float vec_andc (vector float, vector float);
295     vector float vec_andc (vector float, vector bool int);
296     vector float vec_andc (vector bool int, vector float);
297     vector bool int vec_andc (vector bool int, vector bool int);
298     vector signed int vec_andc (vector bool int, vector signed int);
299     vector signed int vec_andc (vector signed int, vector bool int);
300     vector signed int vec_andc (vector signed int, vector signed int);
301     vector unsigned int vec_andc (vector bool int, vector unsigned int);
302     vector unsigned int vec_andc (vector unsigned int, vector bool int);
303     vector unsigned int vec_andc (vector unsigned int, vector unsigned int);
304     vector bool short vec_andc (vector bool short, vector bool short);
305     vector signed short vec_andc (vector bool short, vector signed short);
306     vector signed short vec_andc (vector signed short, vector bool short);
307     vector signed short vec_andc (vector signed short, vector signed short);
308     vector unsigned short vec_andc (vector bool short,
309                                     vector unsigned short);
310     vector unsigned short vec_andc (vector unsigned short,
311                                     vector bool short);
312     vector unsigned short vec_andc (vector unsigned short,
313                                     vector unsigned short);
314     vector signed char vec_andc (vector bool char, vector signed char);
315     vector bool char vec_andc (vector bool char, vector bool char);
316     vector signed char vec_andc (vector signed char, vector bool char);
317     vector signed char vec_andc (vector signed char, vector signed char);
318     vector unsigned char vec_andc (vector bool char, vector unsigned char);
319     vector unsigned char vec_andc (vector unsigned char, vector bool char);
320     vector unsigned char vec_andc (vector unsigned char,
321                                    vector unsigned char);
322     
323     vector unsigned char vec_avg (vector unsigned char,
324                                   vector unsigned char);
325     vector signed char vec_avg (vector signed char, vector signed char);
326     vector unsigned short vec_avg (vector unsigned short,
327                                    vector unsigned short);
328     vector signed short vec_avg (vector signed short, vector signed short);
329     vector unsigned int vec_avg (vector unsigned int, vector unsigned int);
330     vector signed int vec_avg (vector signed int, vector signed int);
331     
332     vector signed int vec_vavgsw (vector signed int, vector signed int);
333     
334     vector unsigned int vec_vavguw (vector unsigned int,
335                                     vector unsigned int);
336     
337     vector signed short vec_vavgsh (vector signed short,
338                                     vector signed short);
339     
340     vector unsigned short vec_vavguh (vector unsigned short,
341                                       vector unsigned short);
342     
343     vector signed char vec_vavgsb (vector signed char, vector signed char);
344     
345     vector unsigned char vec_vavgub (vector unsigned char,
346                                      vector unsigned char);
347     
348     vector float vec_copysign (vector float);
349     
350     vector float vec_ceil (vector float);
351     
352     vector signed int vec_cmpb (vector float, vector float);
353     
354     vector bool char vec_cmpeq (vector signed char, vector signed char);
355     vector bool char vec_cmpeq (vector unsigned char, vector unsigned char);
356     vector bool short vec_cmpeq (vector signed short, vector signed short);
357     vector bool short vec_cmpeq (vector unsigned short,
358                                  vector unsigned short);
359     vector bool int vec_cmpeq (vector signed int, vector signed int);
360     vector bool int vec_cmpeq (vector unsigned int, vector unsigned int);
361     vector bool int vec_cmpeq (vector float, vector float);
362     
363     vector bool int vec_vcmpeqfp (vector float, vector float);
364     
365     vector bool int vec_vcmpequw (vector signed int, vector signed int);
366     vector bool int vec_vcmpequw (vector unsigned int, vector unsigned int);
367     
368     vector bool short vec_vcmpequh (vector signed short,
369                                     vector signed short);
370     vector bool short vec_vcmpequh (vector unsigned short,
371                                     vector unsigned short);
372     
373     vector bool char vec_vcmpequb (vector signed char, vector signed char);
374     vector bool char vec_vcmpequb (vector unsigned char,
375                                    vector unsigned char);
376     
377     vector bool int vec_cmpge (vector float, vector float);
378     
379     vector bool char vec_cmpgt (vector unsigned char, vector unsigned char);
380     vector bool char vec_cmpgt (vector signed char, vector signed char);
381     vector bool short vec_cmpgt (vector unsigned short,
382                                  vector unsigned short);
383     vector bool short vec_cmpgt (vector signed short, vector signed short);
384     vector bool int vec_cmpgt (vector unsigned int, vector unsigned int);
385     vector bool int vec_cmpgt (vector signed int, vector signed int);
386     vector bool int vec_cmpgt (vector float, vector float);
387     
388     vector bool int vec_vcmpgtfp (vector float, vector float);
389     
390     vector bool int vec_vcmpgtsw (vector signed int, vector signed int);
391     
392     vector bool int vec_vcmpgtuw (vector unsigned int, vector unsigned int);
393     
394     vector bool short vec_vcmpgtsh (vector signed short,
395                                     vector signed short);
396     
397     vector bool short vec_vcmpgtuh (vector unsigned short,
398                                     vector unsigned short);
399     
400     vector bool char vec_vcmpgtsb (vector signed char, vector signed char);
401     
402     vector bool char vec_vcmpgtub (vector unsigned char,
403                                    vector unsigned char);
404     
405     vector bool int vec_cmple (vector float, vector float);
406     
407     vector bool char vec_cmplt (vector unsigned char, vector unsigned char);
408     vector bool char vec_cmplt (vector signed char, vector signed char);
409     vector bool short vec_cmplt (vector unsigned short,
410                                  vector unsigned short);
411     vector bool short vec_cmplt (vector signed short, vector signed short);
412     vector bool int vec_cmplt (vector unsigned int, vector unsigned int);
413     vector bool int vec_cmplt (vector signed int, vector signed int);
414     vector bool int vec_cmplt (vector float, vector float);
415     
416     vector float vec_ctf (vector unsigned int, const int);
417     vector float vec_ctf (vector signed int, const int);
418     
419     vector float vec_vcfsx (vector signed int, const int);
420     
421     vector float vec_vcfux (vector unsigned int, const int);
422     
423     vector signed int vec_cts (vector float, const int);
424     
425     vector unsigned int vec_ctu (vector float, const int);
426     
427     void vec_dss (const int);
428     
429     void vec_dssall (void);
430     
431     void vec_dst (const vector unsigned char *, int, const int);
432     void vec_dst (const vector signed char *, int, const int);
433     void vec_dst (const vector bool char *, int, const int);
434     void vec_dst (const vector unsigned short *, int, const int);
435     void vec_dst (const vector signed short *, int, const int);
436     void vec_dst (const vector bool short *, int, const int);
437     void vec_dst (const vector pixel *, int, const int);
438     void vec_dst (const vector unsigned int *, int, const int);
439     void vec_dst (const vector signed int *, int, const int);
440     void vec_dst (const vector bool int *, int, const int);
441     void vec_dst (const vector float *, int, const int);
442     void vec_dst (const unsigned char *, int, const int);
443     void vec_dst (const signed char *, int, const int);
444     void vec_dst (const unsigned short *, int, const int);
445     void vec_dst (const short *, int, const int);
446     void vec_dst (const unsigned int *, int, const int);
447     void vec_dst (const int *, int, const int);
448     void vec_dst (const unsigned long *, int, const int);
449     void vec_dst (const long *, int, const int);
450     void vec_dst (const float *, int, const int);
451     
452     void vec_dstst (const vector unsigned char *, int, const int);
453     void vec_dstst (const vector signed char *, int, const int);
454     void vec_dstst (const vector bool char *, int, const int);
455     void vec_dstst (const vector unsigned short *, int, const int);
456     void vec_dstst (const vector signed short *, int, const int);
457     void vec_dstst (const vector bool short *, int, const int);
458     void vec_dstst (const vector pixel *, int, const int);
459     void vec_dstst (const vector unsigned int *, int, const int);
460     void vec_dstst (const vector signed int *, int, const int);
461     void vec_dstst (const vector bool int *, int, const int);
462     void vec_dstst (const vector float *, int, const int);
463     void vec_dstst (const unsigned char *, int, const int);
464     void vec_dstst (const signed char *, int, const int);
465     void vec_dstst (const unsigned short *, int, const int);
466     void vec_dstst (const short *, int, const int);
467     void vec_dstst (const unsigned int *, int, const int);
468     void vec_dstst (const int *, int, const int);
469     void vec_dstst (const unsigned long *, int, const int);
470     void vec_dstst (const long *, int, const int);
471     void vec_dstst (const float *, int, const int);
472     
473     void vec_dststt (const vector unsigned char *, int, const int);
474     void vec_dststt (const vector signed char *, int, const int);
475     void vec_dststt (const vector bool char *, int, const int);
476     void vec_dststt (const vector unsigned short *, int, const int);
477     void vec_dststt (const vector signed short *, int, const int);
478     void vec_dststt (const vector bool short *, int, const int);
479     void vec_dststt (const vector pixel *, int, const int);
480     void vec_dststt (const vector unsigned int *, int, const int);
481     void vec_dststt (const vector signed int *, int, const int);
482     void vec_dststt (const vector bool int *, int, const int);
483     void vec_dststt (const vector float *, int, const int);
484     void vec_dststt (const unsigned char *, int, const int);
485     void vec_dststt (const signed char *, int, const int);
486     void vec_dststt (const unsigned short *, int, const int);
487     void vec_dststt (const short *, int, const int);
488     void vec_dststt (const unsigned int *, int, const int);
489     void vec_dststt (const int *, int, const int);
490     void vec_dststt (const unsigned long *, int, const int);
491     void vec_dststt (const long *, int, const int);
492     void vec_dststt (const float *, int, const int);
493     
494     void vec_dstt (const vector unsigned char *, int, const int);
495     void vec_dstt (const vector signed char *, int, const int);
496     void vec_dstt (const vector bool char *, int, const int);
497     void vec_dstt (const vector unsigned short *, int, const int);
498     void vec_dstt (const vector signed short *, int, const int);
499     void vec_dstt (const vector bool short *, int, const int);
500     void vec_dstt (const vector pixel *, int, const int);
501     void vec_dstt (const vector unsigned int *, int, const int);
502     void vec_dstt (const vector signed int *, int, const int);
503     void vec_dstt (const vector bool int *, int, const int);
504     void vec_dstt (const vector float *, int, const int);
505     void vec_dstt (const unsigned char *, int, const int);
506     void vec_dstt (const signed char *, int, const int);
507     void vec_dstt (const unsigned short *, int, const int);
508     void vec_dstt (const short *, int, const int);
509     void vec_dstt (const unsigned int *, int, const int);
510     void vec_dstt (const int *, int, const int);
511     void vec_dstt (const unsigned long *, int, const int);
512     void vec_dstt (const long *, int, const int);
513     void vec_dstt (const float *, int, const int);
514     
515     vector float vec_expte (vector float);
516     
517     vector float vec_floor (vector float);
518     
519     vector float vec_ld (int, const vector float *);
520     vector float vec_ld (int, const float *);
521     vector bool int vec_ld (int, const vector bool int *);
522     vector signed int vec_ld (int, const vector signed int *);
523     vector signed int vec_ld (int, const int *);
524     vector signed int vec_ld (int, const long *);
525     vector unsigned int vec_ld (int, const vector unsigned int *);
526     vector unsigned int vec_ld (int, const unsigned int *);
527     vector unsigned int vec_ld (int, const unsigned long *);
528     vector bool short vec_ld (int, const vector bool short *);
529     vector pixel vec_ld (int, const vector pixel *);
530     vector signed short vec_ld (int, const vector signed short *);
531     vector signed short vec_ld (int, const short *);
532     vector unsigned short vec_ld (int, const vector unsigned short *);
533     vector unsigned short vec_ld (int, const unsigned short *);
534     vector bool char vec_ld (int, const vector bool char *);
535     vector signed char vec_ld (int, const vector signed char *);
536     vector signed char vec_ld (int, const signed char *);
537     vector unsigned char vec_ld (int, const vector unsigned char *);
538     vector unsigned char vec_ld (int, const unsigned char *);
539     
540     vector signed char vec_lde (int, const signed char *);
541     vector unsigned char vec_lde (int, const unsigned char *);
542     vector signed short vec_lde (int, const short *);
543     vector unsigned short vec_lde (int, const unsigned short *);
544     vector float vec_lde (int, const float *);
545     vector signed int vec_lde (int, const int *);
546     vector unsigned int vec_lde (int, const unsigned int *);
547     vector signed int vec_lde (int, const long *);
548     vector unsigned int vec_lde (int, const unsigned long *);
549     
550     vector float vec_lvewx (int, float *);
551     vector signed int vec_lvewx (int, int *);
552     vector unsigned int vec_lvewx (int, unsigned int *);
553     vector signed int vec_lvewx (int, long *);
554     vector unsigned int vec_lvewx (int, unsigned long *);
555     
556     vector signed short vec_lvehx (int, short *);
557     vector unsigned short vec_lvehx (int, unsigned short *);
558     
559     vector signed char vec_lvebx (int, char *);
560     vector unsigned char vec_lvebx (int, unsigned char *);
561     
562     vector float vec_ldl (int, const vector float *);
563     vector float vec_ldl (int, const float *);
564     vector bool int vec_ldl (int, const vector bool int *);
565     vector signed int vec_ldl (int, const vector signed int *);
566     vector signed int vec_ldl (int, const int *);
567     vector signed int vec_ldl (int, const long *);
568     vector unsigned int vec_ldl (int, const vector unsigned int *);
569     vector unsigned int vec_ldl (int, const unsigned int *);
570     vector unsigned int vec_ldl (int, const unsigned long *);
571     vector bool short vec_ldl (int, const vector bool short *);
572     vector pixel vec_ldl (int, const vector pixel *);
573     vector signed short vec_ldl (int, const vector signed short *);
574     vector signed short vec_ldl (int, const short *);
575     vector unsigned short vec_ldl (int, const vector unsigned short *);
576     vector unsigned short vec_ldl (int, const unsigned short *);
577     vector bool char vec_ldl (int, const vector bool char *);
578     vector signed char vec_ldl (int, const vector signed char *);
579     vector signed char vec_ldl (int, const signed char *);
580     vector unsigned char vec_ldl (int, const vector unsigned char *);
581     vector unsigned char vec_ldl (int, const unsigned char *);
582     
583     vector float vec_loge (vector float);
584     
585     vector unsigned char vec_lvsl (int, const volatile unsigned char *);
586     vector unsigned char vec_lvsl (int, const volatile signed char *);
587     vector unsigned char vec_lvsl (int, const volatile unsigned short *);
588     vector unsigned char vec_lvsl (int, const volatile short *);
589     vector unsigned char vec_lvsl (int, const volatile unsigned int *);
590     vector unsigned char vec_lvsl (int, const volatile int *);
591     vector unsigned char vec_lvsl (int, const volatile unsigned long *);
592     vector unsigned char vec_lvsl (int, const volatile long *);
593     vector unsigned char vec_lvsl (int, const volatile float *);
594     
595     vector unsigned char vec_lvsr (int, const volatile unsigned char *);
596     vector unsigned char vec_lvsr (int, const volatile signed char *);
597     vector unsigned char vec_lvsr (int, const volatile unsigned short *);
598     vector unsigned char vec_lvsr (int, const volatile short *);
599     vector unsigned char vec_lvsr (int, const volatile unsigned int *);
600     vector unsigned char vec_lvsr (int, const volatile int *);
601     vector unsigned char vec_lvsr (int, const volatile unsigned long *);
602     vector unsigned char vec_lvsr (int, const volatile long *);
603     vector unsigned char vec_lvsr (int, const volatile float *);
604     
605     vector float vec_madd (vector float, vector float, vector float);
606     
607     vector signed short vec_madds (vector signed short,
608                                    vector signed short,
609                                    vector signed short);
610     
611     vector unsigned char vec_max (vector bool char, vector unsigned char);
612     vector unsigned char vec_max (vector unsigned char, vector bool char);
613     vector unsigned char vec_max (vector unsigned char,
614                                   vector unsigned char);
615     vector signed char vec_max (vector bool char, vector signed char);
616     vector signed char vec_max (vector signed char, vector bool char);
617     vector signed char vec_max (vector signed char, vector signed char);
618     vector unsigned short vec_max (vector bool short,
619                                    vector unsigned short);
620     vector unsigned short vec_max (vector unsigned short,
621                                    vector bool short);
622     vector unsigned short vec_max (vector unsigned short,
623                                    vector unsigned short);
624     vector signed short vec_max (vector bool short, vector signed short);
625     vector signed short vec_max (vector signed short, vector bool short);
626     vector signed short vec_max (vector signed short, vector signed short);
627     vector unsigned int vec_max (vector bool int, vector unsigned int);
628     vector unsigned int vec_max (vector unsigned int, vector bool int);
629     vector unsigned int vec_max (vector unsigned int, vector unsigned int);
630     vector signed int vec_max (vector bool int, vector signed int);
631     vector signed int vec_max (vector signed int, vector bool int);
632     vector signed int vec_max (vector signed int, vector signed int);
633     vector float vec_max (vector float, vector float);
634     
635     vector float vec_vmaxfp (vector float, vector float);
636     
637     vector signed int vec_vmaxsw (vector bool int, vector signed int);
638     vector signed int vec_vmaxsw (vector signed int, vector bool int);
639     vector signed int vec_vmaxsw (vector signed int, vector signed int);
640     
641     vector unsigned int vec_vmaxuw (vector bool int, vector unsigned int);
642     vector unsigned int vec_vmaxuw (vector unsigned int, vector bool int);
643     vector unsigned int vec_vmaxuw (vector unsigned int,
644                                     vector unsigned int);
645     
646     vector signed short vec_vmaxsh (vector bool short, vector signed short);
647     vector signed short vec_vmaxsh (vector signed short, vector bool short);
648     vector signed short vec_vmaxsh (vector signed short,
649                                     vector signed short);
650     
651     vector unsigned short vec_vmaxuh (vector bool short,
652                                       vector unsigned short);
653     vector unsigned short vec_vmaxuh (vector unsigned short,
654                                       vector bool short);
655     vector unsigned short vec_vmaxuh (vector unsigned short,
656                                       vector unsigned short);
657     
658     vector signed char vec_vmaxsb (vector bool char, vector signed char);
659     vector signed char vec_vmaxsb (vector signed char, vector bool char);
660     vector signed char vec_vmaxsb (vector signed char, vector signed char);
661     
662     vector unsigned char vec_vmaxub (vector bool char,
663                                      vector unsigned char);
664     vector unsigned char vec_vmaxub (vector unsigned char,
665                                      vector bool char);
666     vector unsigned char vec_vmaxub (vector unsigned char,
667                                      vector unsigned char);
668     
669     vector bool char vec_mergeh (vector bool char, vector bool char);
670     vector signed char vec_mergeh (vector signed char, vector signed char);
671     vector unsigned char vec_mergeh (vector unsigned char,
672                                      vector unsigned char);
673     vector bool short vec_mergeh (vector bool short, vector bool short);
674     vector pixel vec_mergeh (vector pixel, vector pixel);
675     vector signed short vec_mergeh (vector signed short,
676                                     vector signed short);
677     vector unsigned short vec_mergeh (vector unsigned short,
678                                       vector unsigned short);
679     vector float vec_mergeh (vector float, vector float);
680     vector bool int vec_mergeh (vector bool int, vector bool int);
681     vector signed int vec_mergeh (vector signed int, vector signed int);
682     vector unsigned int vec_mergeh (vector unsigned int,
683                                     vector unsigned int);
684     
685     vector float vec_vmrghw (vector float, vector float);
686     vector bool int vec_vmrghw (vector bool int, vector bool int);
687     vector signed int vec_vmrghw (vector signed int, vector signed int);
688     vector unsigned int vec_vmrghw (vector unsigned int,
689                                     vector unsigned int);
690     
691     vector bool short vec_vmrghh (vector bool short, vector bool short);
692     vector signed short vec_vmrghh (vector signed short,
693                                     vector signed short);
694     vector unsigned short vec_vmrghh (vector unsigned short,
695                                       vector unsigned short);
696     vector pixel vec_vmrghh (vector pixel, vector pixel);
697     
698     vector bool char vec_vmrghb (vector bool char, vector bool char);
699     vector signed char vec_vmrghb (vector signed char, vector signed char);
700     vector unsigned char vec_vmrghb (vector unsigned char,
701                                      vector unsigned char);
702     
703     vector bool char vec_mergel (vector bool char, vector bool char);
704     vector signed char vec_mergel (vector signed char, vector signed char);
705     vector unsigned char vec_mergel (vector unsigned char,
706                                      vector unsigned char);
707     vector bool short vec_mergel (vector bool short, vector bool short);
708     vector pixel vec_mergel (vector pixel, vector pixel);
709     vector signed short vec_mergel (vector signed short,
710                                     vector signed short);
711     vector unsigned short vec_mergel (vector unsigned short,
712                                       vector unsigned short);
713     vector float vec_mergel (vector float, vector float);
714     vector bool int vec_mergel (vector bool int, vector bool int);
715     vector signed int vec_mergel (vector signed int, vector signed int);
716     vector unsigned int vec_mergel (vector unsigned int,
717                                     vector unsigned int);
718     
719     vector float vec_vmrglw (vector float, vector float);
720     vector signed int vec_vmrglw (vector signed int, vector signed int);
721     vector unsigned int vec_vmrglw (vector unsigned int,
722                                     vector unsigned int);
723     vector bool int vec_vmrglw (vector bool int, vector bool int);
724     
725     vector bool short vec_vmrglh (vector bool short, vector bool short);
726     vector signed short vec_vmrglh (vector signed short,
727                                     vector signed short);
728     vector unsigned short vec_vmrglh (vector unsigned short,
729                                       vector unsigned short);
730     vector pixel vec_vmrglh (vector pixel, vector pixel);
731     
732     vector bool char vec_vmrglb (vector bool char, vector bool char);
733     vector signed char vec_vmrglb (vector signed char, vector signed char);
734     vector unsigned char vec_vmrglb (vector unsigned char,
735                                      vector unsigned char);
736     
737     vector unsigned short vec_mfvscr (void);
738     
739     vector unsigned char vec_min (vector bool char, vector unsigned char);
740     vector unsigned char vec_min (vector unsigned char, vector bool char);
741     vector unsigned char vec_min (vector unsigned char,
742                                   vector unsigned char);
743     vector signed char vec_min (vector bool char, vector signed char);
744     vector signed char vec_min (vector signed char, vector bool char);
745     vector signed char vec_min (vector signed char, vector signed char);
746     vector unsigned short vec_min (vector bool short,
747                                    vector unsigned short);
748     vector unsigned short vec_min (vector unsigned short,
749                                    vector bool short);
750     vector unsigned short vec_min (vector unsigned short,
751                                    vector unsigned short);
752     vector signed short vec_min (vector bool short, vector signed short);
753     vector signed short vec_min (vector signed short, vector bool short);
754     vector signed short vec_min (vector signed short, vector signed short);
755     vector unsigned int vec_min (vector bool int, vector unsigned int);
756     vector unsigned int vec_min (vector unsigned int, vector bool int);
757     vector unsigned int vec_min (vector unsigned int, vector unsigned int);
758     vector signed int vec_min (vector bool int, vector signed int);
759     vector signed int vec_min (vector signed int, vector bool int);
760     vector signed int vec_min (vector signed int, vector signed int);
761     vector float vec_min (vector float, vector float);
762     
763     vector float vec_vminfp (vector float, vector float);
764     
765     vector signed int vec_vminsw (vector bool int, vector signed int);
766     vector signed int vec_vminsw (vector signed int, vector bool int);
767     vector signed int vec_vminsw (vector signed int, vector signed int);
768     
769     vector unsigned int vec_vminuw (vector bool int, vector unsigned int);
770     vector unsigned int vec_vminuw (vector unsigned int, vector bool int);
771     vector unsigned int vec_vminuw (vector unsigned int,
772                                     vector unsigned int);
773     
774     vector signed short vec_vminsh (vector bool short, vector signed short);
775     vector signed short vec_vminsh (vector signed short, vector bool short);
776     vector signed short vec_vminsh (vector signed short,
777                                     vector signed short);
778     
779     vector unsigned short vec_vminuh (vector bool short,
780                                       vector unsigned short);
781     vector unsigned short vec_vminuh (vector unsigned short,
782                                       vector bool short);
783     vector unsigned short vec_vminuh (vector unsigned short,
784                                       vector unsigned short);
785     
786     vector signed char vec_vminsb (vector bool char, vector signed char);
787     vector signed char vec_vminsb (vector signed char, vector bool char);
788     vector signed char vec_vminsb (vector signed char, vector signed char);
789     
790     vector unsigned char vec_vminub (vector bool char,
791                                      vector unsigned char);
792     vector unsigned char vec_vminub (vector unsigned char,
793                                      vector bool char);
794     vector unsigned char vec_vminub (vector unsigned char,
795                                      vector unsigned char);
796     
797     vector signed short vec_mladd (vector signed short,
798                                    vector signed short,
799                                    vector signed short);
800     vector signed short vec_mladd (vector signed short,
801                                    vector unsigned short,
802                                    vector unsigned short);
803     vector signed short vec_mladd (vector unsigned short,
804                                    vector signed short,
805                                    vector signed short);
806     vector unsigned short vec_mladd (vector unsigned short,
807                                      vector unsigned short,
808                                      vector unsigned short);
809     
810     vector signed short vec_mradds (vector signed short,
811                                     vector signed short,
812                                     vector signed short);
813     
814     vector unsigned int vec_msum (vector unsigned char,
815                                   vector unsigned char,
816                                   vector unsigned int);
817     vector signed int vec_msum (vector signed char,
818                                 vector unsigned char,
819                                 vector signed int);
820     vector unsigned int vec_msum (vector unsigned short,
821                                   vector unsigned short,
822                                   vector unsigned int);
823     vector signed int vec_msum (vector signed short,
824                                 vector signed short,
825                                 vector signed int);
826     
827     vector signed int vec_vmsumshm (vector signed short,
828                                     vector signed short,
829                                     vector signed int);
830     
831     vector unsigned int vec_vmsumuhm (vector unsigned short,
832                                       vector unsigned short,
833                                       vector unsigned int);
834     
835     vector signed int vec_vmsummbm (vector signed char,
836                                     vector unsigned char,
837                                     vector signed int);
838     
839     vector unsigned int vec_vmsumubm (vector unsigned char,
840                                       vector unsigned char,
841                                       vector unsigned int);
842     
843     vector unsigned int vec_msums (vector unsigned short,
844                                    vector unsigned short,
845                                    vector unsigned int);
846     vector signed int vec_msums (vector signed short,
847                                  vector signed short,
848                                  vector signed int);
849     
850     vector signed int vec_vmsumshs (vector signed short,
851                                     vector signed short,
852                                     vector signed int);
853     
854     vector unsigned int vec_vmsumuhs (vector unsigned short,
855                                       vector unsigned short,
856                                       vector unsigned int);
857     
858     void vec_mtvscr (vector signed int);
859     void vec_mtvscr (vector unsigned int);
860     void vec_mtvscr (vector bool int);
861     void vec_mtvscr (vector signed short);
862     void vec_mtvscr (vector unsigned short);
863     void vec_mtvscr (vector bool short);
864     void vec_mtvscr (vector pixel);
865     void vec_mtvscr (vector signed char);
866     void vec_mtvscr (vector unsigned char);
867     void vec_mtvscr (vector bool char);
868     
869     vector unsigned short vec_mule (vector unsigned char,
870                                     vector unsigned char);
871     vector signed short vec_mule (vector signed char,
872                                   vector signed char);
873     vector unsigned int vec_mule (vector unsigned short,
874                                   vector unsigned short);
875     vector signed int vec_mule (vector signed short, vector signed short);
876     
877     vector signed int vec_vmulesh (vector signed short,
878                                    vector signed short);
879     
880     vector unsigned int vec_vmuleuh (vector unsigned short,
881                                      vector unsigned short);
882     
883     vector signed short vec_vmulesb (vector signed char,
884                                      vector signed char);
885     
886     vector unsigned short vec_vmuleub (vector unsigned char,
887                                       vector unsigned char);
888     
889     vector unsigned short vec_mulo (vector unsigned char,
890                                     vector unsigned char);
891     vector signed short vec_mulo (vector signed char, vector signed char);
892     vector unsigned int vec_mulo (vector unsigned short,
893                                   vector unsigned short);
894     vector signed int vec_mulo (vector signed short, vector signed short);
895     
896     vector signed int vec_vmulosh (vector signed short,
897                                    vector signed short);
898     
899     vector unsigned int vec_vmulouh (vector unsigned short,
900                                      vector unsigned short);
901     
902     vector signed short vec_vmulosb (vector signed char,
903                                      vector signed char);
904     
905     vector unsigned short vec_vmuloub (vector unsigned char,
906                                        vector unsigned char);
907     
908     vector float vec_nmsub (vector float, vector float, vector float);
909     
910     vector float vec_nor (vector float, vector float);
911     vector signed int vec_nor (vector signed int, vector signed int);
912     vector unsigned int vec_nor (vector unsigned int, vector unsigned int);
913     vector bool int vec_nor (vector bool int, vector bool int);
914     vector signed short vec_nor (vector signed short, vector signed short);
915     vector unsigned short vec_nor (vector unsigned short,
916                                    vector unsigned short);
917     vector bool short vec_nor (vector bool short, vector bool short);
918     vector signed char vec_nor (vector signed char, vector signed char);
919     vector unsigned char vec_nor (vector unsigned char,
920                                   vector unsigned char);
921     vector bool char vec_nor (vector bool char, vector bool char);
922     
923     vector float vec_or (vector float, vector float);
924     vector float vec_or (vector float, vector bool int);
925     vector float vec_or (vector bool int, vector float);
926     vector bool int vec_or (vector bool int, vector bool int);
927     vector signed int vec_or (vector bool int, vector signed int);
928     vector signed int vec_or (vector signed int, vector bool int);
929     vector signed int vec_or (vector signed int, vector signed int);
930     vector unsigned int vec_or (vector bool int, vector unsigned int);
931     vector unsigned int vec_or (vector unsigned int, vector bool int);
932     vector unsigned int vec_or (vector unsigned int, vector unsigned int);
933     vector bool short vec_or (vector bool short, vector bool short);
934     vector signed short vec_or (vector bool short, vector signed short);
935     vector signed short vec_or (vector signed short, vector bool short);
936     vector signed short vec_or (vector signed short, vector signed short);
937     vector unsigned short vec_or (vector bool short, vector unsigned short);
938     vector unsigned short vec_or (vector unsigned short, vector bool short);
939     vector unsigned short vec_or (vector unsigned short,
940                                   vector unsigned short);
941     vector signed char vec_or (vector bool char, vector signed char);
942     vector bool char vec_or (vector bool char, vector bool char);
943     vector signed char vec_or (vector signed char, vector bool char);
944     vector signed char vec_or (vector signed char, vector signed char);
945     vector unsigned char vec_or (vector bool char, vector unsigned char);
946     vector unsigned char vec_or (vector unsigned char, vector bool char);
947     vector unsigned char vec_or (vector unsigned char,
948                                  vector unsigned char);
949     
950     vector signed char vec_pack (vector signed short, vector signed short);
951     vector unsigned char vec_pack (vector unsigned short,
952                                    vector unsigned short);
953     vector bool char vec_pack (vector bool short, vector bool short);
954     vector signed short vec_pack (vector signed int, vector signed int);
955     vector unsigned short vec_pack (vector unsigned int,
956                                     vector unsigned int);
957     vector bool short vec_pack (vector bool int, vector bool int);
958     
959     vector bool short vec_vpkuwum (vector bool int, vector bool int);
960     vector signed short vec_vpkuwum (vector signed int, vector signed int);
961     vector unsigned short vec_vpkuwum (vector unsigned int,
962                                        vector unsigned int);
963     
964     vector bool char vec_vpkuhum (vector bool short, vector bool short);
965     vector signed char vec_vpkuhum (vector signed short,
966                                     vector signed short);
967     vector unsigned char vec_vpkuhum (vector unsigned short,
968                                       vector unsigned short);
969     
970     vector pixel vec_packpx (vector unsigned int, vector unsigned int);
971     
972     vector unsigned char vec_packs (vector unsigned short,
973                                     vector unsigned short);
974     vector signed char vec_packs (vector signed short, vector signed short);
975     vector unsigned short vec_packs (vector unsigned int,
976                                      vector unsigned int);
977     vector signed short vec_packs (vector signed int, vector signed int);
978     
979     vector signed short vec_vpkswss (vector signed int, vector signed int);
980     
981     vector unsigned short vec_vpkuwus (vector unsigned int,
982                                        vector unsigned int);
983     
984     vector signed char vec_vpkshss (vector signed short,
985                                     vector signed short);
986     
987     vector unsigned char vec_vpkuhus (vector unsigned short,
988                                       vector unsigned short);
989     
990     vector unsigned char vec_packsu (vector unsigned short,
991                                      vector unsigned short);
992     vector unsigned char vec_packsu (vector signed short,
993                                      vector signed short);
994     vector unsigned short vec_packsu (vector unsigned int,
995                                       vector unsigned int);
996     vector unsigned short vec_packsu (vector signed int, vector signed int);
997     
998     vector unsigned short vec_vpkswus (vector signed int,
999                                        vector signed int);
1000     
1001     vector unsigned char vec_vpkshus (vector signed short,
1002                                       vector signed short);
1003     
1004     vector float vec_perm (vector float,
1005                            vector float,
1006                            vector unsigned char);
1007     vector signed int vec_perm (vector signed int,
1008                                 vector signed int,
1009                                 vector unsigned char);
1010     vector unsigned int vec_perm (vector unsigned int,
1011                                   vector unsigned int,
1012                                   vector unsigned char);
1013     vector bool int vec_perm (vector bool int,
1014                               vector bool int,
1015                               vector unsigned char);
1016     vector signed short vec_perm (vector signed short,
1017                                   vector signed short,
1018                                   vector unsigned char);
1019     vector unsigned short vec_perm (vector unsigned short,
1020                                     vector unsigned short,
1021                                     vector unsigned char);
1022     vector bool short vec_perm (vector bool short,
1023                                 vector bool short,
1024                                 vector unsigned char);
1025     vector pixel vec_perm (vector pixel,
1026                            vector pixel,
1027                            vector unsigned char);
1028     vector signed char vec_perm (vector signed char,
1029                                  vector signed char,
1030                                  vector unsigned char);
1031     vector unsigned char vec_perm (vector unsigned char,
1032                                    vector unsigned char,
1033                                    vector unsigned char);
1034     vector bool char vec_perm (vector bool char,
1035                                vector bool char,
1036                                vector unsigned char);
1037     
1038     vector float vec_re (vector float);
1039     
1040     vector signed char vec_rl (vector signed char,
1041                                vector unsigned char);
1042     vector unsigned char vec_rl (vector unsigned char,
1043                                  vector unsigned char);
1044     vector signed short vec_rl (vector signed short, vector unsigned short);
1045     vector unsigned short vec_rl (vector unsigned short,
1046                                   vector unsigned short);
1047     vector signed int vec_rl (vector signed int, vector unsigned int);
1048     vector unsigned int vec_rl (vector unsigned int, vector unsigned int);
1049     
1050     vector signed int vec_vrlw (vector signed int, vector unsigned int);
1051     vector unsigned int vec_vrlw (vector unsigned int, vector unsigned int);
1052     
1053     vector signed short vec_vrlh (vector signed short,
1054                                   vector unsigned short);
1055     vector unsigned short vec_vrlh (vector unsigned short,
1056                                     vector unsigned short);
1057     
1058     vector signed char vec_vrlb (vector signed char, vector unsigned char);
1059     vector unsigned char vec_vrlb (vector unsigned char,
1060                                    vector unsigned char);
1061     
1062     vector float vec_round (vector float);
1063     
1064     vector float vec_recip (vector float, vector float);
1065     
1066     vector float vec_rsqrt (vector float);
1067     
1068     vector float vec_rsqrte (vector float);
1069     
1070     vector float vec_sel (vector float, vector float, vector bool int);
1071     vector float vec_sel (vector float, vector float, vector unsigned int);
1072     vector signed int vec_sel (vector signed int,
1073                                vector signed int,
1074                                vector bool int);
1075     vector signed int vec_sel (vector signed int,
1076                                vector signed int,
1077                                vector unsigned int);
1078     vector unsigned int vec_sel (vector unsigned int,
1079                                  vector unsigned int,
1080                                  vector bool int);
1081     vector unsigned int vec_sel (vector unsigned int,
1082                                  vector unsigned int,
1083                                  vector unsigned int);
1084     vector bool int vec_sel (vector bool int,
1085                              vector bool int,
1086                              vector bool int);
1087     vector bool int vec_sel (vector bool int,
1088                              vector bool int,
1089                              vector unsigned int);
1090     vector signed short vec_sel (vector signed short,
1091                                  vector signed short,
1092                                  vector bool short);
1093     vector signed short vec_sel (vector signed short,
1094                                  vector signed short,
1095                                  vector unsigned short);
1096     vector unsigned short vec_sel (vector unsigned short,
1097                                    vector unsigned short,
1098                                    vector bool short);
1099     vector unsigned short vec_sel (vector unsigned short,
1100                                    vector unsigned short,
1101                                    vector unsigned short);
1102     vector bool short vec_sel (vector bool short,
1103                                vector bool short,
1104                                vector bool short);
1105     vector bool short vec_sel (vector bool short,
1106                                vector bool short,
1107                                vector unsigned short);
1108     vector signed char vec_sel (vector signed char,
1109                                 vector signed char,
1110                                 vector bool char);
1111     vector signed char vec_sel (vector signed char,
1112                                 vector signed char,
1113                                 vector unsigned char);
1114     vector unsigned char vec_sel (vector unsigned char,
1115                                   vector unsigned char,
1116                                   vector bool char);
1117     vector unsigned char vec_sel (vector unsigned char,
1118                                   vector unsigned char,
1119                                   vector unsigned char);
1120     vector bool char vec_sel (vector bool char,
1121                               vector bool char,
1122                               vector bool char);
1123     vector bool char vec_sel (vector bool char,
1124                               vector bool char,
1125                               vector unsigned char);
1126     
1127     vector signed char vec_sl (vector signed char,
1128                                vector unsigned char);
1129     vector unsigned char vec_sl (vector unsigned char,
1130                                  vector unsigned char);
1131     vector signed short vec_sl (vector signed short, vector unsigned short);
1132     vector unsigned short vec_sl (vector unsigned short,
1133                                   vector unsigned short);
1134     vector signed int vec_sl (vector signed int, vector unsigned int);
1135     vector unsigned int vec_sl (vector unsigned int, vector unsigned int);
1136     
1137     vector signed int vec_vslw (vector signed int, vector unsigned int);
1138     vector unsigned int vec_vslw (vector unsigned int, vector unsigned int);
1139     
1140     vector signed short vec_vslh (vector signed short,
1141                                   vector unsigned short);
1142     vector unsigned short vec_vslh (vector unsigned short,
1143                                     vector unsigned short);
1144     
1145     vector signed char vec_vslb (vector signed char, vector unsigned char);
1146     vector unsigned char vec_vslb (vector unsigned char,
1147                                    vector unsigned char);
1148     
1149     vector float vec_sld (vector float, vector float, const int);
1150     vector signed int vec_sld (vector signed int,
1151                                vector signed int,
1152                                const int);
1153     vector unsigned int vec_sld (vector unsigned int,
1154                                  vector unsigned int,
1155                                  const int);
1156     vector bool int vec_sld (vector bool int,
1157                              vector bool int,
1158                              const int);
1159     vector signed short vec_sld (vector signed short,
1160                                  vector signed short,
1161                                  const int);
1162     vector unsigned short vec_sld (vector unsigned short,
1163                                    vector unsigned short,
1164                                    const int);
1165     vector bool short vec_sld (vector bool short,
1166                                vector bool short,
1167                                const int);
1168     vector pixel vec_sld (vector pixel,
1169                           vector pixel,
1170                           const int);
1171     vector signed char vec_sld (vector signed char,
1172                                 vector signed char,
1173                                 const int);
1174     vector unsigned char vec_sld (vector unsigned char,
1175                                   vector unsigned char,
1176                                   const int);
1177     vector bool char vec_sld (vector bool char,
1178                               vector bool char,
1179                               const int);
1180     
1181     vector signed int vec_sll (vector signed int,
1182                                vector unsigned int);
1183     vector signed int vec_sll (vector signed int,
1184                                vector unsigned short);
1185     vector signed int vec_sll (vector signed int,
1186                                vector unsigned char);
1187     vector unsigned int vec_sll (vector unsigned int,
1188                                  vector unsigned int);
1189     vector unsigned int vec_sll (vector unsigned int,
1190                                  vector unsigned short);
1191     vector unsigned int vec_sll (vector unsigned int,
1192                                  vector unsigned char);
1193     vector bool int vec_sll (vector bool int,
1194                              vector unsigned int);
1195     vector bool int vec_sll (vector bool int,
1196                              vector unsigned short);
1197     vector bool int vec_sll (vector bool int,
1198                              vector unsigned char);
1199     vector signed short vec_sll (vector signed short,
1200                                  vector unsigned int);
1201     vector signed short vec_sll (vector signed short,
1202                                  vector unsigned short);
1203     vector signed short vec_sll (vector signed short,
1204                                  vector unsigned char);
1205     vector unsigned short vec_sll (vector unsigned short,
1206                                    vector unsigned int);
1207     vector unsigned short vec_sll (vector unsigned short,
1208                                    vector unsigned short);
1209     vector unsigned short vec_sll (vector unsigned short,
1210                                    vector unsigned char);
1211     vector bool short vec_sll (vector bool short, vector unsigned int);
1212     vector bool short vec_sll (vector bool short, vector unsigned short);
1213     vector bool short vec_sll (vector bool short, vector unsigned char);
1214     vector pixel vec_sll (vector pixel, vector unsigned int);
1215     vector pixel vec_sll (vector pixel, vector unsigned short);
1216     vector pixel vec_sll (vector pixel, vector unsigned char);
1217     vector signed char vec_sll (vector signed char, vector unsigned int);
1218     vector signed char vec_sll (vector signed char, vector unsigned short);
1219     vector signed char vec_sll (vector signed char, vector unsigned char);
1220     vector unsigned char vec_sll (vector unsigned char,
1221                                   vector unsigned int);
1222     vector unsigned char vec_sll (vector unsigned char,
1223                                   vector unsigned short);
1224     vector unsigned char vec_sll (vector unsigned char,
1225                                   vector unsigned char);
1226     vector bool char vec_sll (vector bool char, vector unsigned int);
1227     vector bool char vec_sll (vector bool char, vector unsigned short);
1228     vector bool char vec_sll (vector bool char, vector unsigned char);
1229     
1230     vector float vec_slo (vector float, vector signed char);
1231     vector float vec_slo (vector float, vector unsigned char);
1232     vector signed int vec_slo (vector signed int, vector signed char);
1233     vector signed int vec_slo (vector signed int, vector unsigned char);
1234     vector unsigned int vec_slo (vector unsigned int, vector signed char);
1235     vector unsigned int vec_slo (vector unsigned int, vector unsigned char);
1236     vector signed short vec_slo (vector signed short, vector signed char);
1237     vector signed short vec_slo (vector signed short, vector unsigned char);
1238     vector unsigned short vec_slo (vector unsigned short,
1239                                    vector signed char);
1240     vector unsigned short vec_slo (vector unsigned short,
1241                                    vector unsigned char);
1242     vector pixel vec_slo (vector pixel, vector signed char);
1243     vector pixel vec_slo (vector pixel, vector unsigned char);
1244     vector signed char vec_slo (vector signed char, vector signed char);
1245     vector signed char vec_slo (vector signed char, vector unsigned char);
1246     vector unsigned char vec_slo (vector unsigned char, vector signed char);
1247     vector unsigned char vec_slo (vector unsigned char,
1248                                   vector unsigned char);
1249     
1250     vector signed char vec_splat (vector signed char, const int);
1251     vector unsigned char vec_splat (vector unsigned char, const int);
1252     vector bool char vec_splat (vector bool char, const int);
1253     vector signed short vec_splat (vector signed short, const int);
1254     vector unsigned short vec_splat (vector unsigned short, const int);
1255     vector bool short vec_splat (vector bool short, const int);
1256     vector pixel vec_splat (vector pixel, const int);
1257     vector float vec_splat (vector float, const int);
1258     vector signed int vec_splat (vector signed int, const int);
1259     vector unsigned int vec_splat (vector unsigned int, const int);
1260     vector bool int vec_splat (vector bool int, const int);
1261     
1262     vector float vec_vspltw (vector float, const int);
1263     vector signed int vec_vspltw (vector signed int, const int);
1264     vector unsigned int vec_vspltw (vector unsigned int, const int);
1265     vector bool int vec_vspltw (vector bool int, const int);
1266     
1267     vector bool short vec_vsplth (vector bool short, const int);
1268     vector signed short vec_vsplth (vector signed short, const int);
1269     vector unsigned short vec_vsplth (vector unsigned short, const int);
1270     vector pixel vec_vsplth (vector pixel, const int);
1271     
1272     vector signed char vec_vspltb (vector signed char, const int);
1273     vector unsigned char vec_vspltb (vector unsigned char, const int);
1274     vector bool char vec_vspltb (vector bool char, const int);
1275     
1276     vector signed char vec_splat_s8 (const int);
1277     
1278     vector signed short vec_splat_s16 (const int);
1279     
1280     vector signed int vec_splat_s32 (const int);
1281     
1282     vector unsigned char vec_splat_u8 (const int);
1283     
1284     vector unsigned short vec_splat_u16 (const int);
1285     
1286     vector unsigned int vec_splat_u32 (const int);
1287     
1288     vector signed char vec_sr (vector signed char, vector unsigned char);
1289     vector unsigned char vec_sr (vector unsigned char,
1290                                  vector unsigned char);
1291     vector signed short vec_sr (vector signed short,
1292                                 vector unsigned short);
1293     vector unsigned short vec_sr (vector unsigned short,
1294                                   vector unsigned short);
1295     vector signed int vec_sr (vector signed int, vector unsigned int);
1296     vector unsigned int vec_sr (vector unsigned int, vector unsigned int);
1297     
1298     vector signed int vec_vsrw (vector signed int, vector unsigned int);
1299     vector unsigned int vec_vsrw (vector unsigned int, vector unsigned int);
1300     
1301     vector signed short vec_vsrh (vector signed short,
1302                                   vector unsigned short);
1303     vector unsigned short vec_vsrh (vector unsigned short,
1304                                     vector unsigned short);
1305     
1306     vector signed char vec_vsrb (vector signed char, vector unsigned char);
1307     vector unsigned char vec_vsrb (vector unsigned char,
1308                                    vector unsigned char);
1309     
1310     vector signed char vec_sra (vector signed char, vector unsigned char);
1311     vector unsigned char vec_sra (vector unsigned char,
1312                                   vector unsigned char);
1313     vector signed short vec_sra (vector signed short,
1314                                  vector unsigned short);
1315     vector unsigned short vec_sra (vector unsigned short,
1316                                    vector unsigned short);
1317     vector signed int vec_sra (vector signed int, vector unsigned int);
1318     vector unsigned int vec_sra (vector unsigned int, vector unsigned int);
1319     
1320     vector signed int vec_vsraw (vector signed int, vector unsigned int);
1321     vector unsigned int vec_vsraw (vector unsigned int,
1322                                    vector unsigned int);
1323     
1324     vector signed short vec_vsrah (vector signed short,
1325                                    vector unsigned short);
1326     vector unsigned short vec_vsrah (vector unsigned short,
1327                                      vector unsigned short);
1328     
1329     vector signed char vec_vsrab (vector signed char, vector unsigned char);
1330     vector unsigned char vec_vsrab (vector unsigned char,
1331                                     vector unsigned char);
1332     
1333     vector signed int vec_srl (vector signed int, vector unsigned int);
1334     vector signed int vec_srl (vector signed int, vector unsigned short);
1335     vector signed int vec_srl (vector signed int, vector unsigned char);
1336     vector unsigned int vec_srl (vector unsigned int, vector unsigned int);
1337     vector unsigned int vec_srl (vector unsigned int,
1338                                  vector unsigned short);
1339     vector unsigned int vec_srl (vector unsigned int, vector unsigned char);
1340     vector bool int vec_srl (vector bool int, vector unsigned int);
1341     vector bool int vec_srl (vector bool int, vector unsigned short);
1342     vector bool int vec_srl (vector bool int, vector unsigned char);
1343     vector signed short vec_srl (vector signed short, vector unsigned int);
1344     vector signed short vec_srl (vector signed short,
1345                                  vector unsigned short);
1346     vector signed short vec_srl (vector signed short, vector unsigned char);
1347     vector unsigned short vec_srl (vector unsigned short,
1348                                    vector unsigned int);
1349     vector unsigned short vec_srl (vector unsigned short,
1350                                    vector unsigned short);
1351     vector unsigned short vec_srl (vector unsigned short,
1352                                    vector unsigned char);
1353     vector bool short vec_srl (vector bool short, vector unsigned int);
1354     vector bool short vec_srl (vector bool short, vector unsigned short);
1355     vector bool short vec_srl (vector bool short, vector unsigned char);
1356     vector pixel vec_srl (vector pixel, vector unsigned int);
1357     vector pixel vec_srl (vector pixel, vector unsigned short);
1358     vector pixel vec_srl (vector pixel, vector unsigned char);
1359     vector signed char vec_srl (vector signed char, vector unsigned int);
1360     vector signed char vec_srl (vector signed char, vector unsigned short);
1361     vector signed char vec_srl (vector signed char, vector unsigned char);
1362     vector unsigned char vec_srl (vector unsigned char,
1363                                   vector unsigned int);
1364     vector unsigned char vec_srl (vector unsigned char,
1365                                   vector unsigned short);
1366     vector unsigned char vec_srl (vector unsigned char,
1367                                   vector unsigned char);
1368     vector bool char vec_srl (vector bool char, vector unsigned int);
1369     vector bool char vec_srl (vector bool char, vector unsigned short);
1370     vector bool char vec_srl (vector bool char, vector unsigned char);
1371     
1372     vector float vec_sro (vector float, vector signed char);
1373     vector float vec_sro (vector float, vector unsigned char);
1374     vector signed int vec_sro (vector signed int, vector signed char);
1375     vector signed int vec_sro (vector signed int, vector unsigned char);
1376     vector unsigned int vec_sro (vector unsigned int, vector signed char);
1377     vector unsigned int vec_sro (vector unsigned int, vector unsigned char);
1378     vector signed short vec_sro (vector signed short, vector signed char);
1379     vector signed short vec_sro (vector signed short, vector unsigned char);
1380     vector unsigned short vec_sro (vector unsigned short,
1381                                    vector signed char);
1382     vector unsigned short vec_sro (vector unsigned short,
1383                                    vector unsigned char);
1384     vector pixel vec_sro (vector pixel, vector signed char);
1385     vector pixel vec_sro (vector pixel, vector unsigned char);
1386     vector signed char vec_sro (vector signed char, vector signed char);
1387     vector signed char vec_sro (vector signed char, vector unsigned char);
1388     vector unsigned char vec_sro (vector unsigned char, vector signed char);
1389     vector unsigned char vec_sro (vector unsigned char,
1390                                   vector unsigned char);
1391     
1392     void vec_st (vector float, int, vector float *);
1393     void vec_st (vector float, int, float *);
1394     void vec_st (vector signed int, int, vector signed int *);
1395     void vec_st (vector signed int, int, int *);
1396     void vec_st (vector unsigned int, int, vector unsigned int *);
1397     void vec_st (vector unsigned int, int, unsigned int *);
1398     void vec_st (vector bool int, int, vector bool int *);
1399     void vec_st (vector bool int, int, unsigned int *);
1400     void vec_st (vector bool int, int, int *);
1401     void vec_st (vector signed short, int, vector signed short *);
1402     void vec_st (vector signed short, int, short *);
1403     void vec_st (vector unsigned short, int, vector unsigned short *);
1404     void vec_st (vector unsigned short, int, unsigned short *);
1405     void vec_st (vector bool short, int, vector bool short *);
1406     void vec_st (vector bool short, int, unsigned short *);
1407     void vec_st (vector pixel, int, vector pixel *);
1408     void vec_st (vector pixel, int, unsigned short *);
1409     void vec_st (vector pixel, int, short *);
1410     void vec_st (vector bool short, int, short *);
1411     void vec_st (vector signed char, int, vector signed char *);
1412     void vec_st (vector signed char, int, signed char *);
1413     void vec_st (vector unsigned char, int, vector unsigned char *);
1414     void vec_st (vector unsigned char, int, unsigned char *);
1415     void vec_st (vector bool char, int, vector bool char *);
1416     void vec_st (vector bool char, int, unsigned char *);
1417     void vec_st (vector bool char, int, signed char *);
1418     
1419     void vec_ste (vector signed char, int, signed char *);
1420     void vec_ste (vector unsigned char, int, unsigned char *);
1421     void vec_ste (vector bool char, int, signed char *);
1422     void vec_ste (vector bool char, int, unsigned char *);
1423     void vec_ste (vector signed short, int, short *);
1424     void vec_ste (vector unsigned short, int, unsigned short *);
1425     void vec_ste (vector bool short, int, short *);
1426     void vec_ste (vector bool short, int, unsigned short *);
1427     void vec_ste (vector pixel, int, short *);
1428     void vec_ste (vector pixel, int, unsigned short *);
1429     void vec_ste (vector float, int, float *);
1430     void vec_ste (vector signed int, int, int *);
1431     void vec_ste (vector unsigned int, int, unsigned int *);
1432     void vec_ste (vector bool int, int, int *);
1433     void vec_ste (vector bool int, int, unsigned int *);
1434     
1435     void vec_stvewx (vector float, int, float *);
1436     void vec_stvewx (vector signed int, int, int *);
1437     void vec_stvewx (vector unsigned int, int, unsigned int *);
1438     void vec_stvewx (vector bool int, int, int *);
1439     void vec_stvewx (vector bool int, int, unsigned int *);
1440     
1441     void vec_stvehx (vector signed short, int, short *);
1442     void vec_stvehx (vector unsigned short, int, unsigned short *);
1443     void vec_stvehx (vector bool short, int, short *);
1444     void vec_stvehx (vector bool short, int, unsigned short *);
1445     void vec_stvehx (vector pixel, int, short *);
1446     void vec_stvehx (vector pixel, int, unsigned short *);
1447     
1448     void vec_stvebx (vector signed char, int, signed char *);
1449     void vec_stvebx (vector unsigned char, int, unsigned char *);
1450     void vec_stvebx (vector bool char, int, signed char *);
1451     void vec_stvebx (vector bool char, int, unsigned char *);
1452     
1453     void vec_stl (vector float, int, vector float *);
1454     void vec_stl (vector float, int, float *);
1455     void vec_stl (vector signed int, int, vector signed int *);
1456     void vec_stl (vector signed int, int, int *);
1457     void vec_stl (vector unsigned int, int, vector unsigned int *);
1458     void vec_stl (vector unsigned int, int, unsigned int *);
1459     void vec_stl (vector bool int, int, vector bool int *);
1460     void vec_stl (vector bool int, int, unsigned int *);
1461     void vec_stl (vector bool int, int, int *);
1462     void vec_stl (vector signed short, int, vector signed short *);
1463     void vec_stl (vector signed short, int, short *);
1464     void vec_stl (vector unsigned short, int, vector unsigned short *);
1465     void vec_stl (vector unsigned short, int, unsigned short *);
1466     void vec_stl (vector bool short, int, vector bool short *);
1467     void vec_stl (vector bool short, int, unsigned short *);
1468     void vec_stl (vector bool short, int, short *);
1469     void vec_stl (vector pixel, int, vector pixel *);
1470     void vec_stl (vector pixel, int, unsigned short *);
1471     void vec_stl (vector pixel, int, short *);
1472     void vec_stl (vector signed char, int, vector signed char *);
1473     void vec_stl (vector signed char, int, signed char *);
1474     void vec_stl (vector unsigned char, int, vector unsigned char *);
1475     void vec_stl (vector unsigned char, int, unsigned char *);
1476     void vec_stl (vector bool char, int, vector bool char *);
1477     void vec_stl (vector bool char, int, unsigned char *);
1478     void vec_stl (vector bool char, int, signed char *);
1479     
1480     vector signed char vec_sub (vector bool char, vector signed char);
1481     vector signed char vec_sub (vector signed char, vector bool char);
1482     vector signed char vec_sub (vector signed char, vector signed char);
1483     vector unsigned char vec_sub (vector bool char, vector unsigned char);
1484     vector unsigned char vec_sub (vector unsigned char, vector bool char);
1485     vector unsigned char vec_sub (vector unsigned char,
1486                                   vector unsigned char);
1487     vector signed short vec_sub (vector bool short, vector signed short);
1488     vector signed short vec_sub (vector signed short, vector bool short);
1489     vector signed short vec_sub (vector signed short, vector signed short);
1490     vector unsigned short vec_sub (vector bool short,
1491                                    vector unsigned short);
1492     vector unsigned short vec_sub (vector unsigned short,
1493                                    vector bool short);
1494     vector unsigned short vec_sub (vector unsigned short,
1495                                    vector unsigned short);
1496     vector signed int vec_sub (vector bool int, vector signed int);
1497     vector signed int vec_sub (vector signed int, vector bool int);
1498     vector signed int vec_sub (vector signed int, vector signed int);
1499     vector unsigned int vec_sub (vector bool int, vector unsigned int);
1500     vector unsigned int vec_sub (vector unsigned int, vector bool int);
1501     vector unsigned int vec_sub (vector unsigned int, vector unsigned int);
1502     vector float vec_sub (vector float, vector float);
1503     
1504     vector float vec_vsubfp (vector float, vector float);
1505     
1506     vector signed int vec_vsubuwm (vector bool int, vector signed int);
1507     vector signed int vec_vsubuwm (vector signed int, vector bool int);
1508     vector signed int vec_vsubuwm (vector signed int, vector signed int);
1509     vector unsigned int vec_vsubuwm (vector bool int, vector unsigned int);
1510     vector unsigned int vec_vsubuwm (vector unsigned int, vector bool int);
1511     vector unsigned int vec_vsubuwm (vector unsigned int,
1512                                      vector unsigned int);
1513     
1514     vector signed short vec_vsubuhm (vector bool short,
1515                                      vector signed short);
1516     vector signed short vec_vsubuhm (vector signed short,
1517                                      vector bool short);
1518     vector signed short vec_vsubuhm (vector signed short,
1519                                      vector signed short);
1520     vector unsigned short vec_vsubuhm (vector bool short,
1521                                        vector unsigned short);
1522     vector unsigned short vec_vsubuhm (vector unsigned short,
1523                                        vector bool short);
1524     vector unsigned short vec_vsubuhm (vector unsigned short,
1525                                        vector unsigned short);
1526     
1527     vector signed char vec_vsububm (vector bool char, vector signed char);
1528     vector signed char vec_vsububm (vector signed char, vector bool char);
1529     vector signed char vec_vsububm (vector signed char, vector signed char);
1530     vector unsigned char vec_vsububm (vector bool char,
1531                                       vector unsigned char);
1532     vector unsigned char vec_vsububm (vector unsigned char,
1533                                       vector bool char);
1534     vector unsigned char vec_vsububm (vector unsigned char,
1535                                       vector unsigned char);
1536     
1537     vector unsigned int vec_subc (vector unsigned int, vector unsigned int);
1538     
1539     vector unsigned char vec_subs (vector bool char, vector unsigned char);
1540     vector unsigned char vec_subs (vector unsigned char, vector bool char);
1541     vector unsigned char vec_subs (vector unsigned char,
1542                                    vector unsigned char);
1543     vector signed char vec_subs (vector bool char, vector signed char);
1544     vector signed char vec_subs (vector signed char, vector bool char);
1545     vector signed char vec_subs (vector signed char, vector signed char);
1546     vector unsigned short vec_subs (vector bool short,
1547                                     vector unsigned short);
1548     vector unsigned short vec_subs (vector unsigned short,
1549                                     vector bool short);
1550     vector unsigned short vec_subs (vector unsigned short,
1551                                     vector unsigned short);
1552     vector signed short vec_subs (vector bool short, vector signed short);
1553     vector signed short vec_subs (vector signed short, vector bool short);
1554     vector signed short vec_subs (vector signed short, vector signed short);
1555     vector unsigned int vec_subs (vector bool int, vector unsigned int);
1556     vector unsigned int vec_subs (vector unsigned int, vector bool int);
1557     vector unsigned int vec_subs (vector unsigned int, vector unsigned int);
1558     vector signed int vec_subs (vector bool int, vector signed int);
1559     vector signed int vec_subs (vector signed int, vector bool int);
1560     vector signed int vec_subs (vector signed int, vector signed int);
1561     
1562     vector signed int vec_vsubsws (vector bool int, vector signed int);
1563     vector signed int vec_vsubsws (vector signed int, vector bool int);
1564     vector signed int vec_vsubsws (vector signed int, vector signed int);
1565     
1566     vector unsigned int vec_vsubuws (vector bool int, vector unsigned int);
1567     vector unsigned int vec_vsubuws (vector unsigned int, vector bool int);
1568     vector unsigned int vec_vsubuws (vector unsigned int,
1569                                      vector unsigned int);
1570     
1571     vector signed short vec_vsubshs (vector bool short,
1572                                      vector signed short);
1573     vector signed short vec_vsubshs (vector signed short,
1574                                      vector bool short);
1575     vector signed short vec_vsubshs (vector signed short,
1576                                      vector signed short);
1577     
1578     vector unsigned short vec_vsubuhs (vector bool short,
1579                                        vector unsigned short);
1580     vector unsigned short vec_vsubuhs (vector unsigned short,
1581                                        vector bool short);
1582     vector unsigned short vec_vsubuhs (vector unsigned short,
1583                                        vector unsigned short);
1584     
1585     vector signed char vec_vsubsbs (vector bool char, vector signed char);
1586     vector signed char vec_vsubsbs (vector signed char, vector bool char);
1587     vector signed char vec_vsubsbs (vector signed char, vector signed char);
1588     
1589     vector unsigned char vec_vsububs (vector bool char,
1590                                       vector unsigned char);
1591     vector unsigned char vec_vsububs (vector unsigned char,
1592                                       vector bool char);
1593     vector unsigned char vec_vsububs (vector unsigned char,
1594                                       vector unsigned char);
1595     
1596     vector unsigned int vec_sum4s (vector unsigned char,
1597                                    vector unsigned int);
1598     vector signed int vec_sum4s (vector signed char, vector signed int);
1599     vector signed int vec_sum4s (vector signed short, vector signed int);
1600     
1601     vector signed int vec_vsum4shs (vector signed short, vector signed int);
1602     
1603     vector signed int vec_vsum4sbs (vector signed char, vector signed int);
1604     
1605     vector unsigned int vec_vsum4ubs (vector unsigned char,
1606                                       vector unsigned int);
1607     
1608     vector signed int vec_sum2s (vector signed int, vector signed int);
1609     
1610     vector signed int vec_sums (vector signed int, vector signed int);
1611     
1612     vector float vec_trunc (vector float);
1613     
1614     vector signed short vec_unpackh (vector signed char);
1615     vector bool short vec_unpackh (vector bool char);
1616     vector signed int vec_unpackh (vector signed short);
1617     vector bool int vec_unpackh (vector bool short);
1618     vector unsigned int vec_unpackh (vector pixel);
1619     
1620     vector bool int vec_vupkhsh (vector bool short);
1621     vector signed int vec_vupkhsh (vector signed short);
1622     
1623     vector unsigned int vec_vupkhpx (vector pixel);
1624     
1625     vector bool short vec_vupkhsb (vector bool char);
1626     vector signed short vec_vupkhsb (vector signed char);
1627     
1628     vector signed short vec_unpackl (vector signed char);
1629     vector bool short vec_unpackl (vector bool char);
1630     vector unsigned int vec_unpackl (vector pixel);
1631     vector signed int vec_unpackl (vector signed short);
1632     vector bool int vec_unpackl (vector bool short);
1633     
1634     vector unsigned int vec_vupklpx (vector pixel);
1635     
1636     vector bool int vec_vupklsh (vector bool short);
1637     vector signed int vec_vupklsh (vector signed short);
1638     
1639     vector bool short vec_vupklsb (vector bool char);
1640     vector signed short vec_vupklsb (vector signed char);
1641     
1642     vector float vec_xor (vector float, vector float);
1643     vector float vec_xor (vector float, vector bool int);
1644     vector float vec_xor (vector bool int, vector float);
1645     vector bool int vec_xor (vector bool int, vector bool int);
1646     vector signed int vec_xor (vector bool int, vector signed int);
1647     vector signed int vec_xor (vector signed int, vector bool int);
1648     vector signed int vec_xor (vector signed int, vector signed int);
1649     vector unsigned int vec_xor (vector bool int, vector unsigned int);
1650     vector unsigned int vec_xor (vector unsigned int, vector bool int);
1651     vector unsigned int vec_xor (vector unsigned int, vector unsigned int);
1652     vector bool short vec_xor (vector bool short, vector bool short);
1653     vector signed short vec_xor (vector bool short, vector signed short);
1654     vector signed short vec_xor (vector signed short, vector bool short);
1655     vector signed short vec_xor (vector signed short, vector signed short);
1656     vector unsigned short vec_xor (vector bool short,
1657                                    vector unsigned short);
1658     vector unsigned short vec_xor (vector unsigned short,
1659                                    vector bool short);
1660     vector unsigned short vec_xor (vector unsigned short,
1661                                    vector unsigned short);
1662     vector signed char vec_xor (vector bool char, vector signed char);
1663     vector bool char vec_xor (vector bool char, vector bool char);
1664     vector signed char vec_xor (vector signed char, vector bool char);
1665     vector signed char vec_xor (vector signed char, vector signed char);
1666     vector unsigned char vec_xor (vector bool char, vector unsigned char);
1667     vector unsigned char vec_xor (vector unsigned char, vector bool char);
1668     vector unsigned char vec_xor (vector unsigned char,
1669                                   vector unsigned char);
1670     
1671     int vec_all_eq (vector signed char, vector bool char);
1672     int vec_all_eq (vector signed char, vector signed char);
1673     int vec_all_eq (vector unsigned char, vector bool char);
1674     int vec_all_eq (vector unsigned char, vector unsigned char);
1675     int vec_all_eq (vector bool char, vector bool char);
1676     int vec_all_eq (vector bool char, vector unsigned char);
1677     int vec_all_eq (vector bool char, vector signed char);
1678     int vec_all_eq (vector signed short, vector bool short);
1679     int vec_all_eq (vector signed short, vector signed short);
1680     int vec_all_eq (vector unsigned short, vector bool short);
1681     int vec_all_eq (vector unsigned short, vector unsigned short);
1682     int vec_all_eq (vector bool short, vector bool short);
1683     int vec_all_eq (vector bool short, vector unsigned short);
1684     int vec_all_eq (vector bool short, vector signed short);
1685     int vec_all_eq (vector pixel, vector pixel);
1686     int vec_all_eq (vector signed int, vector bool int);
1687     int vec_all_eq (vector signed int, vector signed int);
1688     int vec_all_eq (vector unsigned int, vector bool int);
1689     int vec_all_eq (vector unsigned int, vector unsigned int);
1690     int vec_all_eq (vector bool int, vector bool int);
1691     int vec_all_eq (vector bool int, vector unsigned int);
1692     int vec_all_eq (vector bool int, vector signed int);
1693     int vec_all_eq (vector float, vector float);
1694     
1695     int vec_all_ge (vector bool char, vector unsigned char);
1696     int vec_all_ge (vector unsigned char, vector bool char);
1697     int vec_all_ge (vector unsigned char, vector unsigned char);
1698     int vec_all_ge (vector bool char, vector signed char);
1699     int vec_all_ge (vector signed char, vector bool char);
1700     int vec_all_ge (vector signed char, vector signed char);
1701     int vec_all_ge (vector bool short, vector unsigned short);
1702     int vec_all_ge (vector unsigned short, vector bool short);
1703     int vec_all_ge (vector unsigned short, vector unsigned short);
1704     int vec_all_ge (vector signed short, vector signed short);
1705     int vec_all_ge (vector bool short, vector signed short);
1706     int vec_all_ge (vector signed short, vector bool short);
1707     int vec_all_ge (vector bool int, vector unsigned int);
1708     int vec_all_ge (vector unsigned int, vector bool int);
1709     int vec_all_ge (vector unsigned int, vector unsigned int);
1710     int vec_all_ge (vector bool int, vector signed int);
1711     int vec_all_ge (vector signed int, vector bool int);
1712     int vec_all_ge (vector signed int, vector signed int);
1713     int vec_all_ge (vector float, vector float);
1714     
1715     int vec_all_gt (vector bool char, vector unsigned char);
1716     int vec_all_gt (vector unsigned char, vector bool char);
1717     int vec_all_gt (vector unsigned char, vector unsigned char);
1718     int vec_all_gt (vector bool char, vector signed char);
1719     int vec_all_gt (vector signed char, vector bool char);
1720     int vec_all_gt (vector signed char, vector signed char);
1721     int vec_all_gt (vector bool short, vector unsigned short);
1722     int vec_all_gt (vector unsigned short, vector bool short);
1723     int vec_all_gt (vector unsigned short, vector unsigned short);
1724     int vec_all_gt (vector bool short, vector signed short);
1725     int vec_all_gt (vector signed short, vector bool short);
1726     int vec_all_gt (vector signed short, vector signed short);
1727     int vec_all_gt (vector bool int, vector unsigned int);
1728     int vec_all_gt (vector unsigned int, vector bool int);
1729     int vec_all_gt (vector unsigned int, vector unsigned int);
1730     int vec_all_gt (vector bool int, vector signed int);
1731     int vec_all_gt (vector signed int, vector bool int);
1732     int vec_all_gt (vector signed int, vector signed int);
1733     int vec_all_gt (vector float, vector float);
1734     
1735     int vec_all_in (vector float, vector float);
1736     
1737     int vec_all_le (vector bool char, vector unsigned char);
1738     int vec_all_le (vector unsigned char, vector bool char);
1739     int vec_all_le (vector unsigned char, vector unsigned char);
1740     int vec_all_le (vector bool char, vector signed char);
1741     int vec_all_le (vector signed char, vector bool char);
1742     int vec_all_le (vector signed char, vector signed char);
1743     int vec_all_le (vector bool short, vector unsigned short);
1744     int vec_all_le (vector unsigned short, vector bool short);
1745     int vec_all_le (vector unsigned short, vector unsigned short);
1746     int vec_all_le (vector bool short, vector signed short);
1747     int vec_all_le (vector signed short, vector bool short);
1748     int vec_all_le (vector signed short, vector signed short);
1749     int vec_all_le (vector bool int, vector unsigned int);
1750     int vec_all_le (vector unsigned int, vector bool int);
1751     int vec_all_le (vector unsigned int, vector unsigned int);
1752     int vec_all_le (vector bool int, vector signed int);
1753     int vec_all_le (vector signed int, vector bool int);
1754     int vec_all_le (vector signed int, vector signed int);
1755     int vec_all_le (vector float, vector float);
1756     
1757     int vec_all_lt (vector bool char, vector unsigned char);
1758     int vec_all_lt (vector unsigned char, vector bool char);
1759     int vec_all_lt (vector unsigned char, vector unsigned char);
1760     int vec_all_lt (vector bool char, vector signed char);
1761     int vec_all_lt (vector signed char, vector bool char);
1762     int vec_all_lt (vector signed char, vector signed char);
1763     int vec_all_lt (vector bool short, vector unsigned short);
1764     int vec_all_lt (vector unsigned short, vector bool short);
1765     int vec_all_lt (vector unsigned short, vector unsigned short);
1766     int vec_all_lt (vector bool short, vector signed short);
1767     int vec_all_lt (vector signed short, vector bool short);
1768     int vec_all_lt (vector signed short, vector signed short);
1769     int vec_all_lt (vector bool int, vector unsigned int);
1770     int vec_all_lt (vector unsigned int, vector bool int);
1771     int vec_all_lt (vector unsigned int, vector unsigned int);
1772     int vec_all_lt (vector bool int, vector signed int);
1773     int vec_all_lt (vector signed int, vector bool int);
1774     int vec_all_lt (vector signed int, vector signed int);
1775     int vec_all_lt (vector float, vector float);
1776     
1777     int vec_all_nan (vector float);
1778     
1779     int vec_all_ne (vector signed char, vector bool char);
1780     int vec_all_ne (vector signed char, vector signed char);
1781     int vec_all_ne (vector unsigned char, vector bool char);
1782     int vec_all_ne (vector unsigned char, vector unsigned char);
1783     int vec_all_ne (vector bool char, vector bool char);
1784     int vec_all_ne (vector bool char, vector unsigned char);
1785     int vec_all_ne (vector bool char, vector signed char);
1786     int vec_all_ne (vector signed short, vector bool short);
1787     int vec_all_ne (vector signed short, vector signed short);
1788     int vec_all_ne (vector unsigned short, vector bool short);
1789     int vec_all_ne (vector unsigned short, vector unsigned short);
1790     int vec_all_ne (vector bool short, vector bool short);
1791     int vec_all_ne (vector bool short, vector unsigned short);
1792     int vec_all_ne (vector bool short, vector signed short);
1793     int vec_all_ne (vector pixel, vector pixel);
1794     int vec_all_ne (vector signed int, vector bool int);
1795     int vec_all_ne (vector signed int, vector signed int);
1796     int vec_all_ne (vector unsigned int, vector bool int);
1797     int vec_all_ne (vector unsigned int, vector unsigned int);
1798     int vec_all_ne (vector bool int, vector bool int);
1799     int vec_all_ne (vector bool int, vector unsigned int);
1800     int vec_all_ne (vector bool int, vector signed int);
1801     int vec_all_ne (vector float, vector float);
1802     
1803     int vec_all_nge (vector float, vector float);
1804     
1805     int vec_all_ngt (vector float, vector float);
1806     
1807     int vec_all_nle (vector float, vector float);
1808     
1809     int vec_all_nlt (vector float, vector float);
1810     
1811     int vec_all_numeric (vector float);
1812     
1813     int vec_any_eq (vector signed char, vector bool char);
1814     int vec_any_eq (vector signed char, vector signed char);
1815     int vec_any_eq (vector unsigned char, vector bool char);
1816     int vec_any_eq (vector unsigned char, vector unsigned char);
1817     int vec_any_eq (vector bool char, vector bool char);
1818     int vec_any_eq (vector bool char, vector unsigned char);
1819     int vec_any_eq (vector bool char, vector signed char);
1820     int vec_any_eq (vector signed short, vector bool short);
1821     int vec_any_eq (vector signed short, vector signed short);
1822     int vec_any_eq (vector unsigned short, vector bool short);
1823     int vec_any_eq (vector unsigned short, vector unsigned short);
1824     int vec_any_eq (vector bool short, vector bool short);
1825     int vec_any_eq (vector bool short, vector unsigned short);
1826     int vec_any_eq (vector bool short, vector signed short);
1827     int vec_any_eq (vector pixel, vector pixel);
1828     int vec_any_eq (vector signed int, vector bool int);
1829     int vec_any_eq (vector signed int, vector signed int);
1830     int vec_any_eq (vector unsigned int, vector bool int);
1831     int vec_any_eq (vector unsigned int, vector unsigned int);
1832     int vec_any_eq (vector bool int, vector bool int);
1833     int vec_any_eq (vector bool int, vector unsigned int);
1834     int vec_any_eq (vector bool int, vector signed int);
1835     int vec_any_eq (vector float, vector float);
1836     
1837     int vec_any_ge (vector signed char, vector bool char);
1838     int vec_any_ge (vector unsigned char, vector bool char);
1839     int vec_any_ge (vector unsigned char, vector unsigned char);
1840     int vec_any_ge (vector signed char, vector signed char);
1841     int vec_any_ge (vector bool char, vector unsigned char);
1842     int vec_any_ge (vector bool char, vector signed char);
1843     int vec_any_ge (vector unsigned short, vector bool short);
1844     int vec_any_ge (vector unsigned short, vector unsigned short);
1845     int vec_any_ge (vector signed short, vector signed short);
1846     int vec_any_ge (vector signed short, vector bool short);
1847     int vec_any_ge (vector bool short, vector unsigned short);
1848     int vec_any_ge (vector bool short, vector signed short);
1849     int vec_any_ge (vector signed int, vector bool int);
1850     int vec_any_ge (vector unsigned int, vector bool int);
1851     int vec_any_ge (vector unsigned int, vector unsigned int);
1852     int vec_any_ge (vector signed int, vector signed int);
1853     int vec_any_ge (vector bool int, vector unsigned int);
1854     int vec_any_ge (vector bool int, vector signed int);
1855     int vec_any_ge (vector float, vector float);
1856     
1857     int vec_any_gt (vector bool char, vector unsigned char);
1858     int vec_any_gt (vector unsigned char, vector bool char);
1859     int vec_any_gt (vector unsigned char, vector unsigned char);
1860     int vec_any_gt (vector bool char, vector signed char);
1861     int vec_any_gt (vector signed char, vector bool char);
1862     int vec_any_gt (vector signed char, vector signed char);
1863     int vec_any_gt (vector bool short, vector unsigned short);
1864     int vec_any_gt (vector unsigned short, vector bool short);
1865     int vec_any_gt (vector unsigned short, vector unsigned short);
1866     int vec_any_gt (vector bool short, vector signed short);
1867     int vec_any_gt (vector signed short, vector bool short);
1868     int vec_any_gt (vector signed short, vector signed short);
1869     int vec_any_gt (vector bool int, vector unsigned int);
1870     int vec_any_gt (vector unsigned int, vector bool int);
1871     int vec_any_gt (vector unsigned int, vector unsigned int);
1872     int vec_any_gt (vector bool int, vector signed int);
1873     int vec_any_gt (vector signed int, vector bool int);
1874     int vec_any_gt (vector signed int, vector signed int);
1875     int vec_any_gt (vector float, vector float);
1876     
1877     int vec_any_le (vector bool char, vector unsigned char);
1878     int vec_any_le (vector unsigned char, vector bool char);
1879     int vec_any_le (vector unsigned char, vector unsigned char);
1880     int vec_any_le (vector bool char, vector signed char);
1881     int vec_any_le (vector signed char, vector bool char);
1882     int vec_any_le (vector signed char, vector signed char);
1883     int vec_any_le (vector bool short, vector unsigned short);
1884     int vec_any_le (vector unsigned short, vector bool short);
1885     int vec_any_le (vector unsigned short, vector unsigned short);
1886     int vec_any_le (vector bool short, vector signed short);
1887     int vec_any_le (vector signed short, vector bool short);
1888     int vec_any_le (vector signed short, vector signed short);
1889     int vec_any_le (vector bool int, vector unsigned int);
1890     int vec_any_le (vector unsigned int, vector bool int);
1891     int vec_any_le (vector unsigned int, vector unsigned int);
1892     int vec_any_le (vector bool int, vector signed int);
1893     int vec_any_le (vector signed int, vector bool int);
1894     int vec_any_le (vector signed int, vector signed int);
1895     int vec_any_le (vector float, vector float);
1896     
1897     int vec_any_lt (vector bool char, vector unsigned char);
1898     int vec_any_lt (vector unsigned char, vector bool char);
1899     int vec_any_lt (vector unsigned char, vector unsigned char);
1900     int vec_any_lt (vector bool char, vector signed char);
1901     int vec_any_lt (vector signed char, vector bool char);
1902     int vec_any_lt (vector signed char, vector signed char);
1903     int vec_any_lt (vector bool short, vector unsigned short);
1904     int vec_any_lt (vector unsigned short, vector bool short);
1905     int vec_any_lt (vector unsigned short, vector unsigned short);
1906     int vec_any_lt (vector bool short, vector signed short);
1907     int vec_any_lt (vector signed short, vector bool short);
1908     int vec_any_lt (vector signed short, vector signed short);
1909     int vec_any_lt (vector bool int, vector unsigned int);
1910     int vec_any_lt (vector unsigned int, vector bool int);
1911     int vec_any_lt (vector unsigned int, vector unsigned int);
1912     int vec_any_lt (vector bool int, vector signed int);
1913     int vec_any_lt (vector signed int, vector bool int);
1914     int vec_any_lt (vector signed int, vector signed int);
1915     int vec_any_lt (vector float, vector float);
1916     
1917     int vec_any_nan (vector float);
1918     
1919     int vec_any_ne (vector signed char, vector bool char);
1920     int vec_any_ne (vector signed char, vector signed char);
1921     int vec_any_ne (vector unsigned char, vector bool char);
1922     int vec_any_ne (vector unsigned char, vector unsigned char);
1923     int vec_any_ne (vector bool char, vector bool char);
1924     int vec_any_ne (vector bool char, vector unsigned char);
1925     int vec_any_ne (vector bool char, vector signed char);
1926     int vec_any_ne (vector signed short, vector bool short);
1927     int vec_any_ne (vector signed short, vector signed short);
1928     int vec_any_ne (vector unsigned short, vector bool short);
1929     int vec_any_ne (vector unsigned short, vector unsigned short);
1930     int vec_any_ne (vector bool short, vector bool short);
1931     int vec_any_ne (vector bool short, vector unsigned short);
1932     int vec_any_ne (vector bool short, vector signed short);
1933     int vec_any_ne (vector pixel, vector pixel);
1934     int vec_any_ne (vector signed int, vector bool int);
1935     int vec_any_ne (vector signed int, vector signed int);
1936     int vec_any_ne (vector unsigned int, vector bool int);
1937     int vec_any_ne (vector unsigned int, vector unsigned int);
1938     int vec_any_ne (vector bool int, vector bool int);
1939     int vec_any_ne (vector bool int, vector unsigned int);
1940     int vec_any_ne (vector bool int, vector signed int);
1941     int vec_any_ne (vector float, vector float);
1942     
1943     int vec_any_nge (vector float, vector float);
1944     
1945     int vec_any_ngt (vector float, vector float);
1946     
1947     int vec_any_nle (vector float, vector float);
1948     
1949     int vec_any_nlt (vector float, vector float);
1950     
1951     int vec_any_numeric (vector float);
1952     
1953     int vec_any_out (vector float, vector float);
1954</pre>
1955 <p>If the vector/scalar (VSX) instruction set is available, the following
1956additional functions are available:
1957
1958<pre class="smallexample">     vector double vec_abs (vector double);
1959     vector double vec_add (vector double, vector double);
1960     vector double vec_and (vector double, vector double);
1961     vector double vec_and (vector double, vector bool long);
1962     vector double vec_and (vector bool long, vector double);
1963     vector double vec_andc (vector double, vector double);
1964     vector double vec_andc (vector double, vector bool long);
1965     vector double vec_andc (vector bool long, vector double);
1966     vector double vec_ceil (vector double);
1967     vector bool long vec_cmpeq (vector double, vector double);
1968     vector bool long vec_cmpge (vector double, vector double);
1969     vector bool long vec_cmpgt (vector double, vector double);
1970     vector bool long vec_cmple (vector double, vector double);
1971     vector bool long vec_cmplt (vector double, vector double);
1972     vector float vec_div (vector float, vector float);
1973     vector double vec_div (vector double, vector double);
1974     vector double vec_floor (vector double);
1975     vector double vec_ld (int, const vector double *);
1976     vector double vec_ld (int, const double *);
1977     vector double vec_ldl (int, const vector double *);
1978     vector double vec_ldl (int, const double *);
1979     vector unsigned char vec_lvsl (int, const volatile double *);
1980     vector unsigned char vec_lvsr (int, const volatile double *);
1981     vector double vec_madd (vector double, vector double, vector double);
1982     vector double vec_max (vector double, vector double);
1983     vector double vec_min (vector double, vector double);
1984     vector float vec_msub (vector float, vector float, vector float);
1985     vector double vec_msub (vector double, vector double, vector double);
1986     vector float vec_mul (vector float, vector float);
1987     vector double vec_mul (vector double, vector double);
1988     vector float vec_nearbyint (vector float);
1989     vector double vec_nearbyint (vector double);
1990     vector float vec_nmadd (vector float, vector float, vector float);
1991     vector double vec_nmadd (vector double, vector double, vector double);
1992     vector double vec_nmsub (vector double, vector double, vector double);
1993     vector double vec_nor (vector double, vector double);
1994     vector double vec_or (vector double, vector double);
1995     vector double vec_or (vector double, vector bool long);
1996     vector double vec_or (vector bool long, vector double);
1997     vector double vec_perm (vector double,
1998                             vector double,
1999                             vector unsigned char);
2000     vector double vec_rint (vector double);
2001     vector double vec_recip (vector double, vector double);
2002     vector double vec_rsqrt (vector double);
2003     vector double vec_rsqrte (vector double);
2004     vector double vec_sel (vector double, vector double, vector bool long);
2005     vector double vec_sel (vector double, vector double, vector unsigned long);
2006     vector double vec_sub (vector double, vector double);
2007     vector float vec_sqrt (vector float);
2008     vector double vec_sqrt (vector double);
2009     void vec_st (vector double, int, vector double *);
2010     void vec_st (vector double, int, double *);
2011     vector double vec_trunc (vector double);
2012     vector double vec_xor (vector double, vector double);
2013     vector double vec_xor (vector double, vector bool long);
2014     vector double vec_xor (vector bool long, vector double);
2015     int vec_all_eq (vector double, vector double);
2016     int vec_all_ge (vector double, vector double);
2017     int vec_all_gt (vector double, vector double);
2018     int vec_all_le (vector double, vector double);
2019     int vec_all_lt (vector double, vector double);
2020     int vec_all_nan (vector double);
2021     int vec_all_ne (vector double, vector double);
2022     int vec_all_nge (vector double, vector double);
2023     int vec_all_ngt (vector double, vector double);
2024     int vec_all_nle (vector double, vector double);
2025     int vec_all_nlt (vector double, vector double);
2026     int vec_all_numeric (vector double);
2027     int vec_any_eq (vector double, vector double);
2028     int vec_any_ge (vector double, vector double);
2029     int vec_any_gt (vector double, vector double);
2030     int vec_any_le (vector double, vector double);
2031     int vec_any_lt (vector double, vector double);
2032     int vec_any_nan (vector double);
2033     int vec_any_ne (vector double, vector double);
2034     int vec_any_nge (vector double, vector double);
2035     int vec_any_ngt (vector double, vector double);
2036     int vec_any_nle (vector double, vector double);
2037     int vec_any_nlt (vector double, vector double);
2038     int vec_any_numeric (vector double);
2039     
2040     vector double vec_vsx_ld (int, const vector double *);
2041     vector double vec_vsx_ld (int, const double *);
2042     vector float vec_vsx_ld (int, const vector float *);
2043     vector float vec_vsx_ld (int, const float *);
2044     vector bool int vec_vsx_ld (int, const vector bool int *);
2045     vector signed int vec_vsx_ld (int, const vector signed int *);
2046     vector signed int vec_vsx_ld (int, const int *);
2047     vector signed int vec_vsx_ld (int, const long *);
2048     vector unsigned int vec_vsx_ld (int, const vector unsigned int *);
2049     vector unsigned int vec_vsx_ld (int, const unsigned int *);
2050     vector unsigned int vec_vsx_ld (int, const unsigned long *);
2051     vector bool short vec_vsx_ld (int, const vector bool short *);
2052     vector pixel vec_vsx_ld (int, const vector pixel *);
2053     vector signed short vec_vsx_ld (int, const vector signed short *);
2054     vector signed short vec_vsx_ld (int, const short *);
2055     vector unsigned short vec_vsx_ld (int, const vector unsigned short *);
2056     vector unsigned short vec_vsx_ld (int, const unsigned short *);
2057     vector bool char vec_vsx_ld (int, const vector bool char *);
2058     vector signed char vec_vsx_ld (int, const vector signed char *);
2059     vector signed char vec_vsx_ld (int, const signed char *);
2060     vector unsigned char vec_vsx_ld (int, const vector unsigned char *);
2061     vector unsigned char vec_vsx_ld (int, const unsigned char *);
2062     
2063     void vec_vsx_st (vector double, int, vector double *);
2064     void vec_vsx_st (vector double, int, double *);
2065     void vec_vsx_st (vector float, int, vector float *);
2066     void vec_vsx_st (vector float, int, float *);
2067     void vec_vsx_st (vector signed int, int, vector signed int *);
2068     void vec_vsx_st (vector signed int, int, int *);
2069     void vec_vsx_st (vector unsigned int, int, vector unsigned int *);
2070     void vec_vsx_st (vector unsigned int, int, unsigned int *);
2071     void vec_vsx_st (vector bool int, int, vector bool int *);
2072     void vec_vsx_st (vector bool int, int, unsigned int *);
2073     void vec_vsx_st (vector bool int, int, int *);
2074     void vec_vsx_st (vector signed short, int, vector signed short *);
2075     void vec_vsx_st (vector signed short, int, short *);
2076     void vec_vsx_st (vector unsigned short, int, vector unsigned short *);
2077     void vec_vsx_st (vector unsigned short, int, unsigned short *);
2078     void vec_vsx_st (vector bool short, int, vector bool short *);
2079     void vec_vsx_st (vector bool short, int, unsigned short *);
2080     void vec_vsx_st (vector pixel, int, vector pixel *);
2081     void vec_vsx_st (vector pixel, int, unsigned short *);
2082     void vec_vsx_st (vector pixel, int, short *);
2083     void vec_vsx_st (vector bool short, int, short *);
2084     void vec_vsx_st (vector signed char, int, vector signed char *);
2085     void vec_vsx_st (vector signed char, int, signed char *);
2086     void vec_vsx_st (vector unsigned char, int, vector unsigned char *);
2087     void vec_vsx_st (vector unsigned char, int, unsigned char *);
2088     void vec_vsx_st (vector bool char, int, vector bool char *);
2089     void vec_vsx_st (vector bool char, int, unsigned char *);
2090     void vec_vsx_st (vector bool char, int, signed char *);
2091</pre>
2092 <p>Note that the &lsquo;<samp><span class="samp">vec_ld</span></samp>&rsquo; and &lsquo;<samp><span class="samp">vec_st</span></samp>&rsquo; builtins will always
2093generate the Altivec &lsquo;<samp><span class="samp">LVX</span></samp>&rsquo; and &lsquo;<samp><span class="samp">STVX</span></samp>&rsquo; instructions even
2094if the VSX instruction set is available.  The &lsquo;<samp><span class="samp">vec_vsx_ld</span></samp>&rsquo; and
2095&lsquo;<samp><span class="samp">vec_vsx_st</span></samp>&rsquo; builtins will always generate the VSX &lsquo;<samp><span class="samp">LXVD2X</span></samp>&rsquo;,
2096&lsquo;<samp><span class="samp">LXVW4X</span></samp>&rsquo;, &lsquo;<samp><span class="samp">STXVD2X</span></samp>&rsquo;, and &lsquo;<samp><span class="samp">STXVW4X</span></samp>&rsquo; instructions.
2097
2098 <p>GCC provides a few other builtins on Powerpc to access certain instructions:
2099<pre class="smallexample">     float __builtin_recipdivf (float, float);
2100     float __builtin_rsqrtf (float);
2101     double __builtin_recipdiv (double, double);
2102     double __builtin_rsqrt (double);
2103     long __builtin_bpermd (long, long);
2104     int __builtin_bswap16 (int);
2105</pre>
2106 <p>The <code>vec_rsqrt</code>, <code>__builtin_rsqrt</code>, and
2107<code>__builtin_rsqrtf</code> functions generate multiple instructions to
2108implement the reciprocal sqrt functionality using reciprocal sqrt
2109estimate instructions.
2110
2111 <p>The <code>__builtin_recipdiv</code>, and <code>__builtin_recipdivf</code>
2112functions generate multiple instructions to implement division using
2113the reciprocal estimate instructions.
2114
2115 <p>GCC also provides a family of builtins on PowerPC to explicitly use
2116the <code>isel</code> instruction.  While GCC can and does generate
2117<code>isel</code> instructions normally, the builtins enable you to
2118explicitly force generation of these instructions.  The builtins are
2119only available when compiling for processors that support the
2120<code>isel</code> instruction; they compile to a code sequence of
2121<code>cmpw</code> followed by <code>isel</code>.
2122
2123     <dl>
2124<dt><code>int __builtin_iseleq (int </code><var>x</var><code>, int </code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>int __builtin_iseleq (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>int __builtin_iseleq (void *</code><var>x</var><code>, void *</code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iseleq (int </code><var>x</var><code>, int </code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iseleq (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iseleq (void *</code><var>x</var><code>, void *</code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>void *__builtin_iseleq (int </code><var>x</var><code>, int </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_iseleq (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_iseleq (void *</code><var>x</var><code>, void *</code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> and <var>y</var> are equal, otherwise return <var>b</var>.
2125
2126     <br><dt><code>int __builtin_isellt (int </code><var>x</var><code>, int </code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_isellt (int </code><var>x</var><code>, int </code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>void *__builtin_isellt (int </code><var>x</var><code>, int </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is less than <var>y</var>, otherwise return <var>b</var>. 
2127Note that this uses signed comparison.
2128
2129     <br><dt><code>int __builtin_iselgt (int </code><var>x</var><code>, int </code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iselgt (int </code><var>x</var><code>, int </code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>void *__builtin_iselgt (int </code><var>x</var><code>, int </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is greater than <var>y</var>, otherwise return <var>b</var>. 
2130Note that this uses signed comparison.
2131
2132     <br><dt><code>int __builtin_iselltu (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>int __builtin_iselltu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iselltu (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iselltu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>void *__builtin_iselltu (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_iselltu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is less than <var>y</var>, otherwise return <var>b</var>
2133In contrast to <code>__builtin_isellt</code>, this uses unsigned comparison.
2134
2135     <br><dt><code>int __builtin_iselgtu (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>int __builtin_iselgtu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, int </code><var>a</var><code>, int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iselgtu (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>unsigned int __builtin_iselgtu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, unsigned int </code><var>a</var><code>, unsigned int </code><var>b</var><code>)</code><dt><code>void *__builtin_iselgtu (unsigned int </code><var>x</var><code>, unsigned int </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_iselgtu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is greater than <var>y</var>, otherwise return <var>b</var>
2136In contrast to <code>__builtin_iselgt</code>, this uses unsigned comparison.
2137
2138 </dl>
2139
2140 <p>Builtins that do 64-bit comparisons (i.e. using <code>cmpd</code> instead of
2141<code>cmpw</code>) are also available on 64-bit processors supporting
2142<code>isel</code>.
2143
2144     <dl>
2145<dt><code>long __builtin_isel64eq (long </code><var>x</var><code>, long </code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>long __builtin_isel64eq (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>long __builtin_isel64eq (void *</code><var>x</var><code>, void *</code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64eq (long </code><var>x</var><code>, long </code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64eq (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64eq (void *</code><var>x</var><code>, void *</code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>void *__builtin_isel64eq (long </code><var>x</var><code>, long </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_isel64eq (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_isel64eq (void *</code><var>x</var><code>, void *</code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> and <var>y</var> are equal, otherwise return <var>b</var>.
2146
2147     <br><dt><code>long __builtin_isel64lt (long </code><var>x</var><code>, long </code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64lt (long </code><var>x</var><code>, long </code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>void *__builtin_isel64lt (long </code><var>x</var><code>, long </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is less than <var>y</var>, otherwise return <var>b</var>. 
2148Note that this uses signed comparison.
2149
2150     <br><dt><code>long __builtin_isel64gt (long </code><var>x</var><code>, long </code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64gt (long </code><var>x</var><code>, long </code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>void *__builtin_isel64gt (long </code><var>x</var><code>, long </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is greater than <var>y</var>, otherwise return <var>b</var>. 
2151Note that this uses signed comparison.
2152
2153     <br><dt><code>long __builtin_isel64ltu (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>long __builtin_isel64ltu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64ltu (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64ltu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>void *__builtin_isel64ltu (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_isel64ltu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is less than <var>y</var>, otherwise return <var>b</var>
2154In contrast to <code>__builtin_isel64lt</code>, this uses unsigned comparison.
2155
2156     <br><dt><code>long __builtin_isel64gtu (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>long __builtin_isel64gtu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, long </code><var>a</var><code>, long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64gtu (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>unsigned long __builtin_isel64gtu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, unsigned long </code><var>a</var><code>, unsigned long </code><var>b</var><code>)</code><dt><code>void *__builtin_isel64gtu (unsigned long </code><var>x</var><code>, unsigned long </code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dt><code>void *__builtin_isel64gtu (void *</code><var>x</var><code>, void *</code><var>y</var><code>, void *</code><var>a</var><code>, void *</code><var>b</var><code>)</code><dd>Return <var>a</var> if <var>x</var> is greater than <var>y</var>, otherwise return <var>b</var>
2157In contrast to <code>__builtin_isel64gt</code>, this uses unsigned comparison.
2158
2159 </dl>
2160
2161 </body></html>
2162
2163