Hi, this splits the *arm_negdi2, *arm_cmpdi_insn and *arm_cmpdi_unsigned also at split1 except for TARGET_NEON and TARGET_IWMMXT. In the new test case the stack is reduced to about 270 bytes, except for neon and iwmmxt, where this does not change anything. This patch depends on [1] and [2] before it can be applied. Bootstrapped and reg-tested on arm-linux-gnueabihf. Is it OK for trunk? Thanks Bernd. [1] https://gcc.gnu.org/ml/gcc-patches/2016-11/msg02796.html [2] https://gcc.gnu.org/ml/gcc-patches/2016-12/msg01562.html