Sorry for the delay...  What I'm aiming at is to be able to lower the TIR to a 
generic CPU, that is to an architecture that does not support SVE.  The TIR 
will need to have some default lowering in CodeGenLLVM/CodeGenCPU, so being 
able to do that is important.  For that, we should be able to assume that 
`vscale` is 1.  The `vscale` would simply be an indicator to the codegen (in 
TVM) that the code **may** be lowered to SVE.

What I wrote earlier about `vfactor` was that the value of it depended on the 
data type for which it was calculated.  If you're sticking with `vscale`, then 
it may seem like we don't need it, but the issue is with using "x * vscale" as 
an idiom: if you have several occurrences of "4 * vscale" in an expression, it 
may end up being rearranged to something like "(4*vi + 4) * vscale", or 
"ceildiv(128, 4 * vscale)" may end up being "ceildiv(32, vscale)".  So, instead 
of "x * vscale", I suggest "vscale(x)".


-- 
Reply to this email directly or view it on GitHub:
https://github.com/apache/tvm-rfcs/pull/104#issuecomment-1751038124
You are receiving this because you are subscribed to this thread.

Message ID: <apache/tvm-rfcs/pull/104/c1751038...@github.com>

Reply via email to