[PATCH 85/85] [Backport to 15] Handle OpVectorShuffle with differing vector sizes...
authorSven van Haastregt <sven.vanhaastregt@arm.com>
Wed, 6 Mar 2024 15:18:41 +0000 (16:18 +0100)
committerAndreas Beckmann <anbe@debian.org>
Thu, 14 Mar 2024 19:01:08 +0000 (20:01 +0100)
commitef32b33aa16c05f7e6241e10ecbcae502cd70da7
tree56a03c264db356b536f035c4fa77a7b13ed45f84
parentcaeb0fb926799a1b91396ecd1aab48633d58a055
[PATCH 85/85] [Backport to 15] Handle OpVectorShuffle with differing vector sizes (#2391) (#2412)

The SPIR-V to LLVM conversion would bail out when encountering an
`OpVectorShuffle` whose vector operands differ in size.  SPIR-V
allows differing vector sizes, but LLVM's `shufflevector` does not.

Remove the assert and insert an additional `shufflevector` to align
the vector operands when needed.

(cherry picked from commit 3df5e38250a6d7c50b58fbb0393be81d909487ff)

Gbp-Pq: Name 0085-Backport-to-15-Handle-OpVectorShuffle-with-differing.patch
lib/SPIRV/SPIRVInternal.h
lib/SPIRV/SPIRVReader.cpp
lib/SPIRV/SPIRVUtil.cpp
lib/SPIRV/libSPIRV/SPIRVInstruction.h
test/OpVectorShuffle.spvasm [new file with mode: 0644]