diff options
author | Tamar Christina <tamar.christina@arm.com> | 2018-10-03 18:27:52 +0100 |
---|---|---|
committer | Tamar Christina <tamar.christina@arm.com> | 2018-10-03 18:33:33 +0100 |
commit | 7e84b55d8f973b011f55f604a76c2d1d989d0b6b (patch) | |
tree | 1d860bb0c911056c9fed87fc0b3e46ec30723c91 /opcodes/aarch64-dis.c | |
parent | AArch64: Mark sve instructions that require MOVPRFX constraints (diff) | |
download | binutils-gdb-7e84b55d8f973b011f55f604a76c2d1d989d0b6b.tar.gz binutils-gdb-7e84b55d8f973b011f55f604a76c2d1d989d0b6b.tar.bz2 binutils-gdb-7e84b55d8f973b011f55f604a76c2d1d989d0b6b.zip |
AArch64: Wire through instr_sequence
This patch introduces aarch64_instr_sequence which is a structure similar to IT
blocks on Arm in order to track instructions that introduce a constraint or
dependency on instruction 1..N positions away from the instruction that opened
the block.
The struct is also wired through to the locations that require it.
gas/
* config/tc-aarch64.c (now_instr_sequence):
(*insn_sequence, now_instr_sequence): New.
(output_operand_error_record, do_encode): Add insn_sequence.
(md_assemble): Update insn_sequence.
(try_to_encode_as_unscaled_ldst, fix_mov_imm_insn, fix_insn):
Pass insn_sequence.
* config/tc-aarch64.h (struct aarch64_segment_info_type):
Add insn_sequence.
include/
* opcode/aarch64.h (struct aarch64_instr_sequence): New.
(aarch64_opcode_encode): Use it.
opcodes/
* aarch64-asm.c (aarch64_opcode_encode): Add insn_sequence.
* aarch64-dis.c (insn_sequence): New.
Diffstat (limited to 'opcodes/aarch64-dis.c')
-rw-r--r-- | opcodes/aarch64-dis.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/opcodes/aarch64-dis.c b/opcodes/aarch64-dis.c index f7092b061f3..599727e00bd 100644 --- a/opcodes/aarch64-dis.c +++ b/opcodes/aarch64-dis.c @@ -49,6 +49,9 @@ static int no_aliases = 0; /* If set disassemble as most general inst. */ static int no_notes = 1; /* If set do not print disassemble notes in the output as comments. */ +/* Currently active instruction sequence. */ +static aarch64_instr_sequence insn_sequence ATTRIBUTE_UNUSED; + static void set_default_aarch64_dis_options (struct disassemble_info *info ATTRIBUTE_UNUSED) { |