mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-17 07:53:51 +08:00
aarch64: Limit Rt register number for LS64 load/store instructions
Atomic 64-byte load/store instructions limit Rt register number to values matching below condition (register <Xt> number must be even and <= 22): if Rt<4:3> == '11' || Rt<0> == '1' then UNDEFINED; This patch adds check if Rt fulfills above requirement. For more details regarding atomic 64-byte load/store instruction for Armv8.7 please refer to Arm A64 Instruction set documentation for Armv8-A architecture profile, see document page 157 for load instruction, and pages 414-418 for store instructions of [0]. [0]: https://developer.arm.com/docs/ddi0596/i
This commit is contained in:
@ -201,6 +201,7 @@ enum aarch64_opnd
|
||||
AARCH64_OPND_Rm, /* Integer register as source. */
|
||||
AARCH64_OPND_Rt, /* Integer register used in ld/st instructions. */
|
||||
AARCH64_OPND_Rt2, /* Integer register used in ld/st pair instructions. */
|
||||
AARCH64_OPND_Rt_LS64, /* Integer register used in LS64 instructions. */
|
||||
AARCH64_OPND_Rt_SP, /* Integer Rt or SP used in STG instructions. */
|
||||
AARCH64_OPND_Rs, /* Integer register used in ld/st exclusive. */
|
||||
AARCH64_OPND_Ra, /* Integer register used in ddp_3src instructions. */
|
||||
|
Reference in New Issue
Block a user