nir: add fcanonicalize and allow more optimizations with dxvk float controls
This MR adds a
fcanonicalize instruction which can be used to allow some optimizations for exact instructions and dxvk float controls without writing several variants of the optimization.
It also restores the behaviour before f097247d for several optimizations and enables some optimizations with relaxed float controls by adding a new
! prefix (similar to the existing
~) and using
fcanonicalize and some additions to the search helpers.