aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorRichard Henderson <rth@redhat.com>1999-05-08 23:31:09 +0000
committerRichard Henderson <rth@redhat.com>1999-05-08 23:31:09 +0000
commitd0e9a01c1238ed0361a604b3b773071144da5c20 (patch)
tree18b2b34b677b67ccbb3bdf04bd1a0e244b25f9d2 /gas/config
parent45c18104f8d2aa81171b89580a3ddbb547161d94 (diff)
downloadgdb-d0e9a01c1238ed0361a604b3b773071144da5c20.zip
gdb-d0e9a01c1238ed0361a604b3b773071144da5c20.tar.gz
gdb-d0e9a01c1238ed0361a604b3b773071144da5c20.tar.bz2
* config/tc-ppc.c (md_parse_option): Recognize -mppc64bridge.
(md_begin): Allow ppc32 insns in ppc64bridge mode. (ppc_insert_operand): Accept SIGNOPT in ppc64 mode.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-ppc.c12
1 files changed, 9 insertions, 3 deletions
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 8c31ba6..0270ceb 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -766,6 +766,11 @@ md_parse_option (c, arg)
ppc_cpu = PPC_OPCODE_PPC;
ppc_size = PPC_OPCODE_64;
}
+ else if (strcmp (arg, "ppc64bridge") == 0)
+ {
+ ppc_cpu = PPC_OPCODE_PPC | PPC_OPCODE_64_BRIDGE;
+ ppc_size = PPC_OPCODE_64;
+ }
/* -mcom means assemble for the common intersection between Power
and PowerPC. At present, we just allow the union, rather
than the intersection. */
@@ -872,6 +877,7 @@ PowerPC options:\n\
-mppc, -mppc32, -m403, -m603, -m604\n\
generate code for Motorola PowerPC 603/604\n\
-mppc64, -m620 generate code for Motorola PowerPC 620\n\
+-mppc64bridge generate code for PowerPC 64, including bridge insns\n\
-mcom generate code Power/PowerPC common instructions\n\
-many generate code for any architecture (PWR/PWRX/PPC)\n\
-mregnames Allow symbolic names for registers\n\
@@ -972,7 +978,8 @@ md_begin ()
if ((op->flags & ppc_cpu) != 0
&& ((op->flags & (PPC_OPCODE_32 | PPC_OPCODE_64)) == 0
- || (op->flags & (PPC_OPCODE_32 | PPC_OPCODE_64)) == ppc_size))
+ || (op->flags & (PPC_OPCODE_32 | PPC_OPCODE_64)) == ppc_size
+ || (ppc_cpu & PPC_OPCODE_64_BRIDGE) != 0))
{
const char *retval;
@@ -1056,8 +1063,7 @@ ppc_insert_operand (insn, operand, val, file, line)
if ((operand->flags & PPC_OPERAND_SIGNED) != 0)
{
- if ((operand->flags & PPC_OPERAND_SIGNOPT) != 0
- && ppc_size == PPC_OPCODE_32)
+ if ((operand->flags & PPC_OPERAND_SIGNOPT) != 0)
max = (1 << operand->bits) - 1;
else
max = (1 << (operand->bits - 1)) - 1;