>>>>The current infrastructure for vector names generation works only for >>>>function definition. Ideally we should implement it also for function >>>>definition provided by external libraries
Right, we need to fix that to support #pragma omp declare simd on function declaration as well to enable multiple module compilation via .h files for simd functions. Thanks, Xinmin -----Original Message----- From: Francesco Petrogalli via Phabricator [mailto:[email protected]] Sent: Tuesday, March 21, 2017 6:13 AM To: [email protected]; [email protected]; [email protected]; [email protected]; [email protected] Cc: Tian, Xinmin <[email protected]>; [email protected]; [email protected]; [email protected]; [email protected]; [email protected] Subject: [PATCH] D30739: [OpenMP] "declare simd" for AArch64 Advanced SIMD. fpetrogalli added a comment. In https://reviews.llvm.org/D30739#706292, @Hahnfeld wrote: > In principal looks good to me although I'm not really familiar with this > part. Does that work for you if you have the `declare simd` in a header file > and the implementation in another file? On x86_64 I currently get: The current infrastructure for vector names generation works only for function definition. Ideally we should implement it also for function definition provided by external libraries. > remark: loop not vectorized: call instruction cannot be vectorized > > > But that seems to be a general problem inside LLVM's LoopVectorize pass... AFAIK, none of the machinery required in LLVM to expose the mangled names in the vectorizer is present in trunk. There is a patch for x86 under review that does that: https://reviews.llvm.org/D22792 https://reviews.llvm.org/D30739 _______________________________________________ cfe-commits mailing list [email protected] http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
