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-2015, 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 procedure vec_dst_kvucp_cint_cint
60 (A
: const_vector_unsigned_char_ptr
;
65 (LL_Altivec
, vec_dst_kvucp_cint_cint
, "__builtin_altivec_dst");
67 procedure vec_dst_kvscp_cint_cint
68 (A
: const_vector_signed_char_ptr
;
73 (LL_Altivec
, vec_dst_kvscp_cint_cint
, "__builtin_altivec_dst");
75 procedure vec_dst_kvbcp_cint_cint
76 (A
: const_vector_bool_char_ptr
;
81 (LL_Altivec
, vec_dst_kvbcp_cint_cint
, "__builtin_altivec_dst");
83 procedure vec_dst_kvusp_cint_cint
84 (A
: const_vector_unsigned_short_ptr
;
89 (LL_Altivec
, vec_dst_kvusp_cint_cint
, "__builtin_altivec_dst");
91 procedure vec_dst_kvssp_cint_cint
92 (A
: const_vector_signed_short_ptr
;
97 (LL_Altivec
, vec_dst_kvssp_cint_cint
, "__builtin_altivec_dst");
99 procedure vec_dst_kvbsp_cint_cint
100 (A
: const_vector_bool_short_ptr
;
105 (LL_Altivec
, vec_dst_kvbsp_cint_cint
, "__builtin_altivec_dst");
107 procedure vec_dst_kvxp_cint_cint
108 (A
: const_vector_pixel_ptr
;
113 (LL_Altivec
, vec_dst_kvxp_cint_cint
, "__builtin_altivec_dst");
115 procedure vec_dst_kvuip_cint_cint
116 (A
: const_vector_unsigned_int_ptr
;
121 (LL_Altivec
, vec_dst_kvuip_cint_cint
, "__builtin_altivec_dst");
123 procedure vec_dst_kvsip_cint_cint
124 (A
: const_vector_signed_int_ptr
;
129 (LL_Altivec
, vec_dst_kvsip_cint_cint
, "__builtin_altivec_dst");
131 procedure vec_dst_kvbip_cint_cint
132 (A
: const_vector_bool_int_ptr
;
137 (LL_Altivec
, vec_dst_kvbip_cint_cint
, "__builtin_altivec_dst");
139 procedure vec_dst_kvfp_cint_cint
140 (A
: const_vector_float_ptr
;
145 (LL_Altivec
, vec_dst_kvfp_cint_cint
, "__builtin_altivec_dst");
147 procedure vec_dst_kucp_cint_cint
148 (A
: const_unsigned_char_ptr
;
153 (LL_Altivec
, vec_dst_kucp_cint_cint
, "__builtin_altivec_dst");
155 procedure vec_dst_kscp_cint_cint
156 (A
: const_signed_char_ptr
;
161 (LL_Altivec
, vec_dst_kscp_cint_cint
, "__builtin_altivec_dst");
163 procedure vec_dst_kusp_cint_cint
164 (A
: const_unsigned_short_ptr
;
169 (LL_Altivec
, vec_dst_kusp_cint_cint
, "__builtin_altivec_dst");
171 procedure vec_dst_ksp_cint_cint
172 (A
: const_short_ptr
;
177 (LL_Altivec
, vec_dst_ksp_cint_cint
, "__builtin_altivec_dst");
179 procedure vec_dst_kuip_cint_cint
180 (A
: const_unsigned_int_ptr
;
185 (LL_Altivec
, vec_dst_kuip_cint_cint
, "__builtin_altivec_dst");
187 procedure vec_dst_kip_cint_cint
193 (LL_Altivec
, vec_dst_kip_cint_cint
, "__builtin_altivec_dst");
195 procedure vec_dst_kulongp_cint_cint
196 (A
: const_unsigned_long_ptr
;
201 (LL_Altivec
, vec_dst_kulongp_cint_cint
, "__builtin_altivec_dst");
203 procedure vec_dst_klongp_cint_cint
209 (LL_Altivec
, vec_dst_klongp_cint_cint
, "__builtin_altivec_dst");
211 procedure vec_dst_kfp_cint_cint
212 (A
: const_float_ptr
;
217 (LL_Altivec
, vec_dst_kfp_cint_cint
, "__builtin_altivec_dst");
221 procedure vec_dstst_kvucp_cint_cint
222 (A
: const_vector_unsigned_char_ptr
;
227 (LL_Altivec
, vec_dstst_kvucp_cint_cint
, "__builtin_altivec_dstst");
229 procedure vec_dstst_kvscp_cint_cint
230 (A
: const_vector_signed_char_ptr
;
235 (LL_Altivec
, vec_dstst_kvscp_cint_cint
, "__builtin_altivec_dstst");
237 procedure vec_dstst_kvbcp_cint_cint
238 (A
: const_vector_bool_char_ptr
;
243 (LL_Altivec
, vec_dstst_kvbcp_cint_cint
, "__builtin_altivec_dstst");
245 procedure vec_dstst_kvusp_cint_cint
246 (A
: const_vector_unsigned_short_ptr
;
251 (LL_Altivec
, vec_dstst_kvusp_cint_cint
, "__builtin_altivec_dstst");
253 procedure vec_dstst_kvssp_cint_cint
254 (A
: const_vector_signed_short_ptr
;
259 (LL_Altivec
, vec_dstst_kvssp_cint_cint
, "__builtin_altivec_dstst");
261 procedure vec_dstst_kvbsp_cint_cint
262 (A
: const_vector_bool_short_ptr
;
267 (LL_Altivec
, vec_dstst_kvbsp_cint_cint
, "__builtin_altivec_dstst");
269 procedure vec_dstst_kvxp_cint_cint
270 (A
: const_vector_pixel_ptr
;
275 (LL_Altivec
, vec_dstst_kvxp_cint_cint
, "__builtin_altivec_dstst");
277 procedure vec_dstst_kvuip_cint_cint
278 (A
: const_vector_unsigned_int_ptr
;
283 (LL_Altivec
, vec_dstst_kvuip_cint_cint
, "__builtin_altivec_dstst");
285 procedure vec_dstst_kvsip_cint_cint
286 (A
: const_vector_signed_int_ptr
;
291 (LL_Altivec
, vec_dstst_kvsip_cint_cint
, "__builtin_altivec_dstst");
293 procedure vec_dstst_kvbip_cint_cint
294 (A
: const_vector_bool_int_ptr
;
299 (LL_Altivec
, vec_dstst_kvbip_cint_cint
, "__builtin_altivec_dstst");
301 procedure vec_dstst_kvfp_cint_cint
302 (A
: const_vector_float_ptr
;
307 (LL_Altivec
, vec_dstst_kvfp_cint_cint
, "__builtin_altivec_dstst");
309 procedure vec_dstst_kucp_cint_cint
310 (A
: const_unsigned_char_ptr
;
315 (LL_Altivec
, vec_dstst_kucp_cint_cint
, "__builtin_altivec_dstst");
317 procedure vec_dstst_kscp_cint_cint
318 (A
: const_signed_char_ptr
;
323 (LL_Altivec
, vec_dstst_kscp_cint_cint
, "__builtin_altivec_dstst");
325 procedure vec_dstst_kusp_cint_cint
326 (A
: const_unsigned_short_ptr
;
331 (LL_Altivec
, vec_dstst_kusp_cint_cint
, "__builtin_altivec_dstst");
333 procedure vec_dstst_ksp_cint_cint
334 (A
: const_short_ptr
;
339 (LL_Altivec
, vec_dstst_ksp_cint_cint
, "__builtin_altivec_dstst");
341 procedure vec_dstst_kuip_cint_cint
342 (A
: const_unsigned_int_ptr
;
347 (LL_Altivec
, vec_dstst_kuip_cint_cint
, "__builtin_altivec_dstst");
349 procedure vec_dstst_kip_cint_cint
355 (LL_Altivec
, vec_dstst_kip_cint_cint
, "__builtin_altivec_dstst");
357 procedure vec_dstst_kulongp_cint_cint
358 (A
: const_unsigned_long_ptr
;
363 (LL_Altivec
, vec_dstst_kulongp_cint_cint
, "__builtin_altivec_dstst");
365 procedure vec_dstst_klongp_cint_cint
371 (LL_Altivec
, vec_dstst_klongp_cint_cint
, "__builtin_altivec_dstst");
373 procedure vec_dstst_kfp_cint_cint
374 (A
: const_float_ptr
;
379 (LL_Altivec
, vec_dstst_kfp_cint_cint
, "__builtin_altivec_dstst");
383 procedure vec_dststt_kvucp_cint_cint
384 (A
: const_vector_unsigned_char_ptr
;
389 (LL_Altivec
, vec_dststt_kvucp_cint_cint
, "__builtin_altivec_dststt");
391 procedure vec_dststt_kvscp_cint_cint
392 (A
: const_vector_signed_char_ptr
;
397 (LL_Altivec
, vec_dststt_kvscp_cint_cint
, "__builtin_altivec_dststt");
399 procedure vec_dststt_kvbcp_cint_cint
400 (A
: const_vector_bool_char_ptr
;
405 (LL_Altivec
, vec_dststt_kvbcp_cint_cint
, "__builtin_altivec_dststt");
407 procedure vec_dststt_kvusp_cint_cint
408 (A
: const_vector_unsigned_short_ptr
;
413 (LL_Altivec
, vec_dststt_kvusp_cint_cint
, "__builtin_altivec_dststt");
415 procedure vec_dststt_kvssp_cint_cint
416 (A
: const_vector_signed_short_ptr
;
421 (LL_Altivec
, vec_dststt_kvssp_cint_cint
, "__builtin_altivec_dststt");
423 procedure vec_dststt_kvbsp_cint_cint
424 (A
: const_vector_bool_short_ptr
;
429 (LL_Altivec
, vec_dststt_kvbsp_cint_cint
, "__builtin_altivec_dststt");
431 procedure vec_dststt_kvxp_cint_cint
432 (A
: const_vector_pixel_ptr
;
437 (LL_Altivec
, vec_dststt_kvxp_cint_cint
, "__builtin_altivec_dststt");
439 procedure vec_dststt_kvuip_cint_cint
440 (A
: const_vector_unsigned_int_ptr
;
445 (LL_Altivec
, vec_dststt_kvuip_cint_cint
, "__builtin_altivec_dststt");
447 procedure vec_dststt_kvsip_cint_cint
448 (A
: const_vector_signed_int_ptr
;
453 (LL_Altivec
, vec_dststt_kvsip_cint_cint
, "__builtin_altivec_dststt");
455 procedure vec_dststt_kvbip_cint_cint
456 (A
: const_vector_bool_int_ptr
;
461 (LL_Altivec
, vec_dststt_kvbip_cint_cint
, "__builtin_altivec_dststt");
463 procedure vec_dststt_kvfp_cint_cint
464 (A
: const_vector_float_ptr
;
469 (LL_Altivec
, vec_dststt_kvfp_cint_cint
, "__builtin_altivec_dststt");
471 procedure vec_dststt_kucp_cint_cint
472 (A
: const_unsigned_char_ptr
;
477 (LL_Altivec
, vec_dststt_kucp_cint_cint
, "__builtin_altivec_dststt");
479 procedure vec_dststt_kscp_cint_cint
480 (A
: const_signed_char_ptr
;
485 (LL_Altivec
, vec_dststt_kscp_cint_cint
, "__builtin_altivec_dststt");
487 procedure vec_dststt_kusp_cint_cint
488 (A
: const_unsigned_short_ptr
;
493 (LL_Altivec
, vec_dststt_kusp_cint_cint
, "__builtin_altivec_dststt");
495 procedure vec_dststt_ksp_cint_cint
496 (A
: const_short_ptr
;
501 (LL_Altivec
, vec_dststt_ksp_cint_cint
, "__builtin_altivec_dststt");
503 procedure vec_dststt_kuip_cint_cint
504 (A
: const_unsigned_int_ptr
;
509 (LL_Altivec
, vec_dststt_kuip_cint_cint
, "__builtin_altivec_dststt");
511 procedure vec_dststt_kip_cint_cint
517 (LL_Altivec
, vec_dststt_kip_cint_cint
, "__builtin_altivec_dststt");
519 procedure vec_dststt_kulongp_cint_cint
520 (A
: const_unsigned_long_ptr
;
525 (LL_Altivec
, vec_dststt_kulongp_cint_cint
, "__builtin_altivec_dststt");
527 procedure vec_dststt_klongp_cint_cint
533 (LL_Altivec
, vec_dststt_klongp_cint_cint
, "__builtin_altivec_dststt");
535 procedure vec_dststt_kfp_cint_cint
536 (A
: const_float_ptr
;
541 (LL_Altivec
, vec_dststt_kfp_cint_cint
, "__builtin_altivec_dststt");
545 procedure vec_dstt_kvucp_cint_cint
546 (A
: const_vector_unsigned_char_ptr
;
551 (LL_Altivec
, vec_dstt_kvucp_cint_cint
, "__builtin_altivec_dstt");
553 procedure vec_dstt_kvscp_cint_cint
554 (A
: const_vector_signed_char_ptr
;
559 (LL_Altivec
, vec_dstt_kvscp_cint_cint
, "__builtin_altivec_dstt");
561 procedure vec_dstt_kvbcp_cint_cint
562 (A
: const_vector_bool_char_ptr
;
567 (LL_Altivec
, vec_dstt_kvbcp_cint_cint
, "__builtin_altivec_dstt");
569 procedure vec_dstt_kvusp_cint_cint
570 (A
: const_vector_unsigned_short_ptr
;
575 (LL_Altivec
, vec_dstt_kvusp_cint_cint
, "__builtin_altivec_dstt");
577 procedure vec_dstt_kvssp_cint_cint
578 (A
: const_vector_signed_short_ptr
;
583 (LL_Altivec
, vec_dstt_kvssp_cint_cint
, "__builtin_altivec_dstt");
585 procedure vec_dstt_kvbsp_cint_cint
586 (A
: const_vector_bool_short_ptr
;
591 (LL_Altivec
, vec_dstt_kvbsp_cint_cint
, "__builtin_altivec_dstt");
593 procedure vec_dstt_kvxp_cint_cint
594 (A
: const_vector_pixel_ptr
;
599 (LL_Altivec
, vec_dstt_kvxp_cint_cint
, "__builtin_altivec_dstt");
601 procedure vec_dstt_kvuip_cint_cint
602 (A
: const_vector_unsigned_int_ptr
;
607 (LL_Altivec
, vec_dstt_kvuip_cint_cint
, "__builtin_altivec_dstt");
609 procedure vec_dstt_kvsip_cint_cint
610 (A
: const_vector_signed_int_ptr
;
615 (LL_Altivec
, vec_dstt_kvsip_cint_cint
, "__builtin_altivec_dstt");
617 procedure vec_dstt_kvbip_cint_cint
618 (A
: const_vector_bool_int_ptr
;
623 (LL_Altivec
, vec_dstt_kvbip_cint_cint
, "__builtin_altivec_dstt");
625 procedure vec_dstt_kvfp_cint_cint
626 (A
: const_vector_float_ptr
;
631 (LL_Altivec
, vec_dstt_kvfp_cint_cint
, "__builtin_altivec_dstt");
633 procedure vec_dstt_kucp_cint_cint
634 (A
: const_unsigned_char_ptr
;
639 (LL_Altivec
, vec_dstt_kucp_cint_cint
, "__builtin_altivec_dstt");
641 procedure vec_dstt_kscp_cint_cint
642 (A
: const_signed_char_ptr
;
647 (LL_Altivec
, vec_dstt_kscp_cint_cint
, "__builtin_altivec_dstt");
649 procedure vec_dstt_kusp_cint_cint
650 (A
: const_unsigned_short_ptr
;
655 (LL_Altivec
, vec_dstt_kusp_cint_cint
, "__builtin_altivec_dstt");
657 procedure vec_dstt_ksp_cint_cint
658 (A
: const_short_ptr
;
663 (LL_Altivec
, vec_dstt_ksp_cint_cint
, "__builtin_altivec_dstt");
665 procedure vec_dstt_kuip_cint_cint
666 (A
: const_unsigned_int_ptr
;
671 (LL_Altivec
, vec_dstt_kuip_cint_cint
, "__builtin_altivec_dstt");
673 procedure vec_dstt_kip_cint_cint
679 (LL_Altivec
, vec_dstt_kip_cint_cint
, "__builtin_altivec_dstt");
681 procedure vec_dstt_kulongp_cint_cint
682 (A
: const_unsigned_long_ptr
;
687 (LL_Altivec
, vec_dstt_kulongp_cint_cint
, "__builtin_altivec_dstt");
689 procedure vec_dstt_klongp_cint_cint
695 (LL_Altivec
, vec_dstt_klongp_cint_cint
, "__builtin_altivec_dstt");
697 procedure vec_dstt_kfp_cint_cint
698 (A
: const_float_ptr
;
703 (LL_Altivec
, vec_dstt_kfp_cint_cint
, "__builtin_altivec_dstt");
707 -- ??? The base GCC implementation maps everything to vsldoi_4si, while
708 -- it defines builtin variants for all the modes. Adjust here, to avoid
709 -- the infamous argument mode mismatch.
711 function vec_sld_vf_vf_cint_r_vf
714 C
: c_int
) return vector_float
;
717 (LL_Altivec
, vec_sld_vf_vf_cint_r_vf
, "__builtin_altivec_vsldoi_4sf");
719 function vec_sld_vsi_vsi_cint_r_vsi
720 (A
: vector_signed_int
;
721 B
: vector_signed_int
;
722 C
: c_int
) return vector_signed_int
;
725 (LL_Altivec
, vec_sld_vsi_vsi_cint_r_vsi
, "__builtin_altivec_vsldoi_4si");
727 function vec_sld_vui_vui_cint_r_vui
728 (A
: vector_unsigned_int
;
729 B
: vector_unsigned_int
;
730 C
: c_int
) return vector_unsigned_int
;
733 (LL_Altivec
, vec_sld_vui_vui_cint_r_vui
, "__builtin_altivec_vsldoi_4si");
735 function vec_sld_vbi_vbi_cint_r_vbi
736 (A
: vector_bool_int
;
738 C
: c_int
) return vector_bool_int
;
741 (LL_Altivec
, vec_sld_vbi_vbi_cint_r_vbi
, "__builtin_altivec_vsldoi_4si");
743 function vec_sld_vss_vss_cint_r_vss
744 (A
: vector_signed_short
;
745 B
: vector_signed_short
;
746 C
: c_int
) return vector_signed_short
;
749 (LL_Altivec
, vec_sld_vss_vss_cint_r_vss
, "__builtin_altivec_vsldoi_8hi");
751 function vec_sld_vus_vus_cint_r_vus
752 (A
: vector_unsigned_short
;
753 B
: vector_unsigned_short
;
754 C
: c_int
) return vector_unsigned_short
;
757 (LL_Altivec
, vec_sld_vus_vus_cint_r_vus
, "__builtin_altivec_vsldoi_8hi");
759 function vec_sld_vbs_vbs_cint_r_vbs
760 (A
: vector_bool_short
;
761 B
: vector_bool_short
;
762 C
: c_int
) return vector_bool_short
;
765 (LL_Altivec
, vec_sld_vbs_vbs_cint_r_vbs
, "__builtin_altivec_vsldoi_8hi");
767 function vec_sld_vx_vx_cint_r_vx
770 C
: c_int
) return vector_pixel
;
773 (LL_Altivec
, vec_sld_vx_vx_cint_r_vx
, "__builtin_altivec_vsldoi_8hi");
775 function vec_sld_vsc_vsc_cint_r_vsc
776 (A
: vector_signed_char
;
777 B
: vector_signed_char
;
778 C
: c_int
) return vector_signed_char
;
781 (LL_Altivec
, vec_sld_vsc_vsc_cint_r_vsc
, "__builtin_altivec_vsldoi_16qi");
783 function vec_sld_vuc_vuc_cint_r_vuc
784 (A
: vector_unsigned_char
;
785 B
: vector_unsigned_char
;
786 C
: c_int
) return vector_unsigned_char
;
789 (LL_Altivec
, vec_sld_vuc_vuc_cint_r_vuc
, "__builtin_altivec_vsldoi_16qi");
791 function vec_sld_vbc_vbc_cint_r_vbc
792 (A
: vector_bool_char
;
793 B
: vector_bool_char
;
794 C
: c_int
) return vector_bool_char
;
797 (LL_Altivec
, vec_sld_vbc_vbc_cint_r_vbc
, "__builtin_altivec_vsldoi_16qi");
801 function vec_splat_vsc_cint_r_vsc
802 (A
: vector_signed_char
;
803 B
: c_int
) return vector_signed_char
;
806 (LL_Altivec
, vec_splat_vsc_cint_r_vsc
, "__builtin_altivec_vspltb");
808 function vec_splat_vuc_cint_r_vuc
809 (A
: vector_unsigned_char
;
810 B
: c_int
) return vector_unsigned_char
;
813 (LL_Altivec
, vec_splat_vuc_cint_r_vuc
, "__builtin_altivec_vspltb");
815 function vec_splat_vbc_cint_r_vbc
816 (A
: vector_bool_char
;
817 B
: c_int
) return vector_bool_char
;
820 (LL_Altivec
, vec_splat_vbc_cint_r_vbc
, "__builtin_altivec_vspltb");
822 function vec_splat_vss_cint_r_vss
823 (A
: vector_signed_short
;
824 B
: c_int
) return vector_signed_short
;
827 (LL_Altivec
, vec_splat_vss_cint_r_vss
, "__builtin_altivec_vsplth");
829 function vec_splat_vus_cint_r_vus
830 (A
: vector_unsigned_short
;
831 B
: c_int
) return vector_unsigned_short
;
834 (LL_Altivec
, vec_splat_vus_cint_r_vus
, "__builtin_altivec_vsplth");
836 function vec_splat_vbs_cint_r_vbs
837 (A
: vector_bool_short
;
838 B
: c_int
) return vector_bool_short
;
841 (LL_Altivec
, vec_splat_vbs_cint_r_vbs
, "__builtin_altivec_vsplth");
843 function vec_splat_vx_cint_r_vx
845 B
: c_int
) return vector_pixel
;
848 (LL_Altivec
, vec_splat_vx_cint_r_vx
, "__builtin_altivec_vsplth");
850 function vec_splat_vf_cint_r_vf
852 B
: c_int
) return vector_float
;
855 (LL_Altivec
, vec_splat_vf_cint_r_vf
, "__builtin_altivec_vspltw");
857 function vec_splat_vsi_cint_r_vsi
858 (A
: vector_signed_int
;
859 B
: c_int
) return vector_signed_int
;
862 (LL_Altivec
, vec_splat_vsi_cint_r_vsi
, "__builtin_altivec_vspltw");
864 function vec_splat_vui_cint_r_vui
865 (A
: vector_unsigned_int
;
866 B
: c_int
) return vector_unsigned_int
;
869 (LL_Altivec
, vec_splat_vui_cint_r_vui
, "__builtin_altivec_vspltw");
871 function vec_splat_vbi_cint_r_vbi
872 (A
: vector_bool_int
;
873 B
: c_int
) return vector_bool_int
;
876 (LL_Altivec
, vec_splat_vbi_cint_r_vbi
, "__builtin_altivec_vspltw");
880 function vec_vspltw_vf_cint_r_vf
882 B
: c_int
) return vector_float
;
885 (LL_Altivec
, vec_vspltw_vf_cint_r_vf
, "__builtin_altivec_vspltw");
887 function vec_vspltw_vsi_cint_r_vsi
888 (A
: vector_signed_int
;
889 B
: c_int
) return vector_signed_int
;
892 (LL_Altivec
, vec_vspltw_vsi_cint_r_vsi
, "__builtin_altivec_vspltw");
894 function vec_vspltw_vui_cint_r_vui
895 (A
: vector_unsigned_int
;
896 B
: c_int
) return vector_unsigned_int
;
899 (LL_Altivec
, vec_vspltw_vui_cint_r_vui
, "__builtin_altivec_vspltw");
901 function vec_vspltw_vbi_cint_r_vbi
902 (A
: vector_bool_int
;
903 B
: c_int
) return vector_bool_int
;
906 (LL_Altivec
, vec_vspltw_vbi_cint_r_vbi
, "__builtin_altivec_vspltw");
910 function vec_vsplth_vbs_cint_r_vbs
911 (A
: vector_bool_short
;
912 B
: c_int
) return vector_bool_short
;
915 (LL_Altivec
, vec_vsplth_vbs_cint_r_vbs
, "__builtin_altivec_vsplth");
917 function vec_vsplth_vss_cint_r_vss
918 (A
: vector_signed_short
;
919 B
: c_int
) return vector_signed_short
;
922 (LL_Altivec
, vec_vsplth_vss_cint_r_vss
, "__builtin_altivec_vsplth");
924 function vec_vsplth_vus_cint_r_vus
925 (A
: vector_unsigned_short
;
926 B
: c_int
) return vector_unsigned_short
;
929 (LL_Altivec
, vec_vsplth_vus_cint_r_vus
, "__builtin_altivec_vsplth");
931 function vec_vsplth_vx_cint_r_vx
933 B
: c_int
) return vector_pixel
;
936 (LL_Altivec
, vec_vsplth_vx_cint_r_vx
, "__builtin_altivec_vsplth");
940 function vec_vspltb_vsc_cint_r_vsc
941 (A
: vector_signed_char
;
942 B
: c_int
) return vector_signed_char
;
945 (LL_Altivec
, vec_vspltb_vsc_cint_r_vsc
, "__builtin_altivec_vspltb");
947 function vec_vspltb_vuc_cint_r_vuc
948 (A
: vector_unsigned_char
;
949 B
: c_int
) return vector_unsigned_char
;
952 (LL_Altivec
, vec_vspltb_vuc_cint_r_vuc
, "__builtin_altivec_vspltb");
954 function vec_vspltb_vbc_cint_r_vbc
955 (A
: vector_bool_char
;
956 B
: c_int
) return vector_bool_char
;
959 (LL_Altivec
, vec_vspltb_vbc_cint_r_vbc
, "__builtin_altivec_vspltb");
963 function vec_splat_s8_cint_r_vsc
964 (A
: c_int
) return vector_signed_char
;
967 (LL_Altivec
, vec_splat_s8_cint_r_vsc
, "__builtin_altivec_vspltisb");
971 function vec_splat_s16_cint_r_vss
972 (A
: c_int
) return vector_signed_short
;
975 (LL_Altivec
, vec_splat_s16_cint_r_vss
, "__builtin_altivec_vspltish");
979 function vec_splat_s32_cint_r_vsi
980 (A
: c_int
) return vector_signed_int
;
983 (LL_Altivec
, vec_splat_s32_cint_r_vsi
, "__builtin_altivec_vspltisw");
987 function vec_splat_u8_cint_r_vuc
988 (A
: c_int
) return vector_unsigned_char
;
991 (LL_Altivec
, vec_splat_u8_cint_r_vuc
, "__builtin_altivec_vspltisb");
995 function vec_splat_u16_cint_r_vus
996 (A
: c_int
) return vector_unsigned_short
;
999 (LL_Altivec
, vec_splat_u16_cint_r_vus
, "__builtin_altivec_vspltish");
1003 function vec_splat_u32_cint_r_vui
1004 (A
: c_int
) return vector_unsigned_int
;
1007 (LL_Altivec
, vec_splat_u32_cint_r_vui
, "__builtin_altivec_vspltisw");
1009 ------------------------------------------------------------
1010 -- Imports for low-level signature consistent subprograms --
1011 ------------------------------------------------------------
1013 -----------------------------------------
1014 -- Conversions between low level types --
1015 -----------------------------------------
1017 use GNAT
.Altivec
.Low_Level_Vectors
;
1019 -- Something like...
1021 -- TYPES="LL_VBC LL_VUC LL_VSC LL_VBS LL_VUS LL_VSS \
1022 -- LL_VBI LL_VUI LL_VSI LL_VF LL_VP"
1023 -- for TT in `echo $TYPES`; do
1024 -- for ST in `echo $TYPES`; do
1025 -- echo "function To_$TT is new Ada.Unchecked_Conversion ($ST, $TT);"
1030 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VBC
);
1031 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VBC
);
1032 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VBC
);
1033 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VBC
);
1034 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VBC
);
1035 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VBC
);
1036 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VBC
);
1037 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VBC
);
1038 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VBC
);
1039 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VBC
);
1040 function To_LL_VBC
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VBC
);
1042 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VUC
);
1043 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VUC
);
1044 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VUC
);
1045 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VUC
);
1046 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VUC
);
1047 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VUC
);
1048 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VUC
);
1049 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VUC
);
1050 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VUC
);
1051 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VUC
);
1052 function To_LL_VUC
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VUC
);
1054 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VSC
);
1055 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VSC
);
1056 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VSC
);
1057 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VSC
);
1058 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VSC
);
1059 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VSC
);
1060 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VSC
);
1061 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VSC
);
1062 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VSC
);
1063 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VSC
);
1064 function To_LL_VSC
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VSC
);
1066 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VBS
);
1067 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VBS
);
1068 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VBS
);
1069 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VBS
);
1070 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VBS
);
1071 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VBS
);
1072 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VBS
);
1073 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VBS
);
1074 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VBS
);
1075 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VBS
);
1076 function To_LL_VBS
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VBS
);
1078 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VUS
);
1079 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VUS
);
1080 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VUS
);
1081 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VUS
);
1082 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VUS
);
1083 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VUS
);
1084 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VUS
);
1085 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VUS
);
1086 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VUS
);
1087 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VUS
);
1088 function To_LL_VUS
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VUS
);
1090 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VSS
);
1091 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VSS
);
1092 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VSS
);
1093 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VSS
);
1094 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VSS
);
1095 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VSS
);
1096 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VSS
);
1097 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VSS
);
1098 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VSS
);
1099 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VSS
);
1100 function To_LL_VSS
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VSS
);
1102 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VBI
);
1103 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VBI
);
1104 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VBI
);
1105 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VBI
);
1106 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VBI
);
1107 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VBI
);
1108 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VBI
);
1109 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VBI
);
1110 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VBI
);
1111 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VBI
);
1112 function To_LL_VBI
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VBI
);
1114 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VUI
);
1115 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VUI
);
1116 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VUI
);
1117 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VUI
);
1118 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VUI
);
1119 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VUI
);
1120 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VUI
);
1121 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VUI
);
1122 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VUI
);
1123 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VUI
);
1124 function To_LL_VUI
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VUI
);
1126 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VSI
);
1127 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VSI
);
1128 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VSI
);
1129 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VSI
);
1130 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VSI
);
1131 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VSI
);
1132 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VSI
);
1133 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VSI
);
1134 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VSI
);
1135 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VSI
);
1136 function To_LL_VSI
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VSI
);
1138 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VF
);
1139 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VF
);
1140 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VF
);
1141 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VF
);
1142 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VF
);
1143 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VF
);
1144 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VF
);
1145 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VF
);
1146 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VF
);
1147 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VF
);
1148 function To_LL_VF
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VF
);
1150 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VBC
, LL_VP
);
1151 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VUC
, LL_VP
);
1152 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VSC
, LL_VP
);
1153 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VBS
, LL_VP
);
1154 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VUS
, LL_VP
);
1155 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VSS
, LL_VP
);
1156 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VBI
, LL_VP
);
1157 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VUI
, LL_VP
);
1158 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VSI
, LL_VP
);
1159 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VF
, LL_VP
);
1160 function To_LL_VP
is new Ada
.Unchecked_Conversion
(LL_VP
, LL_VP
);
1162 ----------------------------------------------
1163 -- Conversions between pointer/access types --
1164 ----------------------------------------------
1167 new Ada
.Unchecked_Conversion
(vector_unsigned_char_ptr
, c_ptr
);
1169 new Ada
.Unchecked_Conversion
(vector_signed_char_ptr
, c_ptr
);
1171 new Ada
.Unchecked_Conversion
(vector_bool_char_ptr
, c_ptr
);
1173 new Ada
.Unchecked_Conversion
(vector_unsigned_short_ptr
, c_ptr
);
1175 new Ada
.Unchecked_Conversion
(vector_signed_short_ptr
, c_ptr
);
1177 new Ada
.Unchecked_Conversion
(vector_bool_short_ptr
, c_ptr
);
1179 new Ada
.Unchecked_Conversion
(vector_unsigned_int_ptr
, c_ptr
);
1181 new Ada
.Unchecked_Conversion
(vector_signed_int_ptr
, c_ptr
);
1183 new Ada
.Unchecked_Conversion
(vector_bool_int_ptr
, c_ptr
);
1185 new Ada
.Unchecked_Conversion
(vector_float_ptr
, c_ptr
);
1187 new Ada
.Unchecked_Conversion
(vector_pixel_ptr
, c_ptr
);
1189 new Ada
.Unchecked_Conversion
(const_vector_bool_char_ptr
, c_ptr
);
1191 new Ada
.Unchecked_Conversion
(const_vector_signed_char_ptr
, c_ptr
);
1193 new Ada
.Unchecked_Conversion
(const_vector_unsigned_char_ptr
, c_ptr
);
1195 new Ada
.Unchecked_Conversion
(const_vector_bool_short_ptr
, c_ptr
);
1197 new Ada
.Unchecked_Conversion
(const_vector_signed_short_ptr
, c_ptr
);
1199 new Ada
.Unchecked_Conversion
(const_vector_unsigned_short_ptr
, c_ptr
);
1201 new Ada
.Unchecked_Conversion
(const_vector_bool_int_ptr
, c_ptr
);
1203 new Ada
.Unchecked_Conversion
(const_vector_signed_int_ptr
, c_ptr
);
1205 new Ada
.Unchecked_Conversion
(const_vector_unsigned_int_ptr
, c_ptr
);
1207 new Ada
.Unchecked_Conversion
(const_vector_float_ptr
, c_ptr
);
1209 new Ada
.Unchecked_Conversion
(const_vector_pixel_ptr
, c_ptr
);
1211 new Ada
.Unchecked_Conversion
(c_ptr
, c_ptr
);
1213 new Ada
.Unchecked_Conversion
(signed_char_ptr
, c_ptr
);
1215 new Ada
.Unchecked_Conversion
(unsigned_char_ptr
, c_ptr
);
1217 new Ada
.Unchecked_Conversion
(short_ptr
, c_ptr
);
1219 new Ada
.Unchecked_Conversion
(signed_short_ptr
, c_ptr
);
1221 new Ada
.Unchecked_Conversion
(unsigned_short_ptr
, c_ptr
);
1223 new Ada
.Unchecked_Conversion
(int_ptr
, c_ptr
);
1225 new Ada
.Unchecked_Conversion
(signed_int_ptr
, c_ptr
);
1227 new Ada
.Unchecked_Conversion
(unsigned_int_ptr
, c_ptr
);
1229 new Ada
.Unchecked_Conversion
(long_ptr
, c_ptr
);
1231 new Ada
.Unchecked_Conversion
(signed_long_ptr
, c_ptr
);
1233 new Ada
.Unchecked_Conversion
(unsigned_long_ptr
, c_ptr
);
1235 new Ada
.Unchecked_Conversion
(float_ptr
, c_ptr
);
1237 new Ada
.Unchecked_Conversion
(const_signed_char_ptr
, c_ptr
);
1239 new Ada
.Unchecked_Conversion
(const_unsigned_char_ptr
, c_ptr
);
1241 new Ada
.Unchecked_Conversion
(const_short_ptr
, c_ptr
);
1243 new Ada
.Unchecked_Conversion
(const_signed_short_ptr
, c_ptr
);
1245 new Ada
.Unchecked_Conversion
(const_unsigned_short_ptr
, c_ptr
);
1247 new Ada
.Unchecked_Conversion
(const_int_ptr
, c_ptr
);
1249 new Ada
.Unchecked_Conversion
(const_signed_int_ptr
, c_ptr
);
1251 new Ada
.Unchecked_Conversion
(const_unsigned_int_ptr
, c_ptr
);
1253 new Ada
.Unchecked_Conversion
(const_long_ptr
, c_ptr
);
1255 new Ada
.Unchecked_Conversion
(const_signed_long_ptr
, c_ptr
);
1257 new Ada
.Unchecked_Conversion
(const_unsigned_long_ptr
, c_ptr
);
1259 new Ada
.Unchecked_Conversion
(const_float_ptr
, c_ptr
);
1261 new Ada
.Unchecked_Conversion
(constv_char_ptr
, c_ptr
);
1263 new Ada
.Unchecked_Conversion
(constv_signed_char_ptr
, c_ptr
);
1265 new Ada
.Unchecked_Conversion
(constv_unsigned_char_ptr
, c_ptr
);
1267 new Ada
.Unchecked_Conversion
(constv_short_ptr
, c_ptr
);
1269 new Ada
.Unchecked_Conversion
(constv_signed_short_ptr
, c_ptr
);
1271 new Ada
.Unchecked_Conversion
(constv_unsigned_short_ptr
, c_ptr
);
1273 new Ada
.Unchecked_Conversion
(constv_int_ptr
, c_ptr
);
1275 new Ada
.Unchecked_Conversion
(constv_signed_int_ptr
, c_ptr
);
1277 new Ada
.Unchecked_Conversion
(constv_unsigned_int_ptr
, c_ptr
);
1279 new Ada
.Unchecked_Conversion
(constv_long_ptr
, c_ptr
);
1281 new Ada
.Unchecked_Conversion
(constv_signed_long_ptr
, c_ptr
);
1283 new Ada
.Unchecked_Conversion
(constv_unsigned_long_ptr
, c_ptr
);
1285 new Ada
.Unchecked_Conversion
(constv_float_ptr
, c_ptr
);
1287 end GNAT
.Altivec
.Low_Level_Interface
;