On Thu, Jul 28, 2011 at 03:38:07PM +0800, Carrot Wei wrote: > OK for trunk and 4.6? > > ChangeLog: > 2011-07-28 Wei Guozhi <car...@google.com> > > PR rtl-optimization/49799 > * combine.c (make_compound_operation): Check if the bit field is valid > before change it to bit field extraction.
Looks good to me, handling SHIFT_COUNT_TRUNCATED here isn't IMHO necessary and the checking whether shift count is in the right range matches other rtx simplifications (e.g. in simplify-rtx.c). Though, you should add a testcase, probably /* PR rtl-optimization/49799 */ /* { dg-do assemble } */ /* { dg-options "-O2 -w" } */ plus not sure if for arm you don't want to force this -march=armv7-a into dg-options too or just leave it as is. Jakub