On Fri, 13 May 2022 12:57:35 PDT (-0700), ma...@embecosm.com wrote:
On Fri, 13 May 2022, Palmer Dabbelt wrote:

Yep.  We should have a NEWS entry, though, as this one is user-visible and may
be tricky to sort out if it turns out there is some HW lurking around that has
the old behavior.

 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.

Complicating this is that there's some HW that predates that next spec but implements some of the post-2.2 behavior like this -- IIUC that's how the SiFive FE510-G000 (on the HiFive Unleashed) works and that's the only hardware any of us know about from that timeframe, but in practice there's a lot of HW floating around that we don't know of and it's going to be all but impossible to tell what ended up implemented in that two-year gap between releases.

I do now remember having some discussions on this and things getting so complicated I gave up, not sure if I just care enough to chase it down this time or if it was something else -- it's first thing on Saturday morning so it could go either way :)

Reply via email to