* ppc-dis.c (print_insn_powerpc): Correct condition register display.

This commit is contained in:
Alan Modra 2002-11-12 04:03:31 +00:00
parent f8b0dbb817
commit 8b4fa15520
2 changed files with 12 additions and 13 deletions

View File

@ -1,3 +1,7 @@
2002-11-12 Segher Boessenkool <segher@koffie.nl>
* ppc-dis.c (print_insn_powerpc): Correct condition register display.
2002-11-07 Aldy Hernandez <aldyh@redhat.com> 2002-11-07 Aldy Hernandez <aldyh@redhat.com>
* ppc-opc.c (EVUIMM_4): Change bit size to 32. * ppc-opc.c (EVUIMM_4): Change bit size to 32.

View File

@ -54,11 +54,11 @@ powerpc_dialect(info)
dialect |= PPC_OPCODE_BOOKE | PPC_OPCODE_BOOKE64; dialect |= PPC_OPCODE_BOOKE | PPC_OPCODE_BOOKE64;
else else
if ((info->mach == bfd_mach_ppc_e500) if ((info->mach == bfd_mach_ppc_e500)
|| (info->disassembler_options || (info->disassembler_options
&& ( strcmp (info->disassembler_options, "e500") == 0 && ( strcmp (info->disassembler_options, "e500") == 0
|| strcmp (info->disassembler_options, "e500x2") == 0))) || strcmp (info->disassembler_options, "e500x2") == 0)))
{ {
dialect |= PPC_OPCODE_BOOKE dialect |= PPC_OPCODE_BOOKE
| PPC_OPCODE_SPE | PPC_OPCODE_ISEL | PPC_OPCODE_SPE | PPC_OPCODE_ISEL
| PPC_OPCODE_EFS | PPC_OPCODE_BRLOCK | PPC_OPCODE_EFS | PPC_OPCODE_BRLOCK
| PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK | PPC_OPCODE_PMR | PPC_OPCODE_CACHELCK
@ -177,7 +177,7 @@ print_insn_powerpc (memaddr, info, bigendian, dialect)
continue; continue;
if ((dialect & PPC_OPCODE_EFS) && (opcode->flags & PPC_OPCODE_ALTIVEC)) if ((dialect & PPC_OPCODE_EFS) && (opcode->flags & PPC_OPCODE_ALTIVEC))
continue; continue;
/* Make two passes over the operands. First see if any of them /* Make two passes over the operands. First see if any of them
have extraction functions, and, if they do, make sure the have extraction functions, and, if they do, make sure the
@ -262,14 +262,9 @@ print_insn_powerpc (memaddr, info, bigendian, dialect)
cr = value >> 2; cr = value >> 2;
if (cr != 0) if (cr != 0)
(*info->fprintf_func) (info->stream, "4*cr%d", cr); (*info->fprintf_func) (info->stream, "4*cr%d+", cr);
cc = value & 3; cc = value & 3;
if (cc != 0) (*info->fprintf_func) (info->stream, "%s", cbnames[cc]);
{
if (cr != 0)
(*info->fprintf_func) (info->stream, "+");
(*info->fprintf_func) (info->stream, "%s", cbnames[cc]);
}
} }
} }