aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorPeter Bergner <bergner@vnet.ibm.com>2018-05-21 17:31:07 -0500
committerPeter Bergner <bergner@vnet.ibm.com>2018-05-21 17:31:07 -0500
commit98553ad33eba6353b0e4181ae51dfdf2d7e652ac (patch)
tree9ecea4fa3f1729ae33534493394bef05f3c8c1de /gas/config
parent122b53ea6a99c8811fb9cb84869b949b1ac55b22 (diff)
downloadgdb-98553ad33eba6353b0e4181ae51dfdf2d7e652ac.zip
gdb-98553ad33eba6353b0e4181ae51dfdf2d7e652ac.tar.gz
gdb-98553ad33eba6353b0e4181ae51dfdf2d7e652ac.tar.bz2
Remove fake operand handling for extended mnemonics.
opcodes/ * ppc-opc.c (insert_bat, extract_bat, insert_bba, extract_bba, insert_rbs, extract_rbs, insert_xb6s, extract_xb6s): Delete functions. (insert_bab, extract_bab, insert_btab, extract_btab, insert_rsb, extract_rsb, insert_xab6, extract_xab6): New functions. (BAT, BBA VBA RBS XB6S): Delete macros. (BTAB, BAB, VAB, RAB, RSB, XAB6): New macros. (BB, BD, RBX, XC6): Update for new macros. (powerpc_opcodes) <evmr, evnot, vmr, vnot, crnot, crclr, crset, crmove, not, not., mr, mr., xxspltd, xxswapd, xvmovsp, xvmovdp, e_crnot, e_crclr, e_crset, e_crmove>: Likewise. * ppc-dis.c (print_insn_powerpc): Delete handling of fake operands. include/ * opcode/ppc.h (PPC_OPERAND_FAKE): Delete macro. gas/ * config/tc-ppc.c (md_assemble): Delete handling of fake operands. * testsuite/gas/ppc/common.s (crmove, cror, or., or, nor., nor): Add test of extended mnemonics. * testsuite/gas/ppc/common.d: Likewise. Don't match instruction offset. * testsuite/gas/ppc/spe.s (evor, evnor): Add test of extended mnemonics. * testsuite/gas/ppc/spe.d: Likewise. Don't match instruction offset.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-ppc.c16
1 files changed, 2 insertions, 14 deletions
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 22ca332..92e5eb5 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -2807,11 +2807,9 @@ md_assemble (char *str)
}
}
- /* Compute the number of expected operands.
- Do not count fake operands. */
+ /* Compute the number of expected operands. */
for (num_operands_expected = 0, i = 0; opcode->operands[i]; i ++)
- if ((powerpc_operands [opcode->operands[i]].flags & PPC_OPERAND_FAKE) == 0)
- ++ num_operands_expected;
+ ++ num_operands_expected;
/* If there are fewer operands in the line then are called
for by the instruction, we want to skip the optional
@@ -2844,16 +2842,6 @@ md_assemble (char *str)
}
errmsg = NULL;
- /* If this is a fake operand, then we do not expect anything
- from the input. */
- if ((operand->flags & PPC_OPERAND_FAKE) != 0)
- {
- insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg);
- if (errmsg != (const char *) NULL)
- as_bad ("%s", errmsg);
- continue;
- }
-
/* If this is an optional operand, and we are skipping it, just
insert a zero. */
if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0