[Libre-soc-bugs] [Bug 1229] fosdem2024 llvm simple-v
bugzilla-daemon at libre-soc.org
bugzilla-daemon at libre-soc.org
Sun Dec 3 04:38:02 GMT 2023
https://bugs.libre-soc.org/show_bug.cgi?id=1229
--- Comment #4 from Luke Kenneth Casson Leighton <lkcl at lkcl.net> ---
(In reply to Jacob Lifshay from comment #1)
> some points:
> the register keyword won't be going away completely
whew
>
> register long a asm("r3");
> asm("addi r3, r3, 1" : "+r"(a)); // increments a
what i envision is that this:
register long a[10] asm ("*r3")
literally traslates to
setvl maxvl=10
and marks r3 as vector, such that sv.addi works as expected.
following on from that...
> for LLVM IR, we will be having standard existing vector IR translate to
> SimpleV ops in the backend, not something like having only SimpleV prefixed
> IR and never any vector ops or something like that.
... i then envisage an IR primitive that LITERALLY and precisely
without fail without exception represents the FULL and complete
capability of SV Prefixing. exactly precisely fully absolute
100% without fail absolute total and full representation of
the full absolute SV concept.
no vector instructions =>
no vector IR.
instead:
prefix isa =>
prefix hardware =>
prefix IR =>
prefix assembler.
we are ****NOT**** doing 1.5 million intrinsics. i am not
having it. no, caches are not ok. no, JIT-intrinsic-generation
is not ok.
if we have to invent a new IR syntax to support loop-prefixing
on top of (existing, small) scalar IR that is perfectly fine
with me.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the libre-soc-bugs
mailing list