================
@@ -302,17 +303,26 @@ deriveNeonSISDIntrinsicOperandTypes(CIRGenFunction &cgf,
unsigned modifier,
else if (vecArgTy && !(modifier & AddRetType))
funcResTy = wrapAsVector(resultTy);
- // When VectorizeArgTypes is set, wrap every operand that has the same
- // scalar type as arg0 into a vector. This covers intrinsics with multiple
- // data operands of the same type (e.g. vsri takes two data operands,
- // both of which must be wrapped into the same vector type).
+ // LLVMExtendedType<0> preserves the result vector's lane count while
----------------
iamvickynguyen wrote:
I agree that we should rename the `WidenArgs` flag to be more explicit because
the argument type is derived from the return type. A note is that in some cases
like `vraddhn`, this applies to 2 arguments, not just argument 0. So I'd
suggest rename to `ArgAsWidenedRetType` or similar.
https://github.com/llvm/llvm-project/pull/209389
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits