PR binutils/23013: Assembler not recognizing 3-opt dcbt instruction form on Power systems

Peter Bergner bergner@vnet.ibm.com
Fri Mar 30 02:40:00 GMT 2018


On 3/29/18 8:29 PM, Alan Modra wrote:
> On Thu, Mar 29, 2018 at 02:56:24PM -0500, Peter Bergner wrote:
> Write the above line as
> 
> 	  ppc_cpu |= (PPC_OPCODE_PPC | PPC_OPCODE_ISEL | PPC_OPCODE_64

Hmmm.... or maybe the following is more readable?

Peter

diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index ff76221..a1a9000 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -1403,7 +1403,11 @@ 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_parse_cpu (ppc_cpu, &sticky, "power8");
       else if (strncmp (default_os, "aix", 3) == 0
               && default_os[3] >= '4' && default_os[3] <= '9')
        ppc_cpu |= PPC_OPCODE_COMMON;



More information about the Binutils mailing list