On Sat, 14 May 2022, Palmer Dabbelt wrote: > > Hmm, should we? We only support `-misa-spec=<2.2|20190608|20191213>' > > already and this update is fine for r.2.2+. If someone has pre-r.2.2 hw, > > then it's been already unsupported even before this change (as from GCC 11 > > AFAICS). Have I missed anything? > > I have no idea, but either you did or I did... > > IIUC this actually changed for version 2.2 of the F extension, which happened > well after version 2.2 of the ISA manual. I see eb78171 ("F/D extensions to > v2.2") both changing the version and noting the change, with cd20cee > ("FMIN/FMAX now implement minimumNumber/maximumNumber, not minNum/maxNum") > actually making the change and also adding some notation about this being a > draft of version 2.3 of the ISA manual (which was presumably never released as > 2.3 but instead one of those other tags). It also calls this out as F 2.0, > but I'm assuming that's non-canonical because this is a draft.
So the only actual concern with F/D 2.0 vs F/D 2.2 is the change of the treatment of signalling NaNs, which is why the new `fmin'/`fmax' patterns are keyed with !HONOR_SNANS so that code produces the same results from ISA r.2.2 onwards. I am sorry if that got buried in the elaborate change description. Once we've got the generic bits available for minimumNumber/maximumNumber we can add suitable `*min'/`*max' patterns that implement these operations and key them with (riscv_isa_spec >= ISA_SPEC_CLASS_20190608). Does this explanation clear your concern? Maciej