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

Reply via email to