Date
1 - 4 of 4
P extension fixed-point saturation flag CSR
Chuanhua Chang
P extension specification has defined a fixed-point saturation flag CSR. We need to allocate it officially in the user standard read/write address range. Should we use the same CSR for V and P extension? The current vector extension spec defines a "vxsat" CSR that can be used for both P and V extensions.
Best Regards, Chuanhua |
|
andrew@...
Analogous to the F and V extensions sharing fflags/frm, I’d think that P and V would share vxsat/vxrm. The reasoning is slightly different from the floating-point CSRs; in that case, sharing the registers helps vectorized code to efficiently implement C99 semantics for dynamic rounding mode and exception flags. That concern doesn’t apply to fixed point (at least not today). But the other advantages still apply, namely, smaller context and fewer CSRs. On Tue, Aug 4, 2020 at 7:36 PM Chuanhua Chang <chchang@...> wrote: P extension specification has defined a fixed-point saturation flag CSR. We need to allocate it officially in the user standard read/write address range. Should we use the same CSR for V and P extension? The current vector extension spec defines a "vxsat" CSR that can be used for both P and V extensions. |
|
Yes, should share the flag. Code that has an outer check for saturation to check if re-scaling needed, won’t want to care whether it was caused by scalar or vector routine.
toggle quoted message
Show quoted text
Krste
|
|
Chuanhua Chang
Thanks. I will update the P extension specification to use the vxsat CSR.
Best Regards, Chuanhua |
|