================
@@ -46,12 +46,18 @@ enum {
   // the intrinsic's .td.
   ArgAsWidenedRetType = (1 << 9),
 
+  // The immediate operand is `LLVMMatchType<0>` in the intrinsic
+  // definition, so it is vectorized like a data operand (e.g. the `_n_`
+  // scalar saturating shifts: vqshlb_n_s8, vqshlub_n_s8, ...).
+  // ClangIR-only; classic code-gen derives this from the intrinsic's .td.
+  VectorizeImmArg = (1 << 10),
+
   Vectorize1ArgType = Add1ArgType | VectorizeArgTypes,
   VectorRet = AddRetType | VectorizeRetType,
-  VectorRetGetArgs01 =
-      AddRetType | Add2ArgTypes | VectorizeRetType | VectorizeArgTypes,
-  FpCmpzModifiers =
-      AddRetType | VectorizeRetType | Add1ArgType | InventFloatType
+  VectorRetGetArgs01 = AddRetType | Add2ArgTypes | VectorizeRetType |
+      VectorizeArgTypes,
+  FpCmpzModifiers = AddRetType | VectorizeRetType | Add1ArgType |
+      InventFloatType
----------------
iamvickynguyen wrote:

Note: adding `VectorizeImmArg` above triggered clang-format v23 to reformat 
these.

https://github.com/llvm/llvm-project/pull/221507
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to