[PATCH] longlong.h: Fix obsolete ARC asm constraints

Marc Glisse marc.glisse at inria.fr
Wed Aug 24 15:23:04 UTC 2016

On Wed, 24 Aug 2016, Claudiu Zissulescu wrote:

> The J-constant was mainly used by Arc 4 architecture for 32-bit integer 
> constants. It got obsoleted once we pushed the new ARCompact 
> architecture to gcc (GCC5.x+). The replace constraint is the Cal which 
> is again a 32 bit constraint fitted for arithmetic ops.

On Wed, 24 Aug 2016, Vlad Zakharov wrote:

> I got inspiration from the following gcc patch:
> https://gcc.gnu.org/ml/gcc-patches/2016-04/msg01964.html
> "J" constraint is rejected with recent gcc, so we have to replace it.

Thanks to both of you. My main concerns were (sorry, I should have stated 
it this way in the first place)

1) Does the patch break things for people using an older compiler? (how 
old?) Is it worth having both versions with an #if on the compiler 

2) Do we need to backport the patch if we ever do a 6.1.2 release?

>From your messages, it seems clear that the answer to 2) is yes. 1) is not 
quite clear yet though. As far as I can tell from gcc's sources, the 
current ARC port was added for gcc-4.9 and already supported "Cal". A 
previous ARC port was obsoleted in gcc-4.6. That usually means the port 
already didn't work so well in previous releases, so it may indeed be 
unnecessary to support the old syntax.

Does that make sense or did I misunderstand something? I'll probably push 
the patch in a few days, when I get the chance.

Marc Glisse

More information about the gmp-devel mailing list