]>
Commit | Line | Data |
---|---|---|
6a8886e4 | 1 | /* Definitions 128-bit floating point precisions used by PowerPC. |
a945c346 | 2 | Copyright (C) 2018-2024 Free Software Foundation, Inc. |
6a8886e4 MM |
3 | Contributed by Michael Meissner (meissner@linux.ibm.com) |
4 | ||
5 | This file is part of GCC. | |
6 | ||
7 | GCC is free software; you can redistribute it and/or modify it | |
8 | under the terms of the GNU General Public License as published | |
9 | by the Free Software Foundation; either version 3, or (at your | |
10 | option) any later version. | |
11 | ||
12 | GCC is distributed in the hope that it will be useful, but WITHOUT | |
13 | ANY WARRANTY; without even the implied warranty of MERCHANTABILITY | |
14 | or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public | |
15 | License for more details. | |
16 | ||
17 | You should have received a copy of the GNU General Public License | |
18 | along with GCC; see the file COPYING3. If not see | |
19 | <http://www.gnu.org/licenses/>. */ | |
20 | ||
21 | /* We order the 3 128-bit floating point types so that IFmode (IBM 128-bit | |
22 | floating point) is the 128-bit floating point type with the highest | |
23 | precision (128 bits). This so that machine independent parts of the | |
24 | compiler do not try to widen IFmode to TFmode on ISA 3.0 (power9) that has | |
25 | hardware support for IEEE 128-bit. We set TFmode (long double mode) in | |
26 | between, and KFmode (explicit __float128) below it. | |
27 | ||
28 | We won't encounter conversion from IEEE 128-bit to IBM 128-bit because we | |
29 | don't have insns to support the IBM 128-bit aritmetic operations. */ | |
30 | ||
31 | #ifndef RS6000_MODES_H | |
32 | #define RS6000_MODES_H 1 | |
33 | #define FLOAT_PRECISION_IFmode 128 | |
34 | #define FLOAT_PRECISION_TFmode 127 | |
35 | #define FLOAT_PRECISION_KFmode 126 | |
36 | #endif /* RS6000_MODES_H */ |