]> git.ipfire.org Git - thirdparty/binutils-gdb.git/commitdiff
Remove unnecessary power9 group terminating nop
authorAlan Modra <amodra@gmail.com>
Wed, 7 Mar 2018 23:47:41 +0000 (10:17 +1030)
committerAlan Modra <amodra@gmail.com>
Wed, 21 Mar 2018 08:57:44 +0000 (19:27 +1030)
Power9 doesn't have a group terminating nop, so we may as well emit a
normal nop for power9.  Not that it matters a great deal, I believe
ori 2,2,0 will be treated exactly as ori 0,0,0 by the hardware.

* config/tc-ppc.c (ppc_handle_align): Don't emit a group
terminating nop for power9.

(cherry picked from commit 3fea0c3b3fe53ea805f1289ec9ff5e785024362f)

gas/ChangeLog
gas/config/tc-ppc.c

index 16660acf807f7da2e86aa25788b5b782cd87aa42..2210d16104ed1e751bbab5513b19e517ec81e496 100644 (file)
@@ -1,3 +1,10 @@
+2018-03-21  Alan Modra  <amodra@gmail.com>
+
+       Apply from master
+       2018-03-08  Alan Modra  <amodra@gmail.com>
+       * config/tc-ppc.c (ppc_handle_align): Don't emit a group
+       terminating nop for power9.
+
 2018-02-28  Nick Clifton  <nickc@redhat.com>
 
        * po/ru.po: Updated Russian translation.
index 35da05c510e5f664368b2f22fa2a0616f86b425c..dbd029540788f2f2449bec60290cbfdf11e5c11b 100644 (file)
@@ -6556,14 +6556,13 @@ ppc_handle_align (struct frag *fragP)
 
       if ((ppc_cpu & PPC_OPCODE_POWER6) != 0
          || (ppc_cpu & PPC_OPCODE_POWER7) != 0
-         || (ppc_cpu & PPC_OPCODE_POWER8) != 0
-         || (ppc_cpu & PPC_OPCODE_POWER9) != 0)
+         || (ppc_cpu & PPC_OPCODE_POWER8) != 0)
        {
-         /* For power6, power7, power8 and power9, we want the last nop to be
-            a group terminating one.  Do this by inserting an rs_fill frag
-            immediately after this one, with its address set to the last nop
-            location.  This will automatically reduce the number of nops in
-            the current frag by one.  */
+         /* For power6, power7, and power8, we want the last nop to
+            be a group terminating one.  Do this by inserting an
+            rs_fill frag immediately after this one, with its address
+            set to the last nop location.  This will automatically
+            reduce the number of nops in the current frag by one.  */
          if (count > 4)
            {
              struct frag *group_nop = xmalloc (SIZEOF_STRUCT_FRAG + 4);
@@ -6578,14 +6577,13 @@ ppc_handle_align (struct frag *fragP)
            }
 
          if ((ppc_cpu & PPC_OPCODE_POWER7) != 0
-             || (ppc_cpu & PPC_OPCODE_POWER8) != 0
-             || (ppc_cpu & PPC_OPCODE_POWER9) != 0)
+             || (ppc_cpu & PPC_OPCODE_POWER8) != 0)
            {
              if (ppc_cpu & PPC_OPCODE_E500MC)
                /* e500mc group terminating nop: "ori 0,0,0".  */
                md_number_to_chars (dest, 0x60000000, 4);
              else
-               /* power7/power8/power9 group terminating nop: "ori 2,2,0".  */
+               /* power7/power8 group terminating nop: "ori 2,2,0".  */
                md_number_to_chars (dest, 0x60420000, 4);
            }
          else