On 01/11/17 17:55, Richard Earnshaw (lists) wrote: > > Sorry for the delay getting around to this. > > I just tried this patch and found that it doesn't apply. Furthermore, > there's not enough context in the rejected hunks for me to be certain > which patterns you're trying to fix up. > > Could you do an update please? >
Sure, I just gave up pinging, as we are rather late in stage 3 already... So the current status is this: I have the invalid code issue here; it is independent of the optimization issues: [PATCH, ARM] correctly encode the CC reg data flow https://gcc.gnu.org/ml/gcc-patches/2016-12/msg01562.html Then I have the patch for splitting the most important 64bit patterns here: [PATCH, ARM] Further improve stack usage on sha512 (PR 77308) https://gcc.gnu.org/ml/gcc-patches/2016-11/msg02796.html and the follow-up patch that triggered the invalid code here: [PATCH, ARM] Further improve stack usage in sha512, part 2 (PR 77308) https://gcc.gnu.org/ml/gcc-patches/2016-12/msg01563.html In the last part I had initially this hunk, - operands[2] = gen_lowpart (SImode, operands[2]); + if (can_create_pseudo_p ()) + operands[2] = gen_reg_rtx (SImode); + else + operands[2] = gen_lowpart (SImode, operands[2]); As Wilco pointed out that the else part is superfluous, I already removed the gen_lowpart stuff locally. All three parts should apply to trunk, only the last part depends on both earlier patches. Thanks Bernd.