riscv-non-isa / rvv-intrinsic-doc

https://jira.riscv.org/browse/RVG-153
BSD 3-Clause "New" or "Revised" License
281 stars 89 forks source link

Question about segment load/store of rvv-v0p10-compatible-headers #273

Closed xl0714 closed 11 months ago

xl0714 commented 11 months ago

Hi, @eopXD : The current form is:

define vlseg2e8_v_i8m1(...) riscv_vlseg2e8_v_i8m1(__VA_ARGS)

define vlseg2e8_v_i8m1_m(...) riscv_vlseg2e8_v_i8m1_tumu(VA_ARGS__)

define vlseg2e8_v_i8m1_tu(...) riscv_vlseg2e8_v_i8m1_tu(VA_ARGS__)

define vlseg2e8_v_i8m1_ta(...) riscv_vlseg2e8_v_i8m1(__VA_ARGS)

define vlseg2e8_v_i8m1_tuma(...) riscv_vlseg2e8_v_i8m1_tum(VA_ARGS__)

define vlseg2e8_v_i8m1_tumu(...) riscv_vlseg2e8_v_i8m1_tumu(VA_ARGS__)

define vlseg2e8_v_i8m1_tama(...) riscv_vlseg2e8_v_i8m1_m(VA_ARGS__)

define vlseg2e8_v_i8m1_tamu(...) riscv_vlseg2e8_v_i8m1_mu(VA_ARGS__)

However, gcc no longer supports non-tuple segment load/store. Should we consider mapping non-tuple to tuple?

eopXD commented 11 months ago

The v0p10 compatible header was intended to support transition from v0.10 to v0.11. The tuple type segment load/store was introduced in v0.12. We currently do not have a compatible header / patch in the upstream to support compatibility for v0.11 -> v0.12.

This is a duplicate issue to #255. As I mentioned in that thread, I think continue-ing the compatibility support in the upstream trunk may not be beneficial for the ecosystem.

xl0714 commented 11 months ago

I see, thank you.