Mercurial > hg > CbC > CbC_gcc
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: |