Folding of 'x86_fp80 -> float -> half' into a direct rounding of
'x86_fp80 -> half' is legal when "unsafe-fp-math" is true, but it has
been suppressed for efficiency reasons because it generally results in
a run-time call rather than native instructions. The same applies for
vector versions, but those foldings have not been suppressed. The same
efficiency aspect applies to folding of 'double -> float -> half', but
those foldings have not been suppressed (scalar or vector).
This patch suppresses the foldings for the 'double' source (scalar and
vector), and for the vector version of 'x86_fp80' (to match the scalar
approach).
This equals to VT.getScalarType() == MVT::f16.