arm: MVE Don't use lsll for 32-bit shifts scalar
authorAndre Simoes Dias Vieira <andre.simoesdiasvieira@arm.com>
Tue, 7 Apr 2020 14:08:46 +0000 (15:08 +0100)
committerAndre Vieira <andre.simoesdiasvieira@arm.com>
Tue, 7 Apr 2020 14:44:51 +0000 (15:44 +0100)
commit094bc16bb4181a02177e1e14187b4c1c48bef0d5
treee8a7cb86fe68ca84dfb745855ac1d986ab1b93d5
parent9ce780efc4a8f47cf1fbba8e0494e65e87b0749c
arm: MVE Don't use lsll for 32-bit shifts scalar

After fixing the v[id]wdups using the "moving the wrap parameter" into the
top-end of a DImode operand using a shift, I noticed we were using lsll for
32-bit shifts in scalars, where we don't need to, as we can simply do a move,
  which is much better if we don't need to use the bottom part.

We can solve this in a better way, but for now this will do.

gcc/ChangeLog:
2020-04-07  Andre Vieira  <andre.simoesdiasvieira@arm.com>

* config/arm/arm.d (ashldi3): Don't use lsll for constant 32-bit shifts.
gcc/ChangeLog
gcc/config/arm/arm.md