Nicola added inline comments.
================ Comment at: clang/include/clang/Basic/OpenCLBuiltins.td:140-144 +class RoundingModes<Type _Ty1, Type _Ty2> { + list<string> Modes = !if(!or(_Ty1.HasRounding, _Ty2.HasRounding), + ["", "_rte", "_rtz", "_rtp", "_rtn"], + [""]); +} ---------------- I think the CL standard (1.2, section 6.2.3.2) specifies that RoundingModes should be available on all convert_ functions, not only selectively based on types: "Conversions may have an optional rounding mode modifier described in table 6.6. " ================ Comment at: clang/include/clang/Basic/OpenCLBuiltins.td:211-212 + def float_t : Type<"float", QualType<"field", "FloatTy">>; + def double_t : Type<"double", QualType<"field", "DoubleTy">>; + def half_t : Type<"half", QualType<"field", "HalfTy">>; +} ---------------- Can half and double types and builtins be made dependent on extensions or configurable? The half datatype needs the cl_khr_fp16 extension, while double needs CL_DEVICE_DOUBLE_FP_CONFIG or cl_khr_fp64 CHANGES SINCE LAST ACTION https://reviews.llvm.org/D60763/new/ https://reviews.llvm.org/D60763 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits