An OpenCL implementation compiler takes (see specs for 2.2 or 3.0), among others, the following command-line options:
-cl-single-precision-constant-cl-denorms-are-zero-cl-fp32-correctly-rounded-divide-sqrt-cl-opt-disable-cl-mad-enable-cl-no-signed-zeros-cl-unsafe-math-optimizations-cl-finite-math-only-cl-fast-relaxed-math-cl-uniform-work-group-size-cl-no-subgroup-ifp
are these all required by the OpenCL spec to be false by default? If not, do they all have a defined default? Or - does each implementer set its own defaults?