There are some regressions for PPC here (even if we keep the 'subf', the 'extsw' is unnecessary, isn't it?). I'm hoping we can address that as a follow-up rather than make this change dependent on fixing that.
As noted in the code comment, transforming this in the other direction might require a separate transform here in CGP given the block-at-a-time DAG constraint.
I wouldn't worry about this sign extension. This is something that happens all over the PPC back end and we have a patch in the pipeline that will eliminate it.