if (ppc_opts[i].sticky)
{
retain_flags |= ppc_opts[i].sticky;
- if ((ppc_cpu & ~(PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX
- | PPC_OPCODE_SPE | PPC_OPCODE_ANY)) != 0)
+ if ((ppc_cpu & ~(ppc_cpu_t) (PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX
+ | PPC_OPCODE_SPE | PPC_OPCODE_ANY)) != 0)
break;
}
ppc_cpu = ppc_opts[i].cpu;
if ((new_cpu = ppc_parse_cpu (dialect, arg)) != 0)
dialect = new_cpu;
else if (strcmp (arg, "32") == 0)
- dialect &= ~PPC_OPCODE_64;
+ dialect &= ~(ppc_cpu_t) PPC_OPCODE_64;
else if (strcmp (arg, "64") == 0)
dialect |= PPC_OPCODE_64;
else
arg = end;
}
- if ((dialect & ~PPC_OPCODE_64) == 0)
+ if ((dialect & ~(ppc_cpu_t) PPC_OPCODE_64) == 0)
{
if (info->mach == bfd_mach_ppc64)
dialect |= PPC_OPCODE_64;
else
- dialect &= ~PPC_OPCODE_64;
+ dialect &= ~(ppc_cpu_t) PPC_OPCODE_64;
/* Choose a reasonable default. */
dialect |= (PPC_OPCODE_PPC | PPC_OPCODE_COMMON | PPC_OPCODE_601
| PPC_OPCODE_ALTIVEC);
const struct powerpc_opcode *opcode;
const struct powerpc_opcode *opcode_end;
unsigned long op;
- ppc_cpu_t dialect_orig = dialect;
status = (*info->read_memory_func) (memaddr, buffer, 4, info);
if (status != 0)
if ((insn & opcode->mask) != opcode->opcode
|| (opcode->flags & dialect) == 0
- || (opcode->deprecated & dialect_orig) != 0)
+ || (dialect != ~(ppc_cpu_t) PPC_OPCODE_ANY
+ && (opcode->deprecated & dialect) != 0))
continue;
/* Make two passes over the operands. First see if any of them
if ((dialect & PPC_OPCODE_ANY) != 0)
{
- dialect = ~PPC_OPCODE_ANY;
+ dialect = ~(ppc_cpu_t) PPC_OPCODE_ANY;
goto again;
}