comparison gcc/ada/libgnat/g-altive.ads @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children 1830386684a0
comparison
equal deleted inserted replaced
111:04ced10e8804 131:84e7813d76e9
4 -- -- 4 -- --
5 -- G N A T . A L T I V E C -- 5 -- G N A T . A L T I V E C --
6 -- -- 6 -- --
7 -- S p e c -- 7 -- S p e c --
8 -- -- 8 -- --
9 -- Copyright (C) 2004-2017, Free Software Foundation, Inc. -- 9 -- Copyright (C) 2004-2018, Free Software Foundation, Inc. --
10 -- -- 10 -- --
11 -- GNAT is free software; you can redistribute it and/or modify it under -- 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- -- 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- -- 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- -- 14 -- sion. GNAT is distributed in the hope that it will be useful, but WITH- --
666 666
667 -- Let To_Type_Of_A be a conversion operation from the type of B to the 667 -- Let To_Type_Of_A be a conversion operation from the type of B to the
668 -- type of A. The quad-word operations are only implemented by one 668 -- type of A. The quad-word operations are only implemented by one
669 -- Altivec primitive operation. That means that, if QW_Operation is a 669 -- Altivec primitive operation. That means that, if QW_Operation is a
670 -- quad-word operation, we should have: 670 -- quad-word operation, we should have:
671 -- QW_Operation (To_Type_of_A (B)) = QW_Operation (A) 671 -- QW_Operation (To_Type_Of_A (B)) = QW_Operation (A)
672 672
673 -- That is true iff: 673 -- That is true iff:
674 -- To_Quad_Word (To_Type_of_A (B)) = To_Quad_Word (A) 674 -- To_Quad_Word (To_Type_Of_A (B)) = To_Quad_Word (A)
675 675
676 -- As To_Quad_Word is a bijection. we have: 676 -- As To_Quad_Word is a bijection. we have:
677 -- To_Type_of_A (B) = A 677 -- To_Type_Of_A (B) = A
678 678
679 -- resp. any combination of A, B, C: 679 -- resp. any combination of A, B, C:
680 -- To_Type_of_A (C) = A 680 -- To_Type_Of_A (C) = A
681 -- To_Type_of_B (A) = B 681 -- To_Type_Of_B (A) = B
682 -- To_Type_of_C (B) = C 682 -- To_Type_Of_C (B) = C
683 -- ... 683 -- ...
684 684
685 -- Making sure that the properties described above are verified by the 685 -- Making sure that the properties described above are verified by the
686 -- conversion operations between vector types has different implications 686 -- conversion operations between vector types has different implications
687 -- depending on the layout of the vector types: 687 -- depending on the layout of the vector types: