[Libre-soc-bugs] [Bug 558] gcc SV intrinsics concept

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Mon Dec 28 21:15:31 GMT 2020


https://bugs.libre-soc.org/show_bug.cgi?id=558

--- Comment #6 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
example:

mask_t __sv_compare_ge(Vec<Base, MAXVL, SUBVL> lhs, Vec<Base, MAXVL, SUBVL>
rhs, vl_t vl, mask_t mask);

can be replaced with

* mark lhs variable as vectorised / scalar
* mark rhs variable as vectorised / scalar
* PUSH context MAXVL, mask
* <<<< STANDARD GCC COMPARE OPERATION (lhs, rhs) >>>>
* POP context

absolutely zero modification of the standard gcc compare ge operation.

dead-simple creation of an svp64 prefix wrapper around the compare_ge
operation.

the idea is to do *minimal* work at the strategic point to aid and assist
people to get away from having to write just above the assembly level, yet
still be able to take advantage of SV "Vector Abstraction"

it becomes the developers responsibility to keep track of which variables have
been marked as vectorised... *without* creating sv_vector_uint64_t,
sv_vector_uint8_t etc. etc. etc. etc. etc. etc.


the scope and timescale is expected to be of the order of 8-10 weeks to
proof-of-concept completion, not to put in a proposal that requires thousands
of intrinsics that takes 6-8 months to write.

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list