For the f64 case, this gives us a cheaper to materialize 32-bit
constant. It's less obviously a win for f32 and f16. It forces us to
use a VOP3 encoding so it's a neutral code size change.
GlobalISel cases don't work because of the constant-is-copy-to-vgpr
problem.
This makes no sense at all. The sign of APF has nothing to do with the sign of ExpVal. If ExpVal is negative that means that the magnitude of APF is < 1, irrespective of its sign.