[AArch64] Add handling of bswap operations in rtx costs
authorKyrylo Tkachov <kyrylo.tkachov@arm.com>
Wed, 23 Apr 2014 15:30:53 +0000 (15:30 +0000)
committerKyrylo Tkachov <ktkachov@gcc.gnu.org>
Wed, 23 Apr 2014 15:30:53 +0000 (15:30 +0000)
* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.

From-SVN: r209706

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

index e499b256f6162916721b5797b0eb41bcf3f34d5f..99f4b0d75e1f00818c2915dda8a2fefa75f25536 100644 (file)
@@ -1,3 +1,7 @@
+2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
+
+       * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle BSWAP.
+
 2014-04-23  Kyrylo Tkachov  <kyrylo.tkachov@arm.com>
 
        * config/arm/arm.md (arm_rev16si2): New pattern.
index 68c29aa0da7bd507176066fb4842ec6730b4775d..277c0875032a191c02e6d2b0a060b882a1706769 100644 (file)
@@ -4694,6 +4694,14 @@ aarch64_rtx_costs (rtx x, int code, int outer ATTRIBUTE_UNUSED,
 
       return false;
 
+    case BSWAP:
+      *cost = COSTS_N_INSNS (1);
+
+      if (speed)
+        *cost += extra_cost->alu.rev;
+
+      return false;
+
     case IOR:
       if (aarch_rev16_p (x))
         {