[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
craig.topper added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:836 + clang::CharUnits Align = + CGM.getNaturalTypeAlignment(getContext().getSizeType()); + llvm::Value *V; I don't think this alignment is correct. A vint16mf4_t creates an alloca with align of 2 and vint8mf4_t creates an alloca with an align of 1. So I think the store here needs to match the alignment you would get for the type we're storing. This is an issue in the earlier vlseg patch as well. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
This revision was automatically updated to reflect the committed changes. Closed by commit rG593bf9b4ded3: [Clang][RISCV] Implement vlseg and vlsegff. (authored by HsiangKai). Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 Files: clang/include/clang/Basic/IdentifierTable.h clang/include/clang/Basic/riscv_vector.td clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsegff.c clang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c clang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c clang/utils/TableGen/RISCVVEmitter.cpp ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
craig.topper accepted this revision. craig.topper added a comment. This revision is now accepted and ready to land. LGTM Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
HsiangKai added a comment. Ping. Is it possible to land these Zvlsseg patches before LLVM 13 branch created? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
HsiangKai updated this revision to Diff 354117. HsiangKai added a comment. Split vlseg and vlseg_ff tests in two different files. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 Files: clang/include/clang/Basic/IdentifierTable.h clang/include/clang/Basic/riscv_vector.td clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlsegff.c clang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c clang/test/CodeGen/RISCV/rvv-intrinsics/vlsegff.c clang/utils/TableGen/RISCVVEmitter.cpp ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
rogfer01 added a comment. Do you think you can split `vlseg` and `vlseg_ff` tests in two different files? So we (potentially) reduce the test latency by half in multicore systems. Other than this, LGTM. We're a bit split in https://github.com/riscv/rvv-intrinsic-doc/issues/95 However there are mechanisms to assist in any transition should we be able to implement in the future alternative interfaces that we prefer over these ones. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
HsiangKai updated this revision to Diff 349754. HsiangKai added a comment. Address comments. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 Files: clang/include/clang/Basic/IdentifierTable.h clang/include/clang/Basic/riscv_vector.td clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c clang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c clang/utils/TableGen/RISCVVEmitter.cpp ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
craig.topper added inline comments. Comment at: clang/include/clang/Basic/riscv_vector.td:807 + // intrinsic: (ptr, vl) + SmallVector Operands = {Ops[NF], Ops[NF + 1]}; + llvm::Function *F = CGM.getIntrinsic(ID, IntrinsicTypes); This can be a `llvm::Value Operands[] =` I think? Comment at: clang/include/clang/Basic/riscv_vector.td:877 + // intrinsic: (ptr, vl) + SmallVector Operands = {Ops[NF], Ops[NF + 2]}; + Value *NewVL = Ops[NF + 1]; This can be a `llvm::Value Operands[] =` I think? Comment at: clang/utils/TableGen/RISCVVEmitter.cpp:441 BuiltinStr = "q" + utostr(Scale.getValue()) + BuiltinStr; + // Point to vector types. Defined for Zvlsseg load intrinsics. + // Zvlsseg load intrinsics have pointer type arguments to store the loaded Point->Pointer? Comment at: clang/utils/TableGen/RISCVVEmitter.cpp:1120 + } + if (HasMaskedOffOperand && NF > 1) +// Convert Put curly braces around these if and else bodies since they contain a comment. The compiler doesn't need them but its more readable for humans and would be consistent with the standards documented here https://llvm.org/docs/CodingStandards.html#don-t-use-braces-on-simple-single-statement-bodies-of-if-else-loop-statements Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D103527/new/ https://reviews.llvm.org/D103527 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[PATCH] D103527: [Clang][RISCV] Implement vlseg and vlsegff.
HsiangKai created this revision. HsiangKai added reviewers: frasercrmck, craig.topper, rogfer01. Herald added subscribers: StephenFan, vkmr, dexonsmith, evandro, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, asb. HsiangKai requested review of this revision. Herald added subscribers: cfe-commits, MaskRay. Herald added a project: clang. Implement the new Zvlsseg intrinsic interface proposed in https://github.com/riscv/rvv-intrinsic-doc/issues/95 Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D103527 Files: clang/include/clang/Basic/IdentifierTable.h clang/include/clang/Basic/riscv_vector.td clang/lib/CodeGen/CGBuiltin.cpp clang/test/CodeGen/RISCV/rvv-intrinsics-overloaded/vlseg.c clang/test/CodeGen/RISCV/rvv-intrinsics/vlseg.c clang/utils/TableGen/RISCVVEmitter.cpp ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits