Roger, this is the follow-up I offered. 1/2 fixes the arm cost of the high-part multiply for both signs, and 2/2 is your smul_highpart spelling. They apply on top of the SMMUL/SMMLA patch in this thread, and the kernel loses a further 96 bytes.
Dominic P (2): arm: price the high part of a 32x32 multiply arm: write the signed high-part multiply with smul_highpart gcc/config/arm/arm.cc | 39 ++++++++++++-------------- gcc/config/arm/arm.md | 16 +++-------- gcc/testsuite/gcc.target/arm/smmul-1.c | 8 +++--- 3 files changed, 26 insertions(+), 37 deletions(-) -- 2.55.0
