================
@@ -2544,8 +2560,27 @@ CIRGenFunction::emitAArch64BuiltinExpr(unsigned
builtinID, const CallExpr *expr,
case NEON::BI__builtin_neon_vsliq_n_v:
case NEON::BI__builtin_neon_vsra_n_v:
case NEON::BI__builtin_neon_vsraq_n_v:
+ cgm.errorNYI(expr->getSourceRange(),
+ std::string("unimplemented AArch64 builtin call: ") +
+ getContext().BuiltinInfo.getName(builtinID));
+ return mlir::Value{};
case NEON::BI__builtin_neon_vrsra_n_v:
- case NEON::BI__builtin_neon_vrsraq_n_v:
+ case NEON::BI__builtin_neon_vrsraq_n_v: {
+ llvm::StringRef intrName =
+ usgn ? "aarch64.neon.urshl" : "aarch64.neon.srshl";
+ int64_t shiftVal = -getIntValueFromConstOp(ops[2]);
----------------
banach-space wrote:
Didn't we use `shiftAmt` elsewhere? See e.g.
`NEON::BI__builtin_neon_vshrd_n_u64`.
```suggestion
int64_t shitAmt = -getIntValueFromConstOp(ops[2]);
```
https://github.com/llvm/llvm-project/pull/191129
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits