On Sat, Jun 21, 2014 at 10:47 PM, Segher Boessenkool <seg...@kernel.crashing.org> wrote: > All instructions that are "var_shift" for some alternative have the shift > amount as operands[2]. > > This patch introduces an attribute "maybe_var_shift". If that is set to > "yes", the default value of "var_shift" is set based on the operands[2] > value. > > With that, we can merge the var_shift yes/no cases everywhere. Do so. > > Also change some more "i" to "n". > > Bootstrapped and tested on powerpc64-linux, {-m64,-m64/-mtune=power8, > -m32,-m32/-mpowerpc64}, no regressions. Okay to apply? > > > Segher > > > 2014-06-21 Segher Boessenkool <seg...@kernel.crashing.org> > > gcc/ > * config/rs6000/rs6000.md (maybe_var_shift): New define_attr. > (var_shift): Use it. > (rotl<mode>3, *rotlsi3_64, *rotl<mode>3_dot, *rotl<mode>3_dot2, > *rotlsi3_internal4, *rotlsi3_internal5, *rotlsi3_internal6, > *rotlsi3_internal8le, *rotlsi3_internal8be, *rotlsi3_internal9le, > *rotlsi3_internal9be, *rotlsi3_internal10le, *rotlsi3_internal10be, > *rotlsi3_internal11le, *rotlsi3_internal11be, *rotlsi3_internal12le, > *rotlsi3_internal12be, ashl<mode>3, *ashlsi3_64, *ashl<mode>3_dot, > *ashl<mode>3_dot2, lshr<mode>3, *lshrsi3_64, *lshr<mode>3_dot, > *lshr<mode>3_dot2, *ashr<mode>3, *ashrsi3_64, *ashr<mode>3_dot, > *ashr<mode>3_dot2, *rotldi3_internal4, *rotldi3_internal5, > *rotldi3_internal6, *rotldi3_internal7le, *rotldi3_internal7be, > *rotldi3_internal8le, *rotldi3_internal8be, *rotldi3_internal9le, > *rotldi3_internal9be, *rotldi3_internal10le, *rotldi3_internal10be, > *rotldi3_internal11le, *rotldi3_internal11be, *rotldi3_internal12le, > *rotldi3_internal12be, *rotldi3_internal13le, *rotldi3_internal13be, > *rotldi3_internal14le, *rotldi3_internal14be, *rotldi3_internal15le, > *rotldi3_internal15be): Use the new attribute. Merge register and > integer alternatives.
Okay, with the <hH> fix that you also noticed. Thanks, David