[PATCH] Add optimized addmul_1 and submul_1 for IBM z13

Marius Hillenbrand mhillen at linux.ibm.com
Fri Feb 26 15:19:42 UTC 2021

Hi Torbjörn,

On 2/26/21 3:20 PM, Torbjörn Granlund wrote:
> Torbjörn Granlund <tg at gmplib.org> writes:
>   Ehum.  That failure was apparently due to a qemu bug.  Sorry.
> I tested qemu 4.2.0 and qemu 5.2.0.  The latter does not work at all,
> not even for "ls" or "cat".  The former runs submul_1 for a while, but
> ultimately reports an error.  The error is not reproducible.

Thanks for reporting your findings. I have run all tests with my patches
on Z hardware, on CPU generations z13 through z15. Which test case did
you see failing in qemu 4.2.0? devel/anymul or try?

Which distribution and/or image did you try in qemu 5.2.0? That falling
apart is just sad.

> This is on a server system with ECC.  It is either some problems in your
> submul_1, e.g. incorrect handling of callee-saves registers, or an
> uninitialised register or flag, or a bug in qemu.

I'll setup stress testing in QEMU (and more on hardware) and attempt to

In the meantime, I've been working on a software pipelined variant of
addmul_1, which improves significantly over my previous patch. That is C
with inline assembly, which helps somewhat with the increased
complexity. It needs more tuning and stress testing, though.

Marius Hillenbrand
Linux on Z development
IBM Deutschland Research & Development GmbH
Vors. des Aufsichtsrats: Gregor Pillen / Geschäftsführung: Dirk Wittkopp
Sitz der Gesellschaft: Böblingen / Registergericht: Amtsgericht
Stuttgart, HRB 243294

More information about the gmp-devel mailing list