Stanislav Manilov
2013-Oct-01 16:14 UTC
[LLVMdev] Implementing the ARM NEON Intrinsics for PowerPC
Hello LLVM Devs, Thanks for helping me previously to cross-compile for ARM, I managed to get a working toolchain and am currently having fun compiling different toy problems and running them on a pandaboard. As part of my research I am trying to implement the ARM NEON Intrinsics in the PowerPC LLVM backend. I am still at the beginning of my efforts and am not yet familiar with either the ARM or the PowerPC backends. After I started investigating the code and found out that in total it is more than 100 kloc for the two backends I thought it is a good idea to ask you for some hints of where I should start from. I have written a small unrelated experimental backend for LLVM before, so I have some experience with the topic. Thanks, - Stan -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131001/e2b014e2/attachment.html>
Hal Finkel
2013-Oct-02 03:14 UTC
[LLVMdev] Implementing the ARM NEON Intrinsics for PowerPC
Stan, Do you mean that you want to emulate the ARM NEON intrinsics on PowerPC? -Hal ----- Original Message -----> > > Hello LLVM Devs, > > > Thanks for helping me previously to cross-compile for ARM, I managed > to get a working toolchain and am currently having fun compiling > different toy problems and running them on a pandaboard. > > As part of my research I am trying to implement the ARM NEON > Intrinsics in the PowerPC LLVM backend. I am still at the beginning > of my efforts and am not yet familiar with either the ARM or the > PowerPC backends. After I started investigating the code and found > out that in total it is more than 100 kloc for the two backends I > thought it is a good idea to ask you for some hints of where I > should start from. > > I have written a small unrelated experimental backend for LLVM > before, so I have some experience with the topic. > > > Thanks, > - Stan > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev >-- Hal Finkel Assistant Computational Scientist Leadership Computing Facility Argonne National Laboratory
Stanislav Manilov
2013-Oct-02 08:54 UTC
[LLVMdev] Implementing the ARM NEON Intrinsics for PowerPC
Hello Hal, I am not very familiar with the DSP capabilities of PowerPC, but I imagine there will be instructions for simple vector operations like vector addition, multiplication, etc. so for these I imagine the implementation would consist of just outputting the correct instruction. However, for NEON instructions like the reciprocal step (see http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0489c/CIHDIACI.html) it is unlikely that there is a corresponding PowerPC vector instruction, so these will need to be emulated, yes. - Stan On 2 October 2013 04:14, Hal Finkel <hfinkel at anl.gov> wrote:> Stan, > > Do you mean that you want to emulate the ARM NEON intrinsics on PowerPC? > > -Hal > > ----- Original Message ----- > > > > > > Hello LLVM Devs, > > > > > > Thanks for helping me previously to cross-compile for ARM, I managed > > to get a working toolchain and am currently having fun compiling > > different toy problems and running them on a pandaboard. > > > > As part of my research I am trying to implement the ARM NEON > > Intrinsics in the PowerPC LLVM backend. I am still at the beginning > > of my efforts and am not yet familiar with either the ARM or the > > PowerPC backends. After I started investigating the code and found > > out that in total it is more than 100 kloc for the two backends I > > thought it is a good idea to ask you for some hints of where I > > should start from. > > > > I have written a small unrelated experimental backend for LLVM > > before, so I have some experience with the topic. > > > > > > Thanks, > > - Stan > > _______________________________________________ > > LLVM Developers mailing list > > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev > > > > -- > Hal Finkel > Assistant Computational Scientist > Leadership Computing Facility > Argonne National Laboratory >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20131002/3bf4cac4/attachment.html>
Alex Rosenberg
2013-Oct-02 13:47 UTC
[LLVMdev] Implementing the ARM NEON Intrinsics for PowerPC
As crazy as this is, the reverse (AltiVec intrinsics on ARM hardware) was working in tree for a while for the common functions. Another approach would be to develop a libTooling tool that helps rewrite processor-specific SIMD code to use some generic SIMD library (a C++1y one?) and provide ports of that library. Alex> On Oct 1, 2013, at 9:14 AM, Stanislav Manilov <stanislav.manilov at gmail.com> wrote: > > Hello LLVM Devs, > > Thanks for helping me previously to cross-compile for ARM, I managed to get a working toolchain and am currently having fun compiling different toy problems and running them on a pandaboard. > > As part of my research I am trying to implement the ARM NEON Intrinsics in the PowerPC LLVM backend. I am still at the beginning of my efforts and am not yet familiar with either the ARM or the PowerPC backends. After I started investigating the code and found out that in total it is more than 100 kloc for the two backends I thought it is a good idea to ask you for some hints of where I should start from. > > I have written a small unrelated experimental backend for LLVM before, so I have some experience with the topic. > > Thanks, > - Stan > _______________________________________________ > LLVM Developers mailing list > LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev