diff --git a/gas/ChangeLog b/gas/ChangeLog index 8a4e15f48ec..0f68aba4a56 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2016-09-21 Richard Sandiford <richard.sandiford@arm.com> + + * config/tc-aarch64.c (parse_neon_operand_type): Delete. + (parse_typed_reg): Call parse_neon_type_for_operand directly. + 2016-09-15 Claudiu Zissulescu <claziss@synopsys.com> * testsuite/gas/arc/textinsnxop.d: New file. diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c index 34fdc53e121..ce8e7132276 100644 --- a/gas/config/tc-aarch64.c +++ b/gas/config/tc-aarch64.c @@ -821,31 +821,6 @@ elt_size: return TRUE; } -/* Parse a single type, e.g. ".8b", leading period included. - Only applicable to Vn registers. - - Return TRUE on success; otherwise return FALSE. */ -static bfd_boolean -parse_neon_operand_type (struct neon_type_el *vectype, char **ccp) -{ - char *str = *ccp; - - if (*str == '.') - { - if (! parse_neon_type_for_operand (vectype, &str)) - { - first_error (_("vector type expected")); - return FALSE; - } - } - else - return FALSE; - - *ccp = str; - - return TRUE; -} - /* Parse a register of the type TYPE. Return PARSE_FAIL if the string pointed by *CCP is not a valid register @@ -889,9 +864,11 @@ parse_typed_reg (char **ccp, aarch64_reg_type type, aarch64_reg_type *rtype, } type = reg->type; - if (type == REG_TYPE_VN - && parse_neon_operand_type (&parsetype, &str)) + if (type == REG_TYPE_VN && *str == '.') { + if (!parse_neon_type_for_operand (&parsetype, &str)) + return PARSE_FAIL; + /* Register if of the form Vn.[bhsdq]. */ is_typed_vecreg = TRUE;