gcd_22

Torbjörn Granlund tg at gmplib.org
Sun Aug 18 10:46:35 UTC 2019


Your gcd_22.c triggered a lingering bug in longlong.h:

ARM target which default to Thumb code cannot to the rsc instruction
(reverse subtract with carry).  We will need to write separate
sub_ddmmss for Thumb.

The problem statement is sub_ddmmss (vgtu, d0, 0, u0, 0, v0) which just
is there to generate a mask.

(We may want to add specific support for that idiom in many sub_ddmmss;
subtract-with-borrow rx,rx,rx would work for any platform.  We could do
that for the ARM sub_ddmmss as a stop-gap fix, hiding this bug.  But I
think I prefer a proper fix.  C seems to definevarious __thumb symbobls
for our needs.)


-- 
Torbjörn
Please encrypt, key id 0xC8601622


More information about the gmp-devel mailing list