PR binutils/23013: Assembler not recognizing 3-opt dcbt instruction form on Power systems
Gunther Nikl
gnikl@justmail.de
Sun Apr 1 16:21:00 GMT 2018
Hello,
> diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
> index ff76221..e3d5d84 100644
> --- a/gas/config/tc-ppc.c
> +++ b/gas/config/tc-ppc.c
> @@ -1403,7 +1403,14 @@ ppc_set_cpu (void)
> if ((ppc_cpu & ~(ppc_cpu_t) PPC_OPCODE_ANY) == 0)
> {
> if (ppc_obj64)
> - ppc_cpu |= PPC_OPCODE_PPC | PPC_OPCODE_64;
> + if (target_big_endian)
> + ppc_cpu |= PPC_OPCODE_PPC | PPC_OPCODE_64;
> + else
> + /* The minimum supported cpu for 64-bit little-endian is
> power8. */
> + ppc_cpu |= PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64
> + | PPC_OPCODE_POWER4 | PPC_OPCODE_POWER5 |
> PPC_OPCODE_POWER6
> + | PPC_OPCODE_POWER7 | PPC_OPCODE_POWER8
> + | PPC_OPCODE_ALTIVEC | PPC_OPCODE_VSX;
> else if (strncmp (default_os, "aix", 3) == 0
> && default_os[3] >= '4' && default_os[3] <= '9')
> ppc_cpu |= PPC_OPCODE_COMMON;
Don't you need parentheses to not change the logic?
Regards,
Gunther
More information about the Binutils
mailing list