Skip to content
Snippets Groups Projects
  • Stafford Horne's avatar
    ae440402
    or1k: Remove 64-bit support, it's not used and it breaks 32-bit hosts · ae440402
    Stafford Horne authored
    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.
    ae440402
    History
    or1k: Remove 64-bit support, it's not used and it breaks 32-bit hosts
    Stafford Horne authored
    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.