gdb:csky add pseudo regs for float and vector regs
authorJiangshuai Li <jiangshuai_li@c-sky.com>
Tue, 28 Jun 2022 03:05:30 +0000 (11:05 +0800)
committerJiangshuai Li <jiangshuai_li@c-sky.com>
Tue, 28 Jun 2022 03:05:30 +0000 (11:05 +0800)
commite3940312c14b1857a92e4e282419402e36ac4cc6
tree3e8bf8203309ba4735cb4232b515d50a662d64a3
parent7c24bdc583511d7c98a37d77f5536a005075ff05
gdb:csky add pseudo regs for float and vector regs

In the existing CSKY architecture, there are at most 32 floating
and 16 vector registers. Float registers's count can be configured
as 16 or 32. In the future, the vector registers's count may be
extended to 32.

The bit width of floating-point register is 64bits, and the bit
width of vector register is 128bit.

Special points: in fr0~fr15 and vr0~vr15, each FRx is the lower
64 bits of the corresponding VRx.

Here, we will split each floating-point and vector register to
32bits wide, add the corresponding pseudo registers, and finally
use them for the dwarf registers.

There are 128 pseudo registers in total, s0~s127, including:
1. s0 and s1 correspond to fr0, s4 and s5 correspond to fr1, and so on.
Every two separated pseudo registers correspond to a float register.
2. s0, s1, s2 and s3 correspond to vr0; s4, s5, s6 and s7 correspond to vr1,
and so on. Every four pseudo registers corresponds to a vector register.

Therefore, in s64~s127, there are general registers that are not actually
used. This part is to prepare for the expansion of vector registers to 32

Therefore, in s64~s127, half of the registers are actually unused. This
part is to prepare for the expansion of the vector register to 32.
gdb/csky-tdep.c
gdb/csky-tdep.h