This was suggested by lebedev.ri over on D96534.
This seems like a reasonable change, but I haven't been able to find a test case which actually changes output. All of the obvious ones are caught through the existing ashr constant range trick for signed ranges. Despite this, I think this is reasonable to land if reviewers agree.