arsenm added inline comments.
================ Comment at: clang/test/CodeGenHIP/printf.cpp:18 +} + +// CHECK: [[BEGIN:%.*]] = call i64 @__ockl_printf_begin(i64 0) ---------------- sameerds wrote: > sameerds wrote: > > arsenm wrote: > > > This could use a lot more testcases. Can you add some half, float, and > > > double as well as pointers (including different address spaces) and > > > vectors? > > I am not sure what exactly should be tested. The validity of this expansion > > depends on the signature of the builtin printf function. Since printf is > > variadic, the "default argument promotions" in the C/C++ spec guarantee > > that the arguments are 32/64 bit integers or doubles if they are not > > pointers. The printf signature as well as the device library functions are > > defined using only generic pointers, so the address space does not matter. > > Non-scalar arguments are not supported, which is checked by another test > > using a struct. I could add a vector there, but that doesn't seem to be > > adding any value. > Bump! The address space shouldn't matter, but it's good to make sure it doesn't. Vector arguments are 100% supported in OpenCL printf, and are not subject to argument promotion. You have to use a width modifier for them though. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D71365/new/ https://reviews.llvm.org/D71365 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits