>
> riscv support for vectorization tests in the testsuite is somewhat
> confused: we enable only compilation of vector tests with riscv_v_ok,
> even though it checks for runtime and execution support, but the
> various vect_* effective targets only reflect riscv_v, so when testing
> with riscv_v_ok && ! riscv_v, we get undesirable failures.
>
> Unlike other targets, that use <foo> for a compile-time property and
> <foo_hw> for a runtime property, or <foo_ok> for a compile-time
> property and <foo> for a runtime property, riscv seems to use <foo>
> for a property enabled by default and <foo_ok> for a property
> available with compile-time flags.
>
> I've added riscv_v_okc to check for tooling support for compilation
> with vectors enabled, bypassing runtime support.
> check_vect_support_and_set_flags, that sets things up for the vect
> tests, now enables execution with riscv_v_ok, just like riscv_v,
> including the use of -mno-vector-strict-align, so that we don't get
> unexpected differences when execution of vector instructions is
> available.  Otherwise, when riscv_v_okc is available, vect tests
> default to compilation only.

I agree with your diagnosis but not entirely with the treatment :)

Rather than adding a third option, I'd prefer regularizing the existing once to 
match what others are doing, i.e.
 riscv_v -> can compiler vector (with or without added options, add options if 
 necessary)
 riscv_v_hw -> can execute vector

I realize there are tons of tests that don't follow a proper scheme but I would 
hope rewriting to be mostly mechanical?

-- 
Regards
 Robin

Reply via email to