[AArch64][SVE 22/32] Add qualifiers for merging and zeroing predication

This patch adds qualifiers to represent /z and /m suffixes on
predicate registers.

include/
	* opcode/aarch64.h (AARCH64_OPND_QLF_P_Z): New aarch64_opnd_qualifier.
	(AARCH64_OPND_QLF_P_M): Likewise.

opcodes/
	* aarch64-opc.c (aarch64_opnd_qualifiers): Add entries for
	AARCH64_OPND_QLF_P_[ZM].
	(aarch64_print_operand): Print /z and /m where appropriate.

gas/
	* config/tc-aarch64.c (vector_el_type): Add NT_zero and NT_merge.
	(parse_vector_type_for_operand): Assert that the skipped character
	is a '.'.
	(parse_predication_for_operand): New function.
	(parse_typed_reg): Parse /z and /m suffixes for predicate registers.
	(vectype_to_qualifier): Handle NT_zero and NT_merge.
This commit is contained in:
Richard Sandiford 2016-09-21 16:54:30 +01:00
parent f11ad6bc0f
commit d50c751e00
6 changed files with 82 additions and 4 deletions

View file

@ -315,6 +315,9 @@ enum aarch64_opnd_qualifier
AARCH64_OPND_QLF_V_2D,
AARCH64_OPND_QLF_V_1Q,
AARCH64_OPND_QLF_P_Z,
AARCH64_OPND_QLF_P_M,
/* Constraint on value. */
AARCH64_OPND_QLF_imm_0_7,
AARCH64_OPND_QLF_imm_0_15,