[SYCL] tighten known_identity to finite_math macro (#18247)
Some time ago we fixed a bug in `sycl::known_identity` where it was
incorrectly using `std::numeric_limits<T>::infinity()` even in cases
where `::infinity()` should not have been available. At the time, the
fix was to simply test for `__FAST_MATH__`.
That worked, but was not ideal. Now we are tightening this to use the
`__FINITE_MATH_ONLY__` macro which is more accurate.
see https://github.com/intel/llvm/issues/13813
`__FINITE_MATH_ONLY__` will be set when both the `-fno-honor-infinities`
and `-fno-honor-nans` flags are used. It was felt by the FE team that
there is no reasonable case where one of the flags would be used without
the other and therefore `__FINITE_MATH_ONLY__` is sufficient for this
problem ( and superior to the `__FAST_MATH__` macro we were using
before).
---------
Signed-off-by: Chris Perkins <chris.perkins@intel.com>