tlively added inline comments.
================ Comment at: clang/lib/CodeGen/CGBuiltin.cpp:18373-18374 + llvm::Type *SrcT = Vec->getType(); + llvm::Type *TruncT = + FixedVectorType::get(llvm::IntegerType::get(getLLVMContext(), 32), 4); + Function *Callee = CGM.getIntrinsic(IntNo, {TruncT, SrcT}); ---------------- This can be `ConvertType(E->getType())` to calculate the LLVM type from the clang type for the call. However, it would be even better to not make these intrinsics polymorphic. ================ Comment at: llvm/include/llvm/IR/IntrinsicsWebAssembly.td:218-219 +def int_wasm_relaxed_trunc_signed: + Intrinsic<[llvm_anyvector_ty], + [llvm_anyvector_ty], + [IntrNoMem, IntrSpeculatable]>; ---------------- Since these intrinsics only need to work with a single set of types each, it would be simpler to specify those types rather than make the intrinsics polymorphic. See the definition of `int_wasm_q15mulr_sat_signed` for an example. That would allow you to drop the type arguments from `CGM.getIntrinsic()` in CGBuiltin.cpp. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D112186/new/ https://reviews.llvm.org/D112186 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits