HsiangKai added a comment. In D100821#2707667 <https://reviews.llvm.org/D100821#2707667>, @rogfer01 wrote:
> I can reproduce the crash above in my computer, so something is definitely > off. > > Looks like we emit this > > case RISCV::BI__builtin_rvv_vmmv_m_b8: > case RISCV::BI__builtin_rvv_vmmv_m_b4: > case RISCV::BI__builtin_rvv_vmmv_m_b2: > case RISCV::BI__builtin_rvv_vmmv_m_b1: > case RISCV::BI__builtin_rvv_vmmv_m_b16: > case RISCV::BI__builtin_rvv_vmmv_m_b32: > case RISCV::BI__builtin_rvv_vmmv_m_b64: > case RISCV::BI__builtin_rvv_vmand_mm_b8: > case RISCV::BI__builtin_rvv_vmand_mm_b4: > case RISCV::BI__builtin_rvv_vmand_mm_b2: > case RISCV::BI__builtin_rvv_vmand_mm_b1: > case RISCV::BI__builtin_rvv_vmand_mm_b16: > case RISCV::BI__builtin_rvv_vmand_mm_b32: > case RISCV::BI__builtin_rvv_vmand_mm_b64: > ID = Intrinsic::riscv_vmand; > IntrinsicTypes = {ResultType, Ops[2]->getType()}; > break; > > But `Ops` has size 2 so this is accessing past the end. I observed the crash > with `clang::RISCV::BI__builtin_rvv_vmmv_m_b1` but I assume it happens with > the other ones as well. > > I think the description of the builtin should be `def : RVVBuiltin<"m", "m", > type_range>;` as these are like unary operations, aren't they? The fix is put in https://reviews.llvm.org/D100819#inline-952584. I will land D100819 <https://reviews.llvm.org/D100819> today. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D100821/new/ https://reviews.llvm.org/D100821 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits