[libcxx-commits] [PATCH] D64702: [libcxx: experimental::simd] Support binary operations

Tobias Grosser via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Sun Jul 14 01:04:54 PDT 2019


grosser created this revision.
grosser added reviewers: timshen, mclow.lists.
Herald added a reviewer: EricWF.
Herald added subscribers: christof, bollu.
Herald added a project: libc++.

This adds support for the following binary operations

  simd operator+(simd, simd);
  simd operator-(simd, simd);
  simd operator*(simd, simd);
  simd operator/(simd, simd);
  simd operator%(simd, simd);
  simd operator&(simd, simd);
  simd operator|(simd, simd);
  simd operator^(simd, simd);
  simd operator<<(simd, simd);
  simd operator>>(simd, simd);
  simd operator<<(simd, int);
  simd operator>>(simd, int);

In case the _VecExt storage type is used native vector operations are
directly used.

[This patch likely needs some more work to make it compile in case no vector
 extensions are available. Before I work out all these things by myself, I
 wanted to check if a) tim has already a similar patch in his pipeline,
 b) there are certain conventions I should pay attention to]


Repository:
  rG LLVM Github Monorepo

https://reviews.llvm.org/D64702

Files:
  libcxx/include/experimental/simd
  libcxx/test/std/experimental/simd/simd.operand/default.pass.cpp

-------------- next part --------------
A non-text attachment was scrubbed...
Name: D64702.209713.patch
Type: text/x-patch
Size: 11166 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/libcxx-commits/attachments/20190714/62d70865/attachment.bin>


More information about the libcxx-commits mailing list