or1k: Remove 64-bit support, it's not used and it breaks 32-bit hosts
authorStafford Horne <shorne@gmail.com>
Tue, 19 May 2020 11:40:27 +0000 (20:40 +0900)
committerStafford Horne <shorne@gmail.com>
Tue, 19 May 2020 11:40:27 +0000 (20:40 +0900)
commitae440402f54c634baddc462f8561442befe2cafe
tree052696f415d762f88db1d5f92179d225740eb2de
parent7e05773767820b441b23a16628b55c98cb1aef46
or1k: Remove 64-bit support, it's not used and it breaks 32-bit hosts

Reported by Rich Felker when building on 32-bit hosts.  Backwards jump
negative offsets were not calculated correctly due to improper 32-bit
to 64-bit zero-extension.  The 64-bit fields are present because we
are mixing 32-bit and 64-bit architectures in our cpu descriptions.

Removing 64-bit fixes the issue.  We don't use 64-bit, there is an architecture
spec for 64-bit but no implementations or simulators.  My thought is if
we need them in the future we should do the proper work to support both
32-bit and 64-bit implementations co-existing then.

cpu/ChangeLog:

yyyy-mm-dd  Stafford Horne  <shorne@gmail.com>

PR 25184
* or1k.cpu (arch or1k): Remove or64 and or64nd machs.
(ORBIS-MACHS, ORFPX32-MACHS): Remove pmacros.
(cpu or1k64bf, mach or64, mach or64nd): Remove definitions.
* or1kcommon.cpu (h-fdr): Remove hardware.
* or1korfpx.cpu (rDDF, rADF, rBDF): Remove operand definitions.
(float-regreg-insn): Remove lf- mnemonic -d instruction pattern.
(float-setflag-insn-base): Remove lf-sf mnemonic -d pattern.
(float-cust-insn): Remove "lf-cust" cust-num "-d" pattern.
(lf-rem-d, lf-itof-d, lf-ftoi-d, lf-madd-d): Remove.
cpu/ChangeLog
cpu/or1k.cpu
cpu/or1kcommon.cpu
cpu/or1korfpx.cpu