]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
aarch64: Fix build error in aarch64_register_move_cost
authorRichard Henderson <rth@redhat.com>
Fri, 18 Apr 2014 15:55:35 +0000 (08:55 -0700)
committerRichard Henderson <rth@gcc.gnu.org>
Fri, 18 Apr 2014 15:55:35 +0000 (08:55 -0700)
        * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
        to GET_MODE_SIZE, not a reg_class_t.

From-SVN: r209519

gcc/ChangeLog
gcc/config/aarch64/aarch64.c

index 8028d696b68baa7a5c964d8ba54a2a71d7f02d0a..8c762b2f9ef63d9a7de618939cc9800cdf5ea76d 100644 (file)
@@ -1,3 +1,8 @@
+2014-04-18  Richard Henderson  <rth@redhat.com>
+
+       * config/aarch64/aarch64.c (aarch64_register_move_cost): Pass a mode
+       to GET_MODE_SIZE, not a reg_class_t.
+
 2014-04-17  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>
 
        * config/rs6000/vsx.md (vsx_xxmrghw_<mode>): Adjust for
index 4d516661842048a46a8ef7ce545e3be3ee97681e..0d4b26515822f52de905dfce37bd9a9dad58c7c4 100644 (file)
@@ -4568,9 +4568,11 @@ aarch64_address_cost (rtx x ATTRIBUTE_UNUSED,
 }
 
 static int
-aarch64_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
-                           reg_class_t from, reg_class_t to)
+aarch64_register_move_cost (enum machine_mode mode,
+                           reg_class_t from_i, reg_class_t to_i)
 {
+  enum reg_class from = (enum reg_class) from_i;
+  enum reg_class to = (enum reg_class) to_i;
   const struct cpu_regmove_cost *regmove_cost
     = aarch64_tune_params->regmove_cost;
 
@@ -4586,8 +4588,7 @@ aarch64_register_move_cost (enum machine_mode mode ATTRIBUTE_UNUSED,
      secondary reload.  A general register is used as a scratch to move
      the upper DI value and the lower DI value is moved directly,
      hence the cost is the sum of three moves. */
-
-  if (! TARGET_SIMD && GET_MODE_SIZE (from) == 128 && GET_MODE_SIZE (to) == 128)
+  if (! TARGET_SIMD && GET_MODE_SIZE (mode) == 128)
     return regmove_cost->GP2FP + regmove_cost->FP2GP + regmove_cost->FP2FP;
 
   return regmove_cost->FP2FP;