From c8187e1509b28d4d9c0bbc2de688144ef80537c0 Mon Sep 17 00:00:00 2001 From: Peter Bergner Date: Wed, 25 Jun 2008 16:49:03 +0000 Subject: [PATCH] gas/ * config/tc-ppc.c (parse_cpu): Handle -m464. (md_show_usage): Likewise. opcodes/ * ppc-dis.c (powerpc_init_dialect): Handle -M464. (print_ppc_disassembler_options): Likewise. * ppc-opc.c (PPC464): Define. (powerpc_opcodes): Add mfdcrux and mtdcrux. --- gas/ChangeLog | 5 +++++ gas/config/tc-ppc.c | 4 +++- opcodes/ChangeLog | 7 +++++++ opcodes/ppc-dis.c | 4 +++- opcodes/ppc-opc.c | 5 +++++ 5 files changed, 23 insertions(+), 2 deletions(-) diff --git a/gas/ChangeLog b/gas/ChangeLog index 8644c7985bf..27a50dc27e0 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2008-06-25 Peter Bergner + + * config/tc-ppc.c (parse_cpu): Handle -m464. + (md_show_usage): Likewise. + 2008-06-24 Eric B. Weddington Add support for ATtiny13A. diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c index 0aec203e562..927ddb67ffc 100644 --- a/gas/config/tc-ppc.c +++ b/gas/config/tc-ppc.c @@ -854,7 +854,8 @@ parse_cpu (const char *arg) || strcmp (arg, "405") == 0) ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_CLASSIC | PPC_OPCODE_403 | PPC_OPCODE_32); - else if (strcmp (arg, "440") == 0) + else if (strcmp (arg, "440") == 0 + || strcmp (arg, "464") == 0) ppc_cpu = (PPC_OPCODE_PPC | PPC_OPCODE_BOOKE | PPC_OPCODE_32 | PPC_OPCODE_440 | PPC_OPCODE_ISEL | PPC_OPCODE_RFMCI); else if (strcmp (arg, "7400") == 0 @@ -1123,6 +1124,7 @@ PowerPC options:\n\ generate code for PowerPC 603/604\n\ -m403, -m405 generate code for PowerPC 403/405\n\ -m440 generate code for PowerPC 440\n\ +-m464 generate code for PowerPC 464\n\ -m7400, -m7410, -m7450, -m7455\n\ generate code for PowerPC 7400/7410/7450/7455\n\ -m750cl generate code for PowerPC 750cl\n")); diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog index 1aa6fa978df..ad39ba9a0b2 100644 --- a/opcodes/ChangeLog +++ b/opcodes/ChangeLog @@ -1,3 +1,10 @@ +2008-06-25 Peter Bergner + + * ppc-dis.c (powerpc_init_dialect): Handle -M464. + (print_ppc_disassembler_options): Likewise. + * ppc-opc.c (PPC464): Define. + (powerpc_opcodes): Add mfdcrux and mtdcrux. + 2008-06-17 Ralf Wildenhues * configure: Regenerate. diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c index de586dc9ad6..5a9f70708a3 100644 --- a/opcodes/ppc-dis.c +++ b/opcodes/ppc-dis.c @@ -85,7 +85,8 @@ powerpc_init_dialect (struct disassemble_info *info) && strstr (info->disassembler_options, "e300") != NULL) dialect |= PPC_OPCODE_E300 | PPC_OPCODE_CLASSIC | PPC_OPCODE_COMMON; else if (info->disassembler_options - && strstr (info->disassembler_options, "440") != NULL) + && (strstr (info->disassembler_options, "440") != NULL + || strstr (info->disassembler_options, "464") != NULL)) dialect |= PPC_OPCODE_BOOKE | PPC_OPCODE_32 | PPC_OPCODE_440 | PPC_OPCODE_ISEL | PPC_OPCODE_RFMCI; else @@ -388,6 +389,7 @@ the -M switch:\n"); fprintf (stream, " e500|e500x2 Disassemble the e500 instructions\n"); fprintf (stream, " e500mc Disassemble the e500mc instructions\n"); fprintf (stream, " 440 Disassemble the 440 instructions\n"); + fprintf (stream, " 464 Disassemble the 464 instructions\n"); fprintf (stream, " efs Disassemble the EFS instructions\n"); fprintf (stream, " ppcps Disassemble the PowerPC paired singles instructions\n"); fprintf (stream, " power4 Disassemble the Power4 instructions\n"); diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c index b5f41115b7a..f9c2059b8ce 100644 --- a/opcodes/ppc-opc.c +++ b/opcodes/ppc-opc.c @@ -1666,6 +1666,7 @@ extract_tbr (unsigned long insn, #define PPC403 PPC_OPCODE_403 #define PPC405 PPC403 #define PPC440 PPC_OPCODE_440 +#define PPC464 PPC440 #define PPC750 PPC #define PPC7450 PPC #define PPC860 PPC @@ -3527,6 +3528,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"lhzxe", X(31,287), X_MASK, BOOKE64, {RT, RA0, RB}}, {"lhepx", X(31,287), X_MASK, E500MC, {RT, RA, RB}}, +{"mfdcrux", X(31,291), X_MASK, PPC464, {RS, RA}}, + {"tlbie", X(31,306), XRTLRA_MASK, PPC, {RB, L}}, {"tlbi", X(31,306), XRT_MASK, POWER, {RA0, RB}}, @@ -3818,6 +3821,8 @@ const struct powerpc_opcode powerpc_opcodes[] = { {"sthxe", X(31,415), X_MASK, BOOKE64, {RS, RA0, RB}}, {"sthepx", X(31,415), X_MASK, E500MC, {RS, RA, RB}}, +{"mtdcrux", X(31,419), X_MASK, PPC464, {RA, RS}}, + {"slbie", X(31,434), XRTRA_MASK, PPC64, {RB}}, {"ecowx", X(31,438), X_MASK, PPC, {RT, RA, RB}}, -- 2.30.2