[clang] [llvm] [SPIRV] Add support for the `SPV_EXT_long_vector` extension (PR #210279)

Juan Manuel Martinez CaamaƱo via cfe-commits cfe-commits at lists.llvm.org
Mon Jul 20 01:35:58 PDT 2026


================
@@ -424,6 +432,94 @@ void validateAccessChain(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
   }
 }
 
+inline void validateVec1Ops(const SPIRVSubtarget &STI, MachineRegisterInfo *MRI,
+                            SPIRVGlobalRegistry &GR, MachineInstr &MI) {
+  // IRTranslator does not believe that rank-1 vectors exist, unlike upstream
+  // LLVM which happily creates <1 x T> vectors. This leads to operations over
+  // <1 x T> vectors getting translated as their scalar counterparts, which is
+  // wrong if we used SPV_EXT_long_vector we to preserve the actual vector-ness.
----------------
jmmartinez wrote:

It looks like the last part of the comment is missing a verb:

_which is wrong if we used SPV_EXT_long_vector we to preserve the actual vector-ness._

https://github.com/llvm/llvm-project/pull/210279


More information about the cfe-commits mailing list