1 ------------------------------------------------------------------------------
3 -- GNAT COMPILER COMPONENTS --
5 -- G N A T . A L T I V E C . L O W _ L E V E L _ I N T E R F A C E --
9 -- Copyright (C) 2004-2009, Free Software Foundation, Inc. --
11 -- GNAT is free software; you can redistribute it and/or modify it under --
12 -- terms of the GNU General Public License as published by the Free Soft- --
13 -- ware Foundation; either version 3, or (at your option) any later ver- --
14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
15 -- OUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY --
16 -- or FITNESS FOR A PARTICULAR PURPOSE. --
18 -- As a special exception under Section 7 of GPL version 3, you are granted --
19 -- additional permissions described in the GCC Runtime Library Exception, --
20 -- version 3.1, as published by the Free Software Foundation. --
22 -- You should have received a copy of the GNU General Public License and --
23 -- a copy of the GCC Runtime Library Exception along with this program; --
24 -- see the files COPYING3 and COPYING.RUNTIME respectively. If not, see --
25 -- <http://www.gnu.org/licenses/>. --
27 -- GNAT was originally developed by the GNAT team at New York University. --
28 -- Extensive contributions were provided by Ada Core Technologies Inc. --
30 ------------------------------------------------------------------------------
32 -- This unit provides entities to be used internally by the units common to
33 -- both bindings (Hard or Soft), and relevant to the interfacing with the
34 -- underlying Low Level support.
36 -- The set of "services" includes:
38 -- o Imports to the low level routines for which a direct binding is
39 -- mandatory (or just possible when analyzed as such).
41 -- o Conversion routines (unchecked) between low level types, or between
42 -- various pointer representations.
44 with GNAT
.Altivec
.Vector_Types
;
45 with GNAT
.Altivec
.Low_Level_Vectors
;
47 with Ada
.Unchecked_Conversion
;
49 package GNAT
.Altivec
.Low_Level_Interface
is
51 ----------------------------------------------------------------------------
52 -- Imports for "argument must be literal" constraints in the Hard binding --
53 ----------------------------------------------------------------------------
55 use GNAT
.Altivec
.Vector_Types
;
59 function vec_ctf_vui_cint_r_vf
60 (A
: vector_unsigned_int
;
61 B
: c_int
) return vector_float
;
64 (LL_Altivec
, vec_ctf_vui_cint_r_vf
, "__builtin_altivec_vcfux");
66 function vec_ctf_vsi_cint_r_vf
67 (A
: vector_signed_int
;
68 B
: c_int
) return vector_float
;
71 (LL_Altivec
, vec_ctf_vsi_cint_r_vf
, "__builtin_altivec_vcfsx");
75 function vec_vcfsx_vsi_cint_r_vf
76 (A
: vector_signed_int
;
77 B
: c_int
) return vector_float
;
80 (LL_Altivec
, vec_vcfsx_vsi_cint_r_vf
, "__builtin_altivec_vcfsx");
84 function vec_vcfux_vui_cint_r_vf
85 (A
: vector_unsigned_int
;
86 B
: c_int
) return vector_float
;
89 (LL_Altivec
, vec_vcfux_vui_cint_r_vf
, "__builtin_altivec_vcfux");
93 function vec_cts_vf_cint_r_vsi
95 B
: c_int
) return vector_signed_int
;
98 (LL_Altivec
, vec_cts_vf_cint_r_vsi
, "__builtin_altivec_vctsxs");
102 function vec_ctu_vf_cint_r_vui
104 B
: c_int
) return vector_unsigned_int
;
107 (LL_Altivec
, vec_ctu_vf_cint_r_vui
, "__builtin_altivec_vctuxs");
111 procedure vec_dss_cint
115 (LL_Altivec
, vec_dss_cint
, "__builtin_altivec_dss");
119 procedure vec_dst_kvucp_cint_cint
120 (A
: const_vector_unsigned_char_ptr
;
125 (LL_Altivec
, vec_dst_kvucp_cint_cint
, "__builtin_altivec_dst");
127 procedure vec_dst_kvscp_cint_cint
128 (A
: const_vector_signed_char_ptr
;
133 (LL_Altivec
, vec_dst_kvscp_cint_cint
, "__builtin_altivec_dst");
135 procedure vec_dst_kvbcp_cint_cint
136 (A
: const_vector_bool_char_ptr
;
141 (LL_Altivec
, vec_dst_kvbcp_cint_cint
, "__builtin_altivec_dst");
143 procedure vec_dst_kvusp_cint_cint
144 (A
: const_vector_unsigned_short_ptr
;
149 (LL_Altivec
, vec_dst_kvusp_cint_cint
, "__builtin_altivec_dst");
151 procedure vec_dst_kvssp_cint_cint
152 (A
: const_vector_signed_short_ptr
;
157 (LL_Altivec
, vec_dst_kvssp_cint_cint
, "__builtin_altivec_dst");
159 procedure vec_dst_kvbsp_cint_cint
160 (A
: const_vector_bool_short_ptr
;
165 (LL_Altivec
, vec_dst_kvbsp_cint_cint
, "__builtin_altivec_dst");
167 procedure vec_dst_kvxp_cint_cint
168 (A
: const_vector_pixel_ptr
;
173 (LL_Altivec
, vec_dst_kvxp_cint_cint
, "__builtin_altivec_dst");
175 procedure vec_dst_kvuip_cint_cint
176 (A
: const_vector_unsigned_int_ptr
;
181 (LL_Altivec
, vec_dst_kvuip_cint_cint
, "__builtin_altivec_dst");
183 procedure vec_dst_kvsip_cint_cint
184 (A
: const_vector_signed_int_ptr
;
189 (LL_Altivec
, vec_dst_kvsip_cint_cint
, "__builtin_altivec_dst");
191 procedure vec_dst_kvbip_cint_cint
192 (A
: const_vector_bool_int_ptr
;
197 (LL_Altivec
, vec_dst_kvbip_cint_cint
, "__builtin_altivec_dst");
199 procedure vec_dst_kvfp_cint_cint
200 (A
: const_vector_float_ptr
;
205 (LL_Altivec
, vec_dst_kvfp_cint_cint
, "__builtin_altivec_dst");
207 procedure vec_dst_kucp_cint_cint
208 (A
: const_unsigned_char_ptr
;
213 (LL_Altivec
, vec_dst_kucp_cint_cint
, "__builtin_altivec_dst");
215 procedure vec_dst_kscp_cint_cint
216 (A
: const_signed_char_ptr
;
221 (LL_Altivec
, vec_dst_kscp_cint_cint
, "__builtin_altivec_dst");
223 procedure vec_dst_kusp_cint_cint
224 (A
: const_unsigned_short_ptr
;
229 (LL_Altivec
, vec_dst_kusp_cint_cint
, "__builtin_altivec_dst");
231 procedure vec_dst_ksp_cint_cint
232 (A
: const_short_ptr
;
237 (LL_Altivec
, vec_dst_ksp_cint_cint
, "__builtin_altivec_dst");
239 procedure vec_dst_kuip_cint_cint
240 (A
: const_unsigned_int_ptr
;
245 (LL_Altivec
, vec_dst_kuip_cint_cint
, "__builtin_altivec_dst");
247 procedure vec_dst_kip_cint_cint
253 (LL_Altivec
, vec_dst_kip_cint_cint
, "__builtin_altivec_dst");
255 procedure vec_dst_kulongp_cint_cint
256 (A
: const_unsigned_long_ptr
;
261 (LL_Altivec
, vec_dst_kulongp_cint_cint
, "__builtin_altivec_dst");
263 procedure vec_dst_klongp_cint_cint
269 (LL_Altivec
, vec_dst_klongp_cint_cint
, "__builtin_altivec_dst");
271 procedure vec_dst_kfp_cint_cint
272 (A
: const_float_ptr
;
277 (LL_Altivec
, vec_dst_kfp_cint_cint
, "__builtin_altivec_dst");
281 procedure vec_dstst_kvucp_cint_cint
282 (A
: const_vector_unsigned_char_ptr
;
287 (LL_Altivec
, vec_dstst_kvucp_cint_cint
, "__builtin_altivec_dstst");
289 procedure vec_dstst_kvscp_cint_cint
290 (A
: const_vector_signed_char_ptr
;
295 (LL_Altivec
, vec_dstst_kvscp_cint_cint
, "__builtin_altivec_dstst");
297 procedure vec_dstst_kvbcp_cint_cint
298 (A
: const_vector_bool_char_ptr
;
303 (LL_Altivec
, vec_dstst_kvbcp_cint_cint
, "__builtin_altivec_dstst");
305 procedure vec_dstst_kvusp_cint_cint
306 (A
: const_vector_unsigned_short_ptr
;
311 (LL_Altivec
, vec_dstst_kvusp_cint_cint
, "__builtin_altivec_dstst");
313 procedure vec_dstst_kvssp_cint_cint
314 (A
: const_vector_signed_short_ptr
;
319 (LL_Altivec
, vec_dstst_kvssp_cint_cint
, "__builtin_altivec_dstst");
321 procedure vec_dstst_kvbsp_cint_cint
322 (A
: const_vector_bool_short_ptr
;
327 (LL_Altivec
, vec_dstst_kvbsp_cint_cint
, "__builtin_altivec_dstst");
329 procedure vec_dstst_kvxp_cint_cint
330 (A
: const_vector_pixel_ptr
;
335 (LL_Altivec
, vec_dstst_kvxp_cint_cint
, "__builtin_altivec_dstst");
337 procedure vec_dstst_kvuip_cint_cint
338 (A
: const_vector_unsigned_int_ptr
;
343 (LL_Altivec
, vec_dstst_kvuip_cint_cint
, "__builtin_altivec_dstst");
345 procedure vec_dstst_kvsip_cint_cint
346 (A
: const_vector_signed_int_ptr
;
351 (LL_Altivec
, vec_dstst_kvsip_cint_cint
, "__builtin_altivec_dstst");
353 procedure vec_dstst_kvbip_cint_cint
354 (A
: const_vector_bool_int_ptr
;
359 (LL_Altivec
, vec_dstst_kvbip_cint_cint
, "__builtin_altivec_dstst");
361 procedure vec_dstst_kvfp_cint_cint
362 (A
: const_vector_float_ptr
;
367 (LL_Altivec
, vec_dstst_kvfp_cint_cint
, "__builtin_altivec_dstst");
369 procedure vec_dstst_kucp_cint_cint
370 (A
: const_unsigned_char_ptr
;
375 (LL_Altivec
, vec_dstst_kucp_cint_cint
, "__builtin_altivec_dstst");
377 procedure vec_dstst_kscp_cint_cint
378 (A
: const_signed_char_ptr
;
383 (LL_Altivec
, vec_dstst_kscp_cint_cint
, "__builtin_altivec_dstst");
385 procedure vec_dstst_kusp_cint_cint
386 (A
: const_unsigned_short_ptr
;
391 (LL_Altivec
, vec_dstst_kusp_cint_cint
, "__builtin_altivec_dstst");
393 procedure vec_dstst_ksp_cint_cint
394 (A
: const_short_ptr
;
399 (LL_Altivec
, vec_dstst_ksp_cint_cint
, "__builtin_altivec_dstst");
401 procedure vec_dstst_kuip_cint_cint
402 (A
: const_unsigned_int_ptr
;
407 (LL_Altivec
, vec_dstst_kuip_cint_cint
, "__builtin_altivec_dstst");
409 procedure vec_dstst_kip_cint_cint
415 (LL_Altivec
, vec_dstst_kip_cint_cint
, "__builtin_altivec_dstst");
417 procedure vec_dstst_kulongp_cint_cint
418 (A
: const_unsigned_long_ptr
;
423 (LL_Altivec
, vec_dstst_kulongp_cint_cint
, "__builtin_altivec_dstst");
425 procedure vec_dstst_klongp_cint_cint
431 (LL_Altivec
, vec_dstst_klongp_cint_cint
, "__builtin_altivec_dstst");
433 procedure vec_dstst_kfp_cint_cint
434 (A
: const_float_ptr
;
439 (LL_Altivec
, vec_dstst_kfp_cint_cint
, "__builtin_altivec_dstst");
443 procedure vec_dststt_kvucp_cint_cint
444 (A
: const_vector_unsigned_char_ptr
;
449 (LL_Altivec
, vec_dststt_kvucp_cint_cint
, "__builtin_altivec_dststt");
451 procedure vec_dststt_kvscp_cint_cint
452 (A
: const_vector_signed_char_ptr
;
457 (LL_Altivec
, vec_dststt_kvscp_cint_cint
, "__builtin_altivec_dststt");
459 procedure vec_dststt_kvbcp_cint_cint
460 (A
: const_vector_bool_char_ptr
;
465 (LL_Altivec
, vec_dststt_kvbcp_cint_cint
, "__builtin_altivec_dststt");
467 procedure vec_dststt_kvusp_cint_cint
468 (A
: const_vector_unsigned_short_ptr
;
473 (LL_Altivec
, vec_dststt_kvusp_cint_cint
, "__builtin_altivec_dststt");
475 procedure vec_dststt_kvssp_cint_cint
476 (A
: const_vector_signed_short_ptr
;
481 (LL_Altivec
, vec_dststt_kvssp_cint_cint
, "__builtin_altivec_dststt");
483 procedure vec_dststt_kvbsp_cint_cint
484 (A
: const_vector_bool_short_ptr
;
489 (LL_Altivec
, vec_dststt_kvbsp_cint_cint
, "__builtin_altivec_dststt");
491 procedure vec_dststt_kvxp_cint_cint
492 (A
: const_vector_pixel_ptr
;
497 (LL_Altivec
, vec_dststt_kvxp_cint_cint
, "__builtin_altivec_dststt");
499 procedure vec_dststt_kvuip_cint_cint
500 (A
: const_vector_unsigned_int_ptr
;
505 (LL_Altivec
, vec_dststt_kvuip_cint_cint
, "__builtin_altivec_dststt");
507 procedure vec_dststt_kvsip_cint_cint
508 (A
: const_vector_signed_int_ptr
;
513 (LL_Altivec
, vec_dststt_kvsip_cint_cint
, "__builtin_altivec_dststt");
515 procedure vec_dststt_kvbip_cint_cint
516 (A
: const_vector_bool_int_ptr
;
521 (LL_Altivec
, vec_dststt_kvbip_cint_cint
, "__builtin_altivec_dststt");
523 procedure vec_dststt_kvfp_cint_cint
524 (A
: const_vector_float_ptr
;
529 (LL_Altivec
, vec_dststt_kvfp_cint_cint
, "__builtin_altivec_dststt");
531 procedure vec_dststt_kucp_cint_cint
532 (A
: const_unsigned_char_ptr
;
537 (LL_Altivec
, vec_dststt_kucp_cint_cint
, "__builtin_altivec_dststt");
539 procedure vec_dststt_kscp_cint_cint
540 (A
: const_signed_char_ptr
;
545 (LL_Altivec
, vec_dststt_kscp_cint_cint
, "__builtin_altivec_dststt");
547 procedure vec_dststt_kusp_cint_cint
548 (A
: const_unsigned_short_ptr
;
553 (LL_Altivec
, vec_dststt_kusp_cint_cint
, "__builtin_altivec_dststt");
555 procedure vec_dststt_ksp_cint_cint
556 (A
: const_short_ptr
;
561 (LL_Altivec
, vec_dststt_ksp_cint_cint
, "__builtin_altivec_dststt");
563 procedure vec_dststt_kuip_cint_cint
564 (A
: const_unsigned_int_ptr
;
569 (LL_Altivec
, vec_dststt_kuip_cint_cint
, "__builtin_altivec_dststt");
571 procedure vec_dststt_kip_cint_cint
577 (LL_Altivec
, vec_dststt_kip_cint_cint
, "__builtin_altivec_dststt");
579 procedure vec_dststt_kulongp_cint_cint
580 (A
: const_unsigned_long_ptr
;
585 (LL_Altivec
, vec_dststt_kulongp_cint_cint
, "__builtin_altivec_dststt");
587 procedure vec_dststt_klongp_cint_cint
593 (LL_Altivec
, vec_dststt_klongp_cint_cint
, "__builtin_altivec_dststt");
595 procedure vec_dststt_kfp_cint_cint
596 (A
: const_float_ptr
;
601 (LL_Altivec
, vec_dststt_kfp_cint_cint
, "__builtin_altivec_dststt");
605 procedure vec_dstt_kvucp_cint_cint
606 (A
: const_vector_unsigned_char_ptr
;
611 (LL_Altivec
, vec_dstt_kvucp_cint_cint
, "__builtin_altivec_dstt");
613 procedure vec_dstt_kvscp_cint_cint
614 (A
: const_vector_signed_char_ptr
;
619 (LL_Altivec
, vec_dstt_kvscp_cint_cint
, "__builtin_altivec_dstt");
621 procedure vec_dstt_kvbcp_cint_cint
622 (A
: const_vector_bool_char_ptr
;
627 (LL_Altivec
, vec_dstt_kvbcp_cint_cint
, "__builtin_altivec_dstt");
629 procedure vec_dstt_kvusp_cint_cint
630 (A
: const_vector_unsigned_short_ptr
;
635 (LL_Altivec
, vec_dstt_kvusp_cint_cint
, "__builtin_altivec_dstt");
637 procedure vec_dstt_kvssp_cint_cint
638 (A
: const_vector_signed_short_ptr
;
643 (LL_Altivec
, vec_dstt_kvssp_cint_cint
, "__builtin_altivec_dstt");
645 procedure vec_dstt_kvbsp_cint_cint
646 (A
: const_vector_bool_short_ptr
;
651 (LL_Altivec
, vec_dstt_kvbsp_cint_cint
, "__builtin_altivec_dstt");
653 procedure vec_dstt_kvxp_cint_cint
654 (A
: const_vector_pixel_ptr
;
659 (LL_Altivec
, vec_dstt_kvxp_cint_cint
, "__builtin_altivec_dstt");
661 procedure vec_dstt_kvuip_cint_cint
662 (A
: const_vector_unsigned_int_ptr
;
667 (LL_Altivec
, vec_dstt_kvuip_cint_cint
, "__builtin_altivec_dstt");
669 procedure vec_dstt_kvsip_cint_cint
670 (A
: const_vector_signed_int_ptr
;
675 (LL_Altivec
, vec_dstt_kvsip_cint_cint
, "__builtin_altivec_dstt");
677 procedure vec_dstt_kvbip_cint_cint
678 (A
: const_vector_bool_int_ptr
;
683 (LL_Altivec
, vec_dstt_kvbip_cint_cint
, "__builtin_altivec_dstt");
685 procedure vec_dstt_kvfp_cint_cint
686 (A
: const_vector_float_ptr
;
691 (LL_Altivec
, vec_dstt_kvfp_cint_cint
, "__builtin_altivec_dstt");
693 procedure vec_dstt_kucp_cint_cint
694 (A
: const_unsigned_char_ptr
;
699 (LL_Altivec
, vec_dstt_kucp_cint_cint
, "__builtin_altivec_dstt");
701 procedure vec_dstt_kscp_cint_cint
702 (A
: const_signed_char_ptr
;
707 (LL_Altivec
, vec_dstt_kscp_cint_cint
, "__builtin_altivec_dstt");
709 procedure vec_dstt_kusp_cint_cint
710 (A
: const_unsigned_short_ptr
;
715 (LL_Altivec
, vec_dstt_kusp_cint_cint
, "__builtin_altivec_dstt");
717 procedure vec_dstt_ksp_cint_cint
718 (A
: const_short_ptr
;
723 (LL_Altivec
, vec_dstt_ksp_cint_cint
, "__builtin_altivec_dstt");
725 procedure vec_dstt_kuip_cint_cint
726 (A
: const_unsigned_int_ptr
;
731 (LL_Altivec
, vec_dstt_kuip_cint_cint
, "__builtin_altivec_dstt");
733 procedure vec_dstt_kip_cint_cint
739 (LL_Altivec
, vec_dstt_kip_cint_cint
, "__builtin_altivec_dstt");
741 procedure vec_dstt_kulongp_cint_cint
742 (A
: const_unsigned_long_ptr
;
747 (LL_Altivec
, vec_dstt_kulongp_cint_cint
, "__builtin_altivec_dstt");
749 procedure vec_dstt_klongp_cint_cint
755 (LL_Altivec
, vec_dstt_klongp_cint_cint
, "__builtin_altivec_dstt");
757 procedure vec_dstt_kfp_cint_cint
758 (A
: const_float_ptr
;
763 (LL_Altivec
, vec_dstt_kfp_cint_cint
, "__builtin_altivec_dstt");
767 -- ??? The base GCC implementation maps everything to vsldoi_4si, while
768 -- it defines builtin variants for all the modes. Adjust here, to avoid
769 -- the infamous argument mode mismatch.
771 function vec_sld_vf_vf_cint_r_vf
774 C
: c_int
) return vector_float
;
777 (LL_Altivec
, vec_sld_vf_vf_cint_r_vf
, "__builtin_altivec_vsldoi_4sf");
779 function vec_sld_vsi_vsi_cint_r_vsi
780 (A
: vector_signed_int
;
781 B
: vector_signed_int
;
782 C
: c_int
) return vector_signed_int
;
785 (LL_Altivec
, vec_sld_vsi_vsi_cint_r_vsi
, "__builtin_altivec_vsldoi_4si");
787 function vec_sld_vui_vui_cint_r_vui
788 (A
: vector_unsigned_int
;
789 B
: vector_unsigned_int
;
790 C
: c_int
) return vector_unsigned_int
;
793 (LL_Altivec
, vec_sld_vui_vui_cint_r_vui
, "__builtin_altivec_vsldoi_4si");
795 function vec_sld_vbi_vbi_cint_r_vbi
796 (A
: vector_bool_int
;
798 C
: c_int
) return vector_bool_int
;
801 (LL_Altivec
, vec_sld_vbi_vbi_cint_r_vbi
, "__builtin_altivec_vsldoi_4si");
803 function vec_sld_vss_vss_cint_r_vss
804 (A
: vector_signed_short
;
805 B
: vector_signed_short
;
806 C
: c_int
) return vector_signed_short
;
809 (LL_Altivec
, vec_sld_vss_vss_cint_r_vss
, "__builtin_altivec_vsldoi_8hi");
811 function vec_sld_vus_vus_cint_r_vus
812 (A
: vector_unsigned_short
;
813 B
: vector_unsigned_short
;
814 C
: c_int
) return vector_unsigned_short
;
817 (LL_Altivec
, vec_sld_vus_vus_cint_r_vus
, "__builtin_altivec_vsldoi_8hi");
819 function vec_sld_vbs_vbs_cint_r_vbs
820 (A
: vector_bool_short
;
821 B
: vector_bool_short
;
822 C
: c_int
) return vector_bool_short
;
825 (LL_Altivec
, vec_sld_vbs_vbs_cint_r_vbs
, "__builtin_altivec_vsldoi_8hi");
827 function vec_sld_vx_vx_cint_r_vx
830 C
: c_int
) return vector_pixel
;
833 (LL_Altivec
, vec_sld_vx_vx_cint_r_vx
, "__builtin_altivec_vsldoi_4si");
835 function vec_sld_vsc_vsc_cint_r_vsc
836 (A
: vector_signed_char
;
837 B
: vector_signed_char
;
838 C
: c_int
) return vector_signed_char
;
841 (LL_Altivec
, vec_sld_vsc_vsc_cint_r_vsc
, "__builtin_altivec_vsldoi_16qi");
843 function vec_sld_vuc_vuc_cint_r_vuc
844 (A
: vector_unsigned_char
;
845 B
: vector_unsigned_char
;
846 C
: c_int
) return vector_unsigned_char
;
849 (LL_Altivec
, vec_sld_vuc_vuc_cint_r_vuc
, "__builtin_altivec_vsldoi_16qi");
851 function vec_sld_vbc_vbc_cint_r_vbc
852 (A
: vector_bool_char
;
853 B
: vector_bool_char
;
854 C
: c_int
) return vector_bool_char
;
857 (LL_Altivec
, vec_sld_vbc_vbc_cint_r_vbc
, "__builtin_altivec_vsldoi_16qi");
861 function vec_splat_vsc_cint_r_vsc
862 (A
: vector_signed_char
;
863 B
: c_int
) return vector_signed_char
;
866 (LL_Altivec
, vec_splat_vsc_cint_r_vsc
, "__builtin_altivec_vspltb");
868 function vec_splat_vuc_cint_r_vuc
869 (A
: vector_unsigned_char
;
870 B
: c_int
) return vector_unsigned_char
;
873 (LL_Altivec
, vec_splat_vuc_cint_r_vuc
, "__builtin_altivec_vspltb");
875 function vec_splat_vbc_cint_r_vbc
876 (A
: vector_bool_char
;
877 B
: c_int
) return vector_bool_char
;
880 (LL_Altivec
, vec_splat_vbc_cint_r_vbc
, "__builtin_altivec_vspltb");
882 function vec_splat_vss_cint_r_vss
883 (A
: vector_signed_short
;
884 B
: c_int
) return vector_signed_short
;
887 (LL_Altivec
, vec_splat_vss_cint_r_vss
, "__builtin_altivec_vsplth");
889 function vec_splat_vus_cint_r_vus
890 (A
: vector_unsigned_short
;
891 B
: c_int
) return vector_unsigned_short
;
894 (LL_Altivec
, vec_splat_vus_cint_r_vus
, "__builtin_altivec_vsplth");
896 function vec_splat_vbs_cint_r_vbs
897 (A
: vector_bool_short
;
898 B
: c_int
) return vector_bool_short
;
901 (LL_Altivec
, vec_splat_vbs_cint_r_vbs
, "__builtin_altivec_vsplth");
903 function vec_splat_vx_cint_r_vx
905 B
: c_int
) return vector_pixel
;
908 (LL_Altivec
, vec_splat_vx_cint_r_vx
, "__builtin_altivec_vsplth");
910 function vec_splat_vf_cint_r_vf
912 B
: c_int
) return vector_float
;
915 (LL_Altivec
, vec_splat_vf_cint_r_vf
, "__builtin_altivec_vspltw");
917 function vec_splat_vsi_cint_r_vsi
918 (A
: vector_signed_int
;
919 B
: c_int
) return vector_signed_int
;
922 (LL_Altivec
, vec_splat_vsi_cint_r_vsi
, "__builtin_altivec_vspltw");
924 function vec_splat_vui_cint_r_vui
925 (A
: vector_unsigned_int
;
926 B
: c_int
) return vector_unsigned_int
;
929 (LL_Altivec
, vec_splat_vui_cint_r_vui
, "__builtin_altivec_vspltw");
931 function vec_splat_vbi_cint_r_vbi
932 (A
: vector_bool_int
;
933 B
: c_int
) return vector_bool_int
;
936 (LL_Altivec
, vec_splat_vbi_cint_r_vbi
, "__builtin_altivec_vspltw");
940 function vec_vspltw_vf_cint_r_vf
942 B
: c_int
) return vector_float
;
945 (LL_Altivec
, vec_vspltw_vf_cint_r_vf
, "__builtin_altivec_vspltw");
947 function vec_vspltw_vsi_cint_r_vsi
948 (A
: vector_signed_int
;
949 B
: c_int
) return vector_signed_int
;
952 (LL_Altivec
, vec_vspltw_vsi_cint_r_vsi
, "__builtin_altivec_vspltw");
954 function vec_vspltw_vui_cint_r_vui
955 (A
: vector_unsigned_int
;
956 B
: c_int
) return vector_unsigned_int
;
959 (LL_Altivec
, vec_vspltw_vui_cint_r_vui
, "__builtin_altivec_vspltw");
961 function vec_vspltw_vbi_cint_r_vbi
962 (A
: vector_bool_int
;
963 B
: c_int
) return vector_bool_int
;
966 (LL_Altivec
, vec_vspltw_vbi_cint_r_vbi
, "__builtin_altivec_vspltw");
970 function vec_vsplth_vbs_cint_r_vbs
971 (A
: vector_bool_short
;
972 B
: c_int
) return vector_bool_short
;
975 (LL_Altivec
, vec_vsplth_vbs_cint_r_vbs
, "__builtin_altivec_vsplth");
977 function vec_vsplth_vss_cint_r_vss
978 (A
: vector_signed_short
;
979 B
: c_int
) return vector_signed_short
;
982 (LL_Altivec
, vec_vsplth_vss_cint_r_vss
, "__builtin_altivec_vsplth");
984 function vec_vsplth_vus_cint_r_vus
985 (A
: vector_unsigned_short
;
986 B
: c_int
) return vector_unsigned_short
;
989 (LL_Altivec
, vec_vsplth_vus_cint_r_vus
, "__builtin_altivec_vsplth");
991 function vec_vsplth_vx_cint_r_vx
993 B
: c_int
) return vector_pixel
;
996 (LL_Altivec
, vec_vsplth_vx_cint_r_vx
, "__builtin_altivec_vsplth");
1000 function vec_vspltb_vsc_cint_r_vsc
1001 (A
: vector_signed_char
;
1002 B
: c_int
) return vector_signed_char
;
1005 (LL_Altivec
, vec_vspltb_vsc_cint_r_vsc
, "__builtin_altivec_vspltb");
1007 function vec_vspltb_vuc_cint_r_vuc
1008 (A
: vector_unsigned_char
;
1009 B
: c_int
) return vector_unsigned_char
;
1012 (LL_Altivec
, vec_vspltb_vuc_cint_r_vuc
, "__builtin_altivec_vspltb");
1014 function vec_vspltb_vbc_cint_r_vbc
1015 (A
: vector_bool_char
;
1016 B
: c_int
) return vector_bool_char
;
1019 (LL_Altivec
, vec_vspltb_vbc_cint_r_vbc
, "__builtin_altivec_vspltb");
1023 function vec_splat_s8_cint_r_vsc
1024 (A
: c_int
) return vector_signed_char
;
1027 (LL_Altivec
, vec_splat_s8_cint_r_vsc
, "__builtin_altivec_vspltisb");
1031 function vec_splat_s16_cint_r_vss
1032 (A
: c_int
) return vector_signed_short
;
1035 (LL_Altivec
, vec_splat_s16_cint_r_vss
, "__builtin_altivec_vspltish");
1039 function vec_splat_s32_cint_r_vsi
1040 (A
: c_int
) return vector_signed_int
;
1043 (LL_Altivec
, vec_splat_s32_cint_r_vsi
, "__builtin_altivec_vspltisw");
1047 function vec_splat_u8_cint_r_vuc
1048 (A
: c_int
) return vector_unsigned_char
;
1051 (LL_Altivec
, vec_splat_u8_cint_r_vuc
, "__builtin_altivec_vspltisb");
1055 function vec_splat_u16_cint_r_vus
1056 (A
: c_int
) return vector_unsigned_short
;
1059 (LL_Altivec
, vec_splat_u16_cint_r_vus
, "__builtin_altivec_vspltish");
1063 function vec_splat_u32_cint_r_vui
1064 (A
: c_int
) return vector_unsigned_int
;
1067 (LL_Altivec
, vec_splat_u32_cint_r_vui
, "__builtin_altivec_vspltisw");
1069 ------------------------------------------------------------
1070 -- Imports for low-level signature consistent subprograms --
1071 ------------------------------------------------------------
1075 procedure vec_dssall
;
1078 (LL_Altivec
, vec_dssall
, "__builtin_altivec_dssall");
1080 -----------------------------------------
1081 -- Conversions between low level types --
1082 -----------------------------------------
1084 use GNAT
.Altivec
.Low_Level_Vectors
;
1086 -- Something like...
1088 -- TYPES="LL_VBC LL_VUC LL_VSC LL_VBS LL_VUS LL_VSS \
1089 -- LL_VBI LL_VUI LL_VSI LL_VF LL_VP"
1090 -- for TT in `echo $TYPES`; do
1091 -- for ST in `echo $TYPES`; do
1092 -- echo "function To_$TT is new Ada.Unchecked_Conversion ($ST, $TT);"
1097 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VBC
);
1098 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VBC
);
1099 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VBC
);
1100 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VBC
);
1101 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VBC
);
1102 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VBC
);
1103 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VBC
);
1104 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VBC
);
1105 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VBC
);
1106 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VBC
);
1107 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VBC
);
1109 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VUC
);
1110 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VUC
);
1111 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VUC
);
1112 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VUC
);
1113 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VUC
);
1114 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VUC
);
1115 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VUC
);
1116 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VUC
);
1117 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VUC
);
1118 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VUC
);
1119 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VUC
);
1121 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VSC
);
1122 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VSC
);
1123 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VSC
);
1124 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VSC
);
1125 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VSC
);
1126 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VSC
);
1127 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VSC
);
1128 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VSC
);
1129 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VSC
);
1130 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VSC
);
1131 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VSC
);
1133 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VBS
);
1134 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VBS
);
1135 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VBS
);
1136 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VBS
);
1137 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VBS
);
1138 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VBS
);
1139 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VBS
);
1140 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VBS
);
1141 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VBS
);
1142 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VBS
);
1143 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VBS
);
1145 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VUS
);
1146 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VUS
);
1147 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VUS
);
1148 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VUS
);
1149 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VUS
);
1150 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VUS
);
1151 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VUS
);
1152 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VUS
);
1153 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VUS
);
1154 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VUS
);
1155 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VUS
);
1157 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VSS
);
1158 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VSS
);
1159 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VSS
);
1160 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VSS
);
1161 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VSS
);
1162 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VSS
);
1163 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VSS
);
1164 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VSS
);
1165 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VSS
);
1166 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VSS
);
1167 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VSS
);
1169 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VBI
);
1170 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VBI
);
1171 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VBI
);
1172 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VBI
);
1173 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VBI
);
1174 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VBI
);
1175 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VBI
);
1176 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VBI
);
1177 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VBI
);
1178 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VBI
);
1179 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VBI
);
1181 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VUI
);
1182 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VUI
);
1183 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VUI
);
1184 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VUI
);
1185 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VUI
);
1186 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VUI
);
1187 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VUI
);
1188 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VUI
);
1189 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VUI
);
1190 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VUI
);
1191 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VUI
);
1193 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VSI
);
1194 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VSI
);
1195 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VSI
);
1196 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VSI
);
1197 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VSI
);
1198 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VSI
);
1199 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VSI
);
1200 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VSI
);
1201 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VSI
);
1202 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VSI
);
1203 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VSI
);
1205 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VF
);
1206 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VF
);
1207 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VF
);
1208 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VF
);
1209 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VF
);
1210 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VF
);
1211 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VF
);
1212 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VF
);
1213 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VF
);
1214 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VF
);
1215 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VF
);
1217 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VP
);
1218 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VP
);
1219 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VP
);
1220 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VP
);
1221 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VP
);
1222 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VP
);
1223 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VP
);
1224 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VP
);
1225 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VP
);
1226 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VP
);
1227 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VP
);
1229 ----------------------------------------------
1230 -- Conversions between pointer/access types --
1231 ----------------------------------------------
1234 new Ada
.Unchecked_Conversion
(vector_unsigned_char_ptr
, c_ptr
);
1236 new Ada
.Unchecked_Conversion
(vector_signed_char_ptr
, c_ptr
);
1238 new Ada
.Unchecked_Conversion
(vector_bool_char_ptr
, c_ptr
);
1240 new Ada
.Unchecked_Conversion
(vector_unsigned_short_ptr
, c_ptr
);
1242 new Ada
.Unchecked_Conversion
(vector_signed_short_ptr
, c_ptr
);
1244 new Ada
.Unchecked_Conversion
(vector_bool_short_ptr
, c_ptr
);
1246 new Ada
.Unchecked_Conversion
(vector_unsigned_int_ptr
, c_ptr
);
1248 new Ada
.Unchecked_Conversion
(vector_signed_int_ptr
, c_ptr
);
1250 new Ada
.Unchecked_Conversion
(vector_bool_int_ptr
, c_ptr
);
1252 new Ada
.Unchecked_Conversion
(vector_float_ptr
, c_ptr
);
1254 new Ada
.Unchecked_Conversion
(vector_pixel_ptr
, c_ptr
);
1256 new Ada
.Unchecked_Conversion
(const_vector_bool_char_ptr
, c_ptr
);
1258 new Ada
.Unchecked_Conversion
(const_vector_signed_char_ptr
, c_ptr
);
1260 new Ada
.Unchecked_Conversion
(const_vector_unsigned_char_ptr
, c_ptr
);
1262 new Ada
.Unchecked_Conversion
(const_vector_bool_short_ptr
, c_ptr
);
1264 new Ada
.Unchecked_Conversion
(const_vector_signed_short_ptr
, c_ptr
);
1266 new Ada
.Unchecked_Conversion
(const_vector_unsigned_short_ptr
, c_ptr
);
1268 new Ada
.Unchecked_Conversion
(const_vector_bool_int_ptr
, c_ptr
);
1270 new Ada
.Unchecked_Conversion
(const_vector_signed_int_ptr
, c_ptr
);
1272 new Ada
.Unchecked_Conversion
(const_vector_unsigned_int_ptr
, c_ptr
);
1274 new Ada
.Unchecked_Conversion
(const_vector_float_ptr
, c_ptr
);
1276 new Ada
.Unchecked_Conversion
(const_vector_pixel_ptr
, c_ptr
);
1278 new Ada
.Unchecked_Conversion
(c_ptr
, c_ptr
);
1280 new Ada
.Unchecked_Conversion
(signed_char_ptr
, c_ptr
);
1282 new Ada
.Unchecked_Conversion
(unsigned_char_ptr
, c_ptr
);
1284 new Ada
.Unchecked_Conversion
(short_ptr
, c_ptr
);
1286 new Ada
.Unchecked_Conversion
(signed_short_ptr
, c_ptr
);
1288 new Ada
.Unchecked_Conversion
(unsigned_short_ptr
, c_ptr
);
1290 new Ada
.Unchecked_Conversion
(int_ptr
, c_ptr
);
1292 new Ada
.Unchecked_Conversion
(signed_int_ptr
, c_ptr
);
1294 new Ada
.Unchecked_Conversion
(unsigned_int_ptr
, c_ptr
);
1296 new Ada
.Unchecked_Conversion
(long_ptr
, c_ptr
);
1298 new Ada
.Unchecked_Conversion
(signed_long_ptr
, c_ptr
);
1300 new Ada
.Unchecked_Conversion
(unsigned_long_ptr
, c_ptr
);
1302 new Ada
.Unchecked_Conversion
(float_ptr
, c_ptr
);
1304 new Ada
.Unchecked_Conversion
(const_signed_char_ptr
, c_ptr
);
1306 new Ada
.Unchecked_Conversion
(const_unsigned_char_ptr
, c_ptr
);
1308 new Ada
.Unchecked_Conversion
(const_short_ptr
, c_ptr
);
1310 new Ada
.Unchecked_Conversion
(const_signed_short_ptr
, c_ptr
);
1312 new Ada
.Unchecked_Conversion
(const_unsigned_short_ptr
, c_ptr
);
1314 new Ada
.Unchecked_Conversion
(const_int_ptr
, c_ptr
);
1316 new Ada
.Unchecked_Conversion
(const_signed_int_ptr
, c_ptr
);
1318 new Ada
.Unchecked_Conversion
(const_unsigned_int_ptr
, c_ptr
);
1320 new Ada
.Unchecked_Conversion
(const_long_ptr
, c_ptr
);
1322 new Ada
.Unchecked_Conversion
(const_signed_long_ptr
, c_ptr
);
1324 new Ada
.Unchecked_Conversion
(const_unsigned_long_ptr
, c_ptr
);
1326 new Ada
.Unchecked_Conversion
(const_float_ptr
, c_ptr
);
1328 new Ada
.Unchecked_Conversion
(constv_char_ptr
, c_ptr
);
1330 new Ada
.Unchecked_Conversion
(constv_signed_char_ptr
, c_ptr
);
1332 new Ada
.Unchecked_Conversion
(constv_unsigned_char_ptr
, c_ptr
);
1334 new Ada
.Unchecked_Conversion
(constv_short_ptr
, c_ptr
);
1336 new Ada
.Unchecked_Conversion
(constv_signed_short_ptr
, c_ptr
);
1338 new Ada
.Unchecked_Conversion
(constv_unsigned_short_ptr
, c_ptr
);
1340 new Ada
.Unchecked_Conversion
(constv_int_ptr
, c_ptr
);
1342 new Ada
.Unchecked_Conversion
(constv_signed_int_ptr
, c_ptr
);
1344 new Ada
.Unchecked_Conversion
(constv_unsigned_int_ptr
, c_ptr
);
1346 new Ada
.Unchecked_Conversion
(constv_long_ptr
, c_ptr
);
1348 new Ada
.Unchecked_Conversion
(constv_signed_long_ptr
, c_ptr
);
1350 new Ada
.Unchecked_Conversion
(constv_unsigned_long_ptr
, c_ptr
);
1352 new Ada
.Unchecked_Conversion
(constv_float_ptr
, c_ptr
);
1354 end GNAT
.Altivec
.Low_Level_Interface
;