As it is stated in page 16 of riscv-specv-v2.2.pdf, return-address prediction stacks are used.
It states that for JAL will should push the return address onto the return-address stack when rd = x1/x5.But does it mean to1. push the old return address onto then stack, i.e. return address before the JAL instruction, the value of x1 before executing JAL2. push the new return address, i.e. the address of the next instruction after JAL?