Like I mentioned in https://gcc.gnu.org/ml/gcc/2020-01/msg00157.html,
The shift by a register should be just COSTS_N_INSNS (1) rather than
COSTS_N_INSNS (2). This allows lshift_cheap_p to return true now
and converting switches to be using shift and other like
structures. I noticed this difference when I was working
through PR 93131 and understanding what reassoc could handle.
ChangeLog:
* config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Change
alu.shift_reg to 0.
+2020-01-24 Andrew Pinski <apinski@marvell.com>
+
+ * config/arm/aarch-cost-tables.h (cortexa57_extra_costs): Change
+ alu.shift_reg to 0.
+
2020-01-24 Jeff Law <law@redhat.com>
PR target/13721
0, /* arith. */
0, /* logical. */
0, /* shift. */
- COSTS_N_INSNS (1), /* shift_reg. */
+ 0, /* shift_reg. */
COSTS_N_INSNS (1), /* arith_shift. */
COSTS_N_INSNS (1), /* arith_shift_reg. */
COSTS_N_INSNS (1), /* log_shift. */