================
@@ -685,7 +685,28 @@ static mlir::Value emitCommonNeonBuiltinExpr(
mlir::Value result = cgf.getBuilder().createXor(loc, ops[0], ops[1]);
return cgf.getBuilder().createBitcast(result, ty);
}
- case NEON::BI__builtin_neon_vaddhn_v:
+ case NEON::BI__builtin_neon_vaddhn_v: {
+ cir::VectorType srcTy =
+ cgf.getBuilder().getExtendedOrTruncatedElementVectorType(
+ vTy, /*isExtended=*/true, /*isSigned=*/false);
----------------
banach-space wrote:
I see signed and unsigned variants of these builtins:
* https://developer.arm.com/architectures/instruction-sets/intrinsics/vaddhn_u32
* https://developer.arm.com/architectures/instruction-sets/intrinsics/vaddhn_s32
Is it correct to pass `/*isSigned=*/false)`?
https://github.com/llvm/llvm-project/pull/204989
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits