rs6000: Don't align tiny loops to 32 bytes for POWER9
authorSegher Boessenkool <segher@kernel.crashing.org>
Mon, 5 Mar 2018 19:11:54 +0000 (20:11 +0100)
committerSegher Boessenkool <segher@gcc.gnu.org>
Mon, 5 Mar 2018 19:11:54 +0000 (20:11 +0100)
For POWER4..POWER8 we align loops of 5..8 instructions to 32 bytes
(instead of to 16 bytes) because that executes faster.  This is no
longer the case on POWER9, so we can just as well only align to 16
bytes.

* config/rs6000/rs6000.c (rs6000_loop_align): Don't align tiny loops
to 32 bytes when compiling for POWER9.

From-SVN: r258260

gcc/ChangeLog
gcc/config/rs6000/rs6000.c

index 1d1ef6e850eb1807bec7a27bf37551a9d8eb884e..5630a84a949a5215d579256967bff3ae9d3e6669 100644 (file)
@@ -1,3 +1,8 @@
+2018-03-05  Segher Boessenkool  <segher@kernel.crashing.org>
+
+       * config/rs6000/rs6000.c (rs6000_loop_align): Don't align tiny loops
+       to 32 bytes when compiling for POWER9.
+
 2018-03-05  Jakub Jelinek  <jakub@redhat.com>
 
        PR target/84564
index d0de4b5224d545d67e45c77f9b60c31d35b409b2..5f22b6de5bb55af734393fdb46b970db6be2bb18 100644 (file)
@@ -5333,8 +5333,7 @@ rs6000_loop_align (rtx label)
          || rs6000_tune == PROCESSOR_POWER5
          || rs6000_tune == PROCESSOR_POWER6
          || rs6000_tune == PROCESSOR_POWER7
-         || rs6000_tune == PROCESSOR_POWER8
-         || rs6000_tune == PROCESSOR_POWER9))
+         || rs6000_tune == PROCESSOR_POWER8))
     return 5;
   else
     return align_loops_log;