Miscellaneous corrections from Ian's review #58

Closed
opened 7 years ago by wschmidt-ibm · 1 comments
wschmidt-ibm commented 7 years ago (Migrated from github.com)

Page 3: In "This ABI is predicated on, at a minimum, Power ISA version 3.0", since version 3.0 describes the Power 9 ISA but this also runs on Power 8, this should be "version 2.7". (This also affects "Power Instruction Set Architecture, Version 3.0, IBM, 2016." on page 1, which should refer to both version 2.7 and 3.0.) Some of the BIFs do require 3.0, and they are marked as "POWER ISA 3.0".

Page 4: In "Table 2.4. Little-Endian Bit and Byte Numbering in Doublewords", the byte numbering in the second row is wrong. "3 2 2 1" should be "3 2 1 0".

Page 8: In "Table 2.12. Vector Types", "__Float16" should be "_Float16".

Page 144: VEC_EXTRACT_EXP: "The extracted exponent of ARG1 is returned" should be "The extracted exponents of ARG1 are returned" or similar.

Page 146: VEC_FIRST_MISMATCH_INDEX: "VEC_FIRST_MISMATCH_INDEX(ARG1, ARG2)" should have a space before the "(".

Pages 146/147: VEC_FLOAT: "to unsigned integers." should be "to single precision numbers.".

Page 147: VEC_FLOAT2: "Converts an input vectora vector of integers to a vector of single-precision numbers floating-point numbers." should be "Converts an input vectorof integers or double precision numbers to a vector of single-precision numbers." or preferably just "Converts an input vector to a vector of single-precision numbers.".

Page 163: VEC_ROUND: The -qstrict=nooperationprecision note applies only to XLC not GCC.

Page 217: __BUILTIN_BCDSUB: ", long);" should be ", const int);" to match ___BUILTIN_BCDADD (or vice versa).
This also applies to __BCD_MUL, __BCD_DIV, and __BCD_STRING2BCD on pages 219-220.
(Unfortunately this may mean we implemented incorrectly.)

Pages 217-218: BUILTIN_BCDADD_OFL: " builtin_bcdadd_ofl" should be "builtin_bcdadd_ofl" (no space in the name).
Same for "
builtin_bcdsub_ofl", "__ builtin_bcdinvalid", "__ builtin_bcdcmpeq", "__ builtin_bcdcmpgt", "__ builtin_bcdcmple", "__ builtin_bcdcmplt", "__ builtin_bcd2dfp",
and for "__ BUILTIN_BCD_INVALID", "__ BUILTIN_BCDCMPEQ", "__ BUILTIN_BCDCMPGE", "__ BUILTIN_BCDCMPLT", "__ BUILTIN_BCD2DFP", "__ BUILTIN_BCDMUL10", and "__ BUILTIN_BCDDIV10".
Also "___BUILTIN_BCDADD" should be just "__BUILTIN_BCDADD" (2 _s not 3).

Page 221: bcd.h: #define bcd_default_format __BCD_SIGN_IBM uses __BCD_SIGN_IBM, when the value is defined above as #define BCD_FORMAT_IBM 0.

Page 221: bcd.h: "#define bcd_add_ofl(a,b) ((_Bool)__builtin_bcdsub_ofl (a,b))" should be "#define bcd_sub_ofl(a,b) ((_Bool)__builtin_bcdsub_ofl (a,b))" (sub not add).

Page 223: RN and UE "[" should be omitted.

Page 3: In "This ABI is predicated on, at a minimum, Power ISA version 3.0", since version 3.0 describes the Power 9 ISA but this also runs on Power 8, this should be "version 2.7". (This also affects "Power Instruction Set Architecture, Version 3.0, IBM, 2016." on page 1, which should refer to both version 2.7 and 3.0.) Some of the BIFs do require 3.0, and they are marked as "POWER ISA 3.0". Page 4: In "Table 2.4. Little-Endian Bit and Byte Numbering in Doublewords", the byte numbering in the second row is wrong. "3 2 2 1" should be "3 2 1 0". Page 8: In "Table 2.12. Vector Types", "__Float16" should be "_Float16". Page 144: VEC_EXTRACT_EXP: "The extracted exponent of ARG1 is returned" should be "The extracted exponents of ARG1 are returned" or similar. Page 146: VEC_FIRST_MISMATCH_INDEX: "VEC_FIRST_MISMATCH_INDEX(ARG1, ARG2)" should have a space before the "(". Pages 146/147: VEC_FLOAT: "to unsigned integers." should be "to single precision numbers.". Page 147: VEC_FLOAT2: "Converts an input vectora vector of integers to a vector of single-precision numbers floating-point numbers." should be "Converts an input vectorof integers or double precision numbers to a vector of single-precision numbers." or preferably just "Converts an input vector to a vector of single-precision numbers.". Page 163: VEC_ROUND: The -qstrict=nooperationprecision note applies only to XLC not GCC. Page 217: __BUILTIN_BCDSUB: ", long);" should be ", const int);" to match ___BUILTIN_BCDADD (or vice versa). This also applies to __BCD_MUL, __BCD_DIV, and __BCD_STRING2BCD on pages 219-220. (Unfortunately this may mean we implemented incorrectly.) Pages 217-218: __BUILTIN_BCDADD_OFL: "__ builtin_bcdadd_ofl" should be "__builtin_bcdadd_ofl" (no space in the name). Same for "__ builtin_bcdsub_ofl", "__ builtin_bcdinvalid", "__ builtin_bcdcmpeq", "__ builtin_bcdcmpgt", "__ builtin_bcdcmple", "__ builtin_bcdcmplt", "__ builtin_bcd2dfp", and for "__ BUILTIN_BCD_INVALID", "__ BUILTIN_BCDCMPEQ", "__ BUILTIN_BCDCMPGE", "__ BUILTIN_BCDCMPLT", "__ BUILTIN_BCD2DFP", "__ BUILTIN_BCDMUL10", and "__ BUILTIN_BCDDIV10". Also "___BUILTIN_BCDADD" should be just "__BUILTIN_BCDADD" (2 _s not 3). Page 221: bcd.h: #define bcd_default_format __BCD_SIGN_IBM uses __BCD_SIGN_IBM, when the value is defined above as #define BCD_FORMAT_IBM 0. Page 221: bcd.h: "#define bcd_add_ofl(a,b) ((_Bool)__builtin_bcdsub_ofl (a,b))" should be "#define bcd_sub_ofl(a,b) ((_Bool)__builtin_bcdsub_ofl (a,b))" (sub not add). Page 223: RN and UE "[" should be omitted.
wschmidt-ibm commented 7 years ago (Migrated from github.com)

Fixed by commit ebabca797d.

Fixed by commit ebabca797d435c8efd38ffb276ded0be04151f7a.
Sign in to join this conversation.
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
The due date is invalid or out of range. Please use the format 'yyyy-mm-dd'.

No due date set.

Dependencies

No dependencies set.

Reference: systemsoftware/ELFv2-ABI#58
Loading…
There is no content yet.