As the specification said, "PC bits above XLEN are ignored, and when
the PC is written, it is sign-extended to fill the widest supported XLEN."
We still need special process of PC for exceptions or jump instructions.
I have two methods to implement PC register access,
but not sure which is the right way.
First, normally process the PC register as the specification points.
That means expanding the PC when setting the global TCGv variable
cpu_pc, and truncating the pc_first and pc_next fields in
DisasContextBase before decoding instructions. I am not sure
whether the sign-extended pc is compatible with QEMU common code.
Second, ignore ignore the PC special process for jump instructions.
Just expand or truncate the PC register when exception processing,
gdb read, or cpu dump registers. It is not a stright way, but I think it is
still right.