Looking at the May 2011 spec (https://www2.eecs.berkeley.edu/Pubs/TechRpts/2011/EECS-2011-...) there is `RDNPC Rd` which simply loads next PC into Rd. So that's 4 bytes different to modern `AUIPC Rd,0`, and functionally identical (other than return address predictor SNAFU) to modern `JAL Rd,.+4` or 2011 `JAL .+4` (only `x1` supported).
So 32 bit PC-relative addressing needed `RDNPC;LUI;ADD` and then `JALR`/load/store vs modern just `AUIPC` before the main instruction.
If there was something before `RDNPC` then it much have been very short-lived!
There is allegedly an earlier RISC-V design here...
https://inst.eecs.berkeley.edu/~cs250/fa10/handouts/lab2-ris...
... but I get "You don't have permission to access this resource."
There is an updated 2011 version which appears to conform to the May 2011 spec. The instruction listing omits load/store byte/half and there is no relative addressing support at all (except `JAL 4`) but that is probably just simplification for a hardware design class.
https://inst.eecs.berkeley.edu/~cs250/fa11/handouts/lab2-ris...
Chris, do you have access to that fa10 version?