Skip to content

Commit 6b692f8

Browse files
authored
Merge pull request #443 from cmuellner/ieee754-notes
riscv-cc: Reference FP standards for FP types
2 parents 2092568 + 8ac162d commit 6b692f8

File tree

1 file changed

+37
-37
lines changed

1 file changed

+37
-37
lines changed

riscv-cc.adoc

Lines changed: 37 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -536,53 +536,53 @@ ILP32, ILP32F, ILP32D, and ILP32E:: Use the following type sizes and
536536
alignments (based on the ILP32 convention):
537537
+
538538
.C/{Cpp} type sizes and alignments for RV32
539-
[cols="4,>2,>3"]
539+
[cols="4,>2,>3,4"]
540540
[width=60%]
541541
|===
542-
| Type | Size (Bytes) | Alignment (Bytes)
543-
544-
| bool/_Bool | 1 | 1
545-
| char | 1 | 1
546-
| short | 2 | 2
547-
| int | 4 | 4
548-
| long | 4 | 4
549-
| long long | 8 | 8
550-
| void * | 4 | 4
551-
| +++__bf16+++ | 2 | 2
552-
| _Float16 | 2 | 2
553-
| float | 4 | 4
554-
| double | 8 | 8
555-
| long double | 16 | 16
556-
| float _Complex | 8 | 4
557-
| double _Complex | 16 | 8
558-
| long double _Complex | 32 | 16
542+
| Type | Size (Bytes) | Alignment (Bytes) | Note
543+
544+
| bool/_Bool | 1 | 1 |
545+
| char | 1 | 1 |
546+
| short | 2 | 2 |
547+
| int | 4 | 4 |
548+
| long | 4 | 4 |
549+
| long long | 8 | 8 |
550+
| void * | 4 | 4 |
551+
| +++__bf16+++ | 2 | 2 | Half precision floating point (bfloat16)
552+
| _Float16 | 2 | 2 | Half precision floating point (binary16 in IEEE 754-2008)
553+
| float | 4 | 4 | Single precision floating point (binary32 in IEEE 754-2008)
554+
| double | 8 | 8 | Double precision floating point (binary64 in IEEE 754-2008)
555+
| long double | 16 | 16 | Quadruple precision floating point (binary128 in IEEE 754-2008)
556+
| float _Complex | 8 | 4 |
557+
| double _Complex | 16 | 8 |
558+
| long double _Complex | 32 | 16 |
559559
|===
560560

561561
LP64, LP64F, LP64D, and LP64Q:: Use the following type sizes and
562562
alignments (based on the LP64 convention):
563563
+
564564
.C/{Cpp} type sizes and alignments for RV64
565-
[cols="4,>2,>3"]
565+
[cols="4,>2,>3,4"]
566566
[width=60%]
567567
|===
568-
| Type | Size (Bytes) | Alignment (Bytes)
569-
570-
| bool/_Bool | 1 | 1
571-
| char | 1 | 1
572-
| short | 2 | 2
573-
| int | 4 | 4
574-
| long | 8 | 8
575-
| long long | 8 | 8
576-
| +++__int128+++ | 16 | 16
577-
| void * | 8 | 8
578-
| +++__bf16+++ | 2 | 2
579-
| _Float16 | 2 | 2
580-
| float | 4 | 4
581-
| double | 8 | 8
582-
| long double | 16 | 16
583-
| float _Complex | 8 | 4
584-
| double _Complex | 16 | 8
585-
| long double _Complex | 32 | 16
568+
| Type | Size (Bytes) | Alignment (Bytes) | Note
569+
570+
| bool/_Bool | 1 | 1 |
571+
| char | 1 | 1 |
572+
| short | 2 | 2 |
573+
| int | 4 | 4 |
574+
| long | 8 | 8 |
575+
| long long | 8 | 8 |
576+
| +++__int128+++ | 16 | 16 |
577+
| void * | 8 | 8 |
578+
| +++__bf16+++ | 2 | 2 | Half precision floating point (bfloat16)
579+
| _Float16 | 2 | 2 | Half precision floating point (binary16 in IEEE 754-2008)
580+
| float | 4 | 4 | Single precision floating point (binary32 in IEEE 754-2008)
581+
| double | 8 | 8 | Double precision floating point (binary64 in IEEE 754-2008)
582+
| long double | 16 | 16 | Quadruple precision floating point (binary128 in IEEE 754-2008)
583+
| float _Complex | 8 | 4 |
584+
| double _Complex | 16 | 8 |
585+
| long double _Complex | 32 | 16 |
586586
|===
587587

588588
The alignment of `max_align_t` is 16.

0 commit comments

Comments
 (0)