https://gcc.gnu.org/bugzilla/show_bug.cgi?id=32497

--- Comment #6 from Valeriy E. Ushakov <uwe at netbsd dot org> ---
(In reply to Oleg Endo from comment #5)
> (In reply to Valeriy E. Ushakov from comment #4)
> 
> >         GEN_INT (-4294967296L))));
> 
> >         GEN_INT (4294967295L)),
> 
> I think those should be -4294967296LL and 4294967295LL.

Right, with the patch above (committed in NetBSD) I get the following diff
between insn-emit.c:

-       GEN_INT (-4294967296L))));
+       GEN_INT (HOST_WIDE_INT_CONSTANT (-4294967296)))));

... etc

so, effectively, it removes the L/LL decision from genemit.c and delays it
until insn-emit.c is compiled.


> Do you have that build setup at hand to try this out?

I guess the easiest way to get out NetBSD source tree and to cross-build say
NetBSD/landisk on a 64 bit host (any linux/amd64 will do, osx probably too, but
there were a couple of pitfalls recently).

You can grab sources from e.g.
http://ftp.netbsd.org/pub/NetBSD/NetBSD-7.0.1/source/sets/ and consult
BUILDING, but in a nutshell something like

./build.sh -m landisk -j8 -u -U distribution

(where -j8 is the amount of parallel jobs you want).
You can mail me privately if you need any help with this.


> BTW, those two patterns do not exist anymore in trunk, as SH5 stuff has been
> removed.

Yes, but that just masks the bug that L/LL selection is done in wrong context.

Reply via email to