diff options
author | Victor Do Nascimento <victor.donascimento@arm.com> | 2024-01-09 16:22:07 +0000 |
---|---|---|
committer | Victor Do Nascimento <victor.donascimento@arm.com> | 2024-01-15 13:11:48 +0000 |
commit | 2f8890efc521d0477728ade637cb1d03a4aa799d (patch) | |
tree | d32fb9540a2464e35e903be9b90393db34b2db26 /include | |
parent | 9e263f69a77565aab4475bf6b984f09f2b0c6755 (diff) | |
download | gdb-2f8890efc521d0477728ade637cb1d03a4aa799d.zip gdb-2f8890efc521d0477728ade637cb1d03a4aa799d.tar.gz gdb-2f8890efc521d0477728ade637cb1d03a4aa799d.tar.bz2 |
aarch64: rcpc3: Create implicit load/store size calc function
The allowed immediate offsets in integer rcpc3 load store instructions
are not encoded explicitly in the instruction itself, being rather
implicitly equivalent to the amount of data loaded/stored by the
instruction.
This leads to the requirement that this quantity be calculated based on
the number of registers involved in the transfer, either as data
source or destination registers and their respective qualifiers.
This is done via `calc_ldst_datasize (const aarch64_opnd_info *opnds)'
implemented here, using a cumulative sum of qualifier sizes preceding
the address operand in the OPNDS operand list argument.
Diffstat (limited to 'include')
-rw-r--r-- | include/opcode/aarch64.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h index 7c0f7ce..3c1f522 100644 --- a/include/opcode/aarch64.h +++ b/include/opcode/aarch64.h @@ -1858,6 +1858,9 @@ aarch64_sve_dupm_mov_immediate_p (uint64_t, int); extern bool aarch64_cpu_supports_inst_p (aarch64_feature_set, aarch64_inst *); +extern int +calc_ldst_datasize (const aarch64_opnd_info *opnds); + #ifdef DEBUG_AARCH64 extern int debug_dump; |