This adds fcvt.d.w[u] and fcvt.w[u].d instructions, and fixes the fcvt.s.w[u] and fcvt.w[u].s instructions overflow behavior to correctly reflect the spec (Thanks Markus Böck for digging this out, as it's a bit difficult to find in the spec itself).
This also fixes a long standing bug in the way registers are stored that would introduce bugs in certain edge cases (registers are now always treated as signed values, just as the code expects in most places).
This adds
fcvt.d.w[u]
andfcvt.w[u].d
instructions, and fixes thefcvt.s.w[u]
andfcvt.w[u].s
instructions overflow behavior to correctly reflect the spec (Thanks Markus Böck for digging this out, as it's a bit difficult to find in the spec itself).This also fixes a long standing bug in the way registers are stored that would introduce bugs in certain edge cases (registers are now always treated as signed values, just as the code expects in most places).
Pre-Merge Checklist:
CHANGELOG.md