Dont use big/small-int primops on IL32P64 (i.e. Win/x86_64)

This is due to `mpz_*()` functions having @long@ arguments which are
32bit on IL32P64, whereas `Int#` and `Word#` are 64bit wide, causing all
sorts of malfunction due to truncation.

This affects mostly the new big/small-int primops introduced in the
course of #8647, so when `SIZEOF_W != SIZEOF_LONG` we simply fall back
to using the big/big-int primops.

Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>