It looks like this one needs overflow checking to pass (-gnato): ACATS should aways be run with -gnato since that's the only way to get the behavior mandated by RM. Why are we running it without it? Is this new? Certainly -gnato was used during validations.
Richard, Arnaud, could you check amongst GNAT experts if for such types (non power of two modulus), it's not worth enabling overflow checks by default now that we have VRP doing non trivial optimisations? People using non power of two modulus are not caring for performance anyway, so having a compliant implementation by default won't harm. Hardly worth writing the code to bother with that given how rare such things are ...