In our fork of gcc we go from "xpulpv0" to "xpulpv3".
Technically, the versioning was not done 100% correctly (since
some changes didn't require a major version bump) but either way
I hit this issue when porting our patches to a newer gcc.
Currently, I work around it with an additional check.

Robert

On 6/23/21 11:19 AM, Kito Cheng wrote:
> Hi Robert:
> 
> My assumption is the version should never be 0.0, at least 0.1, so it
> is treated as 2p0,
> but I didn't check if the input is really 0p0 or 0, that's kind of bug
> we need to fix.
> 
> And I am not familiar with PULP stuff, does it mean PULP really uses
> version 0.0,
> and intend to implement multiple-version of that on GCC?
> 
> On Mon, Jun 21, 2021 at 10:07 AM Robert Balas via Gcc-bugs
> <gcc-bugs@gcc.gnu.org> wrote:
>>
>> When giving gcc a -march string with a custom extension of
>> version 0 (for example pulpv0) then gcc will think assign in the
>> default version of 2p0.
>>
>> In gcc/common/config/riscv/riscv-common.c the function
>> riscv_subset_list::parsing_subset_version falls back to the
>> default version (2p0) when parsing if the major and minor version
>> are both zero (which is the case for the string "pulpv0"). This
>> means both "pulpv0" and "pulpv2" will get assigned the version
>> 2p0. Looks wrong to me.
>>
>> Robert

Reply via email to