Skip to content
This repository has been archived by the owner on Feb 29, 2024. It is now read-only.

Is there a short name for Zc* extension #198

Closed
fanghuaqi opened this issue Nov 18, 2022 · 10 comments
Closed

Is there a short name for Zc* extension #198

fanghuaqi opened this issue Nov 18, 2022 · 10 comments

Comments

@fanghuaqi
Copy link

fanghuaqi commented Nov 18, 2022

Hi @tariqkurd-repo

When I want to declare I want to use all the features of Zc* extension, currently I need to specify zca_zcb_zcmb_zcmp_zcmt, this name is too long to remember and use, can you declare a simple short name which stands for require all the Zc* features, I think IP vendors would implement a full featured Zc extension, and want to let user easily use it in toolchain with shorter name.

Thanks
Huaqi

@tariqkurd-repo
Copy link
Contributor

It's a good question. @aswaterman @kasanovic is there a plan for a shorter name for the whole set?

@aswaterman
Copy link
Collaborator

aswaterman commented Nov 18, 2022

No. The plan is to use profile names to shorten these strings, e.g., RVA23 will imply C and Zcb, and a future embedded profile might imply a broader set of these extensions.

For now, you'll need to accept the longer names, or use shell scripting techniques to reduce your typing.

@fanghuaqi
Copy link
Author

But it will cause normal user hard to use the -march option, why not just use Zcall or Zc to stand for full set of Zc extension.

@aswaterman
Copy link
Collaborator

aswaterman commented Nov 18, 2022

Something like Zcall is inherently ambiguous, because some Zc* extensions are mutually incompatible. We'd have to define multiple of these to cater to various scenarios--which is similar to defining profiles.

Please be patient and wait for profiles to solve this problem.

@fanghuaqi
Copy link
Author

Maybe gcc compiler could help to handle the incompatible when using Zcall.

@aswaterman
Copy link
Collaborator

No, GCC should not start defining its own RISC-V extension names.

Profiles will solve this problem. Please patiently wait for them to arrive.

@fanghuaqi
Copy link
Author

Profiles can help to solve part of the long isa name issue, if rv cpu not following profile requirement would have to use the long isa name in march option.

So I thought for each extension, if it can define a full feature set isa name, it would be good for user to remember and use it.

@tovine
Copy link
Contributor

tovine commented Nov 21, 2022

I see your point and understand where the desire for a short name is coming from, but I don't think it's a big problem in most cases.
Usually you have some sort of build system managing compiler options for you (e.g. make, CMake, ninja, or at the minimum some shell script) so you really only have to write the march string once per project.

@fanghuaqi
Copy link
Author

but for IP vendors, it need to provide configurable RISC-V IP, so the march string will need to be easily handled by user, user can easily turn on or off selected extension.

@tariqkurd-repo
Copy link
Contributor

"please wait for the profile" is the conclusion

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants