nir: better support and algebraic opts for 16-bit types and other stuff
The first commit probably breaks some drivers that are not expecting shifts to have matching bit sizes in both operands.
The first commit probably breaks some drivers that are not expecting shifts to have matching bit sizes in both operands.