* config/aarch64/aarch64.c (aarch64_rtx_costs): Handle CLRSB, CLZ.
(case UNSPEC): Handle UNSPEC_RBIT.
From-SVN: r212913
+2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ * config/aarch64/aarch64.c (aarch64_rtx_costs): Handle CLRSB, CLZ.
+ (case UNSPEC): Handle UNSPEC_RBIT.
+
2014-07-22 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
* config/aarch64/aarch64.md: Delete UNSPEC_CLS.
return false;
+ case CLRSB:
+ case CLZ:
+ if (speed)
+ *cost += extra_cost->alu.clz;
+
+ return false;
+
case COMPARE:
op0 = XEXP (x, 0);
op1 = XEXP (x, 1);
return false;
}
+
+ if (XINT (x, 1) == UNSPEC_RBIT)
+ {
+ if (speed)
+ *cost += extra_cost->alu.rev;
+
+ return false;
+ }
break;
case TRUNCATE: