9890110856
SM20 was smart enough to reduce shift immediates instead of just detecting i20 overflow and adding copies. This adds helpers to make this easier and propagates the improvement out to all the back-ends. Even though it isn't necessary on Volta+, we might as well do it there for consistency and because smaller shift values are easier to read in the final assembly. Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/34678>