From d0e9a01c1238ed0361a604b3b773071144da5c20 Mon Sep 17 00:00:00 2001 From: Richard Henderson Date: Sat, 8 May 1999 23:31:09 +0000 Subject: [PATCH] * 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. --- gas/ChangeLog | 6 ++++++ gas/config/tc-ppc.c | 12 +++++++++--- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 7e2ecb9cd86..6330a4be7e3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,9 @@ +Sat May 8 23:28:50 1999 Richard Henderson + + * 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. + Thu May 6 23:13:39 1999 Richard Henderson * config/tc-i386.c (i386_immediate): Skip whitespace before diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 8c31ba64153..0270ceb0f13 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; -- 2.30.2