On Sat, 22 Jan 2022, Maciej W. Rozycki wrote: > I think we have consensus that we can ignore pre-r2.2 hardware. What we > actually support is `-misa-spec=<2.2|20190608|20191213>', so we can assume > r2.2 semantics as the absolute minimum, matching the description in my > submission.
Where, to repeat the point about possibly confusing version numbers, that's saying we can ignore hardware from before *ISA* revision 2.2 (which contained 'F' and 'D' extension version 2.0) - not that we can ignore hardware from before 'F' and 'D' extension version 2.2 (which changed the semantics of the FMIN and FMAX instructions). > Then once we have IEEE 754-2019 support in place, which will require new > RTL standard pattern names, say `fminimum'/`fmaximum', we will provide > them iff (!HONOR_SNANS || riscv_isa_spec >= ISA_SPEC_CLASS_20190608). It > may be a good idea to start adding IEEE 754-2019 support, including the > relevant `__builtin_fminimum' and `__builtin_fmaximum' intrinsics, once > the GCC 13 development cycle has started. The newer instruction semantics correspond to the functions fminimum_num and fmaximum_num, not fminimum and fmaximum (which are functions that treat both quiet and signaling NaNs like most libm functions do - any argument a NaN means the result is NaN). -- Joseph S. Myers jos...@codesourcery.com