Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make the tuple type API for segment load store as compiler optional feature #139

Closed
zakk0610 opened this issue Mar 8, 2022 · 4 comments · Fixed by #198
Closed

Make the tuple type API for segment load store as compiler optional feature #139

zakk0610 opened this issue Mar 8, 2022 · 4 comments · Fixed by #198
Labels
Resolve for v1.0 Feature or problems we will close before the v1.0 release

Comments

@zakk0610
Copy link
Collaborator

zakk0610 commented Mar 8, 2022

#137 (comment)
#137 (comment)

Below is @kito-cheng's proposal for the segment load/store API:

Include both API flavor in spec, but mark tuple type style API as optional, and defined some marco to let user check __riscv_rvv_tuple_type if compiler has supported.

And non-tuple type style API / new API are mandatory, I believe implement that via tuple type style API like that is feasible, and @rjiejie has implemented this approach in the past riscv-collab/riscv-gcc#307:

void vlseg2e8_v_i8mf4 (vint8mf4_t *v0, vint8mf4_t *v1, const int8_t *base, size_t vl)
{
vint8mf4x2_t vt = vcreate_i8mf4x2 (v0, v1);
vlseg2e8_v_i8mf4x2 (vt, vase, v0);
}

@nick-knight
Copy link
Collaborator

nick-knight commented Mar 8, 2022

We will probably need to revert #98 too, tagging these types/intrinsics appropriately.

@lhtin
Copy link
Contributor

lhtin commented Mar 8, 2022

Maybe it's necessary to change the marco name __riscv_rvv_tuple_type to __riscv_v_tuple_type, because it is unified with __riscv_v_intrinsic_overloading.

@kito-cheng
Copy link
Collaborator

@lhtin Yeah, __riscv_v_tuple_type seems like better naming, thank for your suggestion !

@eopXD
Copy link
Collaborator

eopXD commented Aug 2, 2022

Multiple issues have raised request for tuple types and size-less struct and it all boils down if the compiler is able to implement them...

Redirecting other existing issues(#17 , #83, #110 , #154) here for this issue to be the placeholder to discuss on the problem after the v1.0 release.

@eopXD eopXD added Discussion wanted Revisit after v1.0 Features or problems we will revisit after the v1.0 release labels Aug 2, 2022
@eopXD eopXD added Resolve for v1.0 Feature or problems we will close before the v1.0 release and removed Revisit after v1.0 Features or problems we will revisit after the v1.0 release labels Sep 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Resolve for v1.0 Feature or problems we will close before the v1.0 release
Projects
None yet
Development

Successfully merging a pull request may close this issue.

5 participants