mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-01-06 12:09:26 +08:00
ae66a8f19e
This patch adds support for the M-profile MVE extension, which includes the following: - New M-profile XML feature m-profile-mve - MVE vector predication status and control register (VPR) - p0 pseudo register (contained in the VPR) - q0 ~ q7 pseudo vector registers - New feature bits - Documentation update Pseudo register p0 is the least significant bits of vpr and can be accessed as $p0 or displayed through $vpr. For more information about the register layout, please refer to [1]. The q0 ~ q7 registers map back to the d0 ~ d15 registers, two d registers per q register. The register dump looks like this: (gdb) info reg all r0 0x0 0 r1 0x0 0 r2 0x0 0 r3 0x0 0 r4 0x0 0 r5 0x0 0 r6 0x0 0 r7 0x0 0 r8 0x0 0 r9 0x0 0 r10 0x0 0 r11 0x0 0 r12 0x0 0 sp 0x0 0x0 <__Vectors> lr 0xffffffff -1 pc 0xd0c 0xd0c <Reset_Handler> xpsr 0x1000000 16777216 d0 0 (raw 0x0000000000000000) d1 0 (raw 0x0000000000000000) d2 0 (raw 0x0000000000000000) d3 0 (raw 0x0000000000000000) d4 0 (raw 0x0000000000000000) d5 0 (raw 0x0000000000000000) d6 0 (raw 0x0000000000000000) d7 0 (raw 0x0000000000000000) d8 0 (raw 0x0000000000000000) d9 0 (raw 0x0000000000000000) d10 0 (raw 0x0000000000000000) d11 0 (raw 0x0000000000000000) d12 0 (raw 0x0000000000000000) d13 0 (raw 0x0000000000000000) d14 0 (raw 0x0000000000000000) d15 0 (raw 0x0000000000000000) fpscr 0x0 0 vpr 0x0 [ P0=0 MASK01=0 MASK23=0 ] s0 0 (raw 0x00000000) s1 0 (raw 0x00000000) s2 0 (raw 0x00000000) s3 0 (raw 0x00000000) s4 0 (raw 0x00000000) s5 0 (raw 0x00000000) s6 0 (raw 0x00000000) s7 0 (raw 0x00000000) s8 0 (raw 0x00000000) s9 0 (raw 0x00000000) s10 0 (raw 0x00000000) s11 0 (raw 0x00000000) s12 0 (raw 0x00000000) s13 0 (raw 0x00000000) s14 0 (raw 0x00000000) s15 0 (raw 0x00000000) s16 0 (raw 0x00000000) s17 0 (raw 0x00000000) s18 0 (raw 0x00000000) s19 0 (raw 0x00000000) s20 0 (raw 0x00000000) s21 0 (raw 0x00000000) s22 0 (raw 0x00000000) s23 0 (raw 0x00000000) s24 0 (raw 0x00000000) s25 0 (raw 0x00000000) s26 0 (raw 0x00000000) s27 0 (raw 0x00000000) s28 0 (raw 0x00000000) s29 0 (raw 0x00000000) s30 0 (raw 0x00000000) s31 0 (raw 0x00000000) q0 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q1 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q2 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q3 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q4 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q5 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q6 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} q7 {u8 = {0x0 <repeats 16 times>}, u16 = {0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0}, u32 = {0x0, 0x0, 0x0, 0x0}, u64 = {0x0, 0x0}, f32 = {0x0, 0x0, 0x0, 0x0}, f64 = {0x0, 0x0}} p0 0x0 0 Built and regtested with a simulator. [1] https://developer.arm.com/documentation/ddi0553/bn Co-Authored-By: Luis Machado <luis.machado@linaro.org> |
||
---|---|---|
.. | ||
arc | ||
arm | ||
i386 | ||
riscv | ||
rs6000 | ||
sparc | ||
aarch64-core.c | ||
aarch64-core.xml | ||
aarch64-fpu.c | ||
aarch64-fpu.xml | ||
aarch64-mte.c | ||
aarch64-mte.xml | ||
aarch64-pauth.c | ||
aarch64-pauth.xml | ||
aarch64-sve.c | ||
btrace-conf.dtd | ||
btrace.dtd | ||
feature_to_c.sh | ||
gdb-target.dtd | ||
gdbserver-regs.xsl | ||
library-list-aix.dtd | ||
library-list-svr4.dtd | ||
library-list.dtd | ||
m68k-core.xml | ||
Makefile | ||
microblaze-core.xml | ||
microblaze-stack-protect.xml | ||
microblaze-with-stack-protect.c | ||
microblaze-with-stack-protect.xml | ||
microblaze.c | ||
microblaze.xml | ||
mips64-cp0.xml | ||
mips64-cpu.xml | ||
mips64-dsp-linux.c | ||
mips64-dsp-linux.xml | ||
mips64-dsp.xml | ||
mips64-fpu.xml | ||
mips64-linux.c | ||
mips64-linux.xml | ||
mips-cp0.xml | ||
mips-cpu.xml | ||
mips-dsp-linux.c | ||
mips-dsp-linux.xml | ||
mips-dsp.xml | ||
mips-fpu.xml | ||
mips-linux.c | ||
mips-linux.xml | ||
nds32-core.xml | ||
nds32-fpu.xml | ||
nds32-system.xml | ||
nds32.c | ||
nds32.xml | ||
nios2-cpu.xml | ||
nios2-linux.xml | ||
nios2.c | ||
nios2.xml | ||
number-regs.xsl | ||
or1k-core.xml | ||
or1k.c | ||
or1k.xml | ||
osdata.dtd | ||
rx.c | ||
rx.xml | ||
s390-acr.xml | ||
s390-core32.xml | ||
s390-core64.xml | ||
s390-fpr.xml | ||
s390-gs-linux64.c | ||
s390-gs-linux64.xml | ||
s390-gs.xml | ||
s390-gsbc.xml | ||
s390-linux32.c | ||
s390-linux32.xml | ||
s390-linux32v1.c | ||
s390-linux32v1.xml | ||
s390-linux32v2.c | ||
s390-linux32v2.xml | ||
s390-linux64.c | ||
s390-linux64.xml | ||
s390-linux64v1.c | ||
s390-linux64v1.xml | ||
s390-linux64v2.c | ||
s390-linux64v2.xml | ||
s390-tdb.xml | ||
s390-te-linux64.c | ||
s390-te-linux64.xml | ||
s390-tevx-linux64.c | ||
s390-tevx-linux64.xml | ||
s390-vx-linux64.c | ||
s390-vx-linux64.xml | ||
s390-vx.xml | ||
s390x-core64.xml | ||
s390x-gs-linux64.c | ||
s390x-gs-linux64.xml | ||
s390x-linux64.c | ||
s390x-linux64.xml | ||
s390x-linux64v1.c | ||
s390x-linux64v1.xml | ||
s390x-linux64v2.c | ||
s390x-linux64v2.xml | ||
s390x-te-linux64.c | ||
s390x-te-linux64.xml | ||
s390x-tevx-linux64.c | ||
s390x-tevx-linux64.xml | ||
s390x-vx-linux64.c | ||
s390x-vx-linux64.xml | ||
sort-regs.xsl | ||
threads.dtd | ||
tic6x-c6xp.c | ||
tic6x-c6xp.xml | ||
tic6x-c62x-linux.xml | ||
tic6x-c64x-linux.xml | ||
tic6x-c64xp-linux.xml | ||
tic6x-core.c | ||
tic6x-core.xml | ||
tic6x-gp.c | ||
tic6x-gp.xml | ||
traceframe-info.dtd | ||
xinclude.dtd | ||
z80-cpu.xml | ||
z80.c | ||
z80.xml |