[libre-riscv-dev] [Bug 286] DataPointer concept: long-immediate references

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Apr 15 10:10:58 BST 2020


--- Comment #2 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to cand from comment #1)
> A banked data scheme, like on the 65816, would be a slightly simpler
> version. Instead of incrementing a pointer, the data bank register contains
> the high bits, and the instruction contains the low bits.

that's the 2nd version i came up with

> Such a setup also
> lets you access larger-than-11-bit immediates,

however you still need bits (or an instruction) specifying the immediate width,

which is why i borrowed a couple of bits from the immediate to do that.

> and is basically MIPS's small
> data section made customizable.

interesting. worth investigating.

> It would still be relocatable, just in 11 bit alignments. The linker would
> adjust the set-data-bank-register instructions on program load, for
> position-independent code.


my feeling is we should take thus seriously because large immediate data load
is such a massive part of programs yet they are highly space inefficient.

You are receiving this mail because:
You are on the CC list for the bug.

More information about the libre-riscv-dev mailing list