dmgreen accepted this revision. dmgreen added a comment. This revision is now accepted and ready to land.
Thanks. That, er, makes it slightly simpler to review. LGTM ================ Comment at: clang/test/CodeGen/arm-mve-intrinsics/admin.c:1671 +// +float16x8_t test_vuninitializedq_polymorphic_f16(float16x8_t (*funcptr)(void)) +{ ---------------- simon_tatham wrote: > dmgreen wrote: > > I see. This is the "non-evaluating" part. It looks odd from a C perspective. > Slightly, although it's no more odd than `sizeof` or `__typeof` for only > using the type of its argument and not actually evaluating it. But it's what > ACLE specifies! > > (I think, rather like I just mentioned in D70088, that the use case is for > polymorphism within something like a C++ template – if you have the vector > type as a template parameter, this allows you to generate an uninit value of > the same vector type reasonably easily, without having to write your own > system of C++ template specializations that select the right explicitly > suffixed intrinsic.) It's more like a macro than a function call. Makes sense. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D70133/new/ https://reviews.llvm.org/D70133 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits