> The DejaGnu routine "riscv_get_arch" fails to infer the correct
> architecture string when GCC is built for RV32EC.  This causes invalid
> architecture string to be produced by "add_options_for_riscv_v":
>   xgcc: error: '-march=rv32cv': first ISA subset must be 'e', 'i' or 'g'
>
> Fix by adding the E base ISA variant to the list of possible architecture
> modifiers.
>
> Also, the V extension is added to the machine string without checking
> whether dependent extensions are available.  This results in errors when
> GCC is built for RV32EC:
>   Executing on host: .../xgcc ... -march=rv32ecv ...
>   cc1: error: ILP32E ABI does not support the 'D' extension
>   cc1: sorry, unimplemented: Currently the 'V' implementation requires the 
> 'M' extension
>
> Fix by disabling vector tests for RISC-V if V extension cannot be added
> to current architecture.
>
> Tested riscv32-none-elf for -march=rv32ec using GNU simulator.  Most of
> the remaining failures are due to explicit addition of vector options,
> yet missing "dg-require-effective-target riscv_v_ok":

LGTM.  Thanks.

-- 
Regards
 Robin

Reply via email to