[libre-riscv-dev] [isa-dev] Re: Vector Operations Extension (cross, dot, length, lerp, slerp)

lkcl luke.leighton at gmail.com
Mon Oct 7 08:03:50 BST 2019

On Monday, October 7, 2019 at 1:36:52 PM UTC+8, Jacob Lifshay wrote:

> Found a paper which describes vector normalisation in terms of 
> dotproduct, scalar recipsqrt and then scalar-vector fmul. 
> Yeah, that's the standard procedure. 

Ok great. Added it to the note-form spec 

> > With VLENGTH being also expressible as dotproduct followed by scalar 
> sqrt, is it reasonable to have both normalisation as well as VLENGTH as 
> macro op fused sequences? 
> I would think so, though I can't say for sure. 

Ok, so, hmm, how could we determine that? Are either of them particularly 
heavily used? Or, are they used in exceptionally tight loops at all? 

How much data goes through each of them, and if they were added, how many 
cycles would be saved per pixel, basically.

Oh. I remember now. That's the metric that Jeff Bush from Nyuzi taught me 
is the critical one. That, and to watch power consumption like a hawk.

So if adding normalise reduces the clocks per pixel by, say, 5 percent, 
it's going in.


More information about the libre-riscv-dev mailing list