[PATCH 10/79] [Backport to 15] Relax OpenCL extended instruction restrictions (#1755)
authorStanley Gambarin <stanley.gambarin@intel.com>
Thu, 8 Dec 2022 15:01:41 +0000 (07:01 -0800)
committerAndreas Beckmann <anbe@debian.org>
Thu, 14 Mar 2024 19:01:08 +0000 (20:01 +0100)
commit4d131c596d317279a6ce1f5a877768e79a088547
tree6f6a8ac14f97eda6ca85cf9df5316fa24d300fef
parentf909c8ae621e0bc532028324b0cb1dce7c4c9ab6
[PATCH 10/79] [Backport to 15] Relax OpenCL extended instruction restrictions (#1755)

* [Backport to 15] Relax OpenCL extended instruction restrictions (#1724)

When VectorAnyINTEL capability is enabled, OpenCL extended instructions
are able to work on vector types with any number of components greater
then or equal to 2.

* [Backport to 15] Translate LLVM intrinsics into native_* OpenCL instructions (#1729)

When an intrinsic function is called with `afn` flag, it's allowed to
substitute an approximate calculations. So the translator can emit
native versions of OpenCL extended instructions.

Co-authored-by: Victor Mustya <victor.mustya@intel.com>
Gbp-Pq: Name 0010-Backport-to-15-Relax-OpenCL-extended-instruction-res.patch
lib/SPIRV/SPIRVUtil.cpp
lib/SPIRV/SPIRVWriter.cpp
test/llvm-intrinsics/sqrt.ll
test/lower-non-standard-vec-intrinsic-with-ext.ll [new file with mode: 0644]