[Ideas] Raising architecture-specific intrinsic operations into generic operations

7 views
Skip to first unread message

Alvin Lai

unread,
Mar 26, 2015, 1:29:00 PM3/26/15
to native-cli...@googlegroups.com
Hi, all

PNaCl is a Portable language to let same source code running on different environment.

Do you think that there is a need of raising architecture-specific intrinsic operations into generic LLVM IR operations, such as SSE, AVX or other SIMD instruction set into shufflevector IR? Those code can be excuted on different architectures without modifying the source code by the developers. I think it's a great help for developers to adapt their legacy code to that PNaCl supports. I have no idea whether current PNaCl has this feature or not. Thank you.

Best regards.

Alvin Lai
 

JF Bastien

unread,
Mar 26, 2015, 5:48:25 PM3/26/15
to native-cli...@googlegroups.com
Hi Alvin,

We want to avoid exposing architecture-specific intrinsics in PNaCl. We'd rather expose basic capabilities that can express what an intrinsic would do. For example, PNaCl does detect shufflevector patterns and lowers them to x86 or ARM shuffles when possible. There's of course room for improvement!

For legacy code, we'd like to translate intrinsics to LLVM IR whenever possible. It may not always give the best performance, but having e.g. xmmintrin.h that "just works" would be cool!

JF

--
You received this message because you are subscribed to the Google Groups "Native-Client-Discuss" group.
To unsubscribe from this group and stop receiving emails from it, send an email to native-client-di...@googlegroups.com.
To post to this group, send email to native-cli...@googlegroups.com.
Visit this group at http://groups.google.com/group/native-client-discuss.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages