[PATCH] Generate more normal LLVM IR for ARM NEON intrinsics

Tim Northover t.p.northover at gmail.com
Tue Aug 27 09:01:24 PDT 2013


Hi,

The attached patches change Clang's CodeGen for ARM NEON intrinsics to
use more normal LLVM operations (and modular intrinsics where
necessary) instead of a single special-purpose one.

The hope is that if LLVM can understand the operations being
performed, it can optimise them, at least in some cases. It will also
allow us to tidy up the ARM backend slightly by removing the original
intrinsics entirely.

All of the features being altered are already tested (albeit under
"REQUIRES: long_tests") so I haven't added any tests here.

Is it OK to commit?

Cheers.

Tim.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0001-ARM-use-vqdmull-and-vqadds-vqsubs-to-implement-vqdml.patch
Type: application/octet-stream
Size: 2504 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130827/8e2616f5/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0002-ARM-Emit-normal-IR-for-vaddhn-vsubhn-NEON-intrinsics.patch
Type: application/octet-stream
Size: 3485 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130827/8e2616f5/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: 0003-ARM-use-natural-IR-for-vmull-operations.patch
Type: application/octet-stream
Size: 2082 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130827/8e2616f5/attachment-0002.obj>


More information about the cfe-commits mailing list