US 12,223,323 B2
Out-of-order vector iota calculations
Yueh Chi Wu, Taichung (TW); and Nicolas Rémi Brunie, San Mateo, CA (US)
Assigned to SiFive, Inc., Santa Clara, CA (US)
Filed by SiFive, Inc., San Mateo, CA (US)
Filed on Jun. 20, 2023, as Appl. No. 18/337,652.
Claims priority of provisional application 63/429,928, filed on Dec. 2, 2022.
Prior Publication US 2024/0184584 A1, Jun. 6, 2024
Int. Cl. G06F 9/30 (2018.01); G06F 9/38 (2018.01)
CPC G06F 9/30145 (2013.01) [G06F 9/30036 (2013.01); G06F 9/3836 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for executing vector iota (viota) operation, the method comprising:
decoding a fetched viota instruction into viota micro-operations (uops), wherein:
each viota uop of the viota uops has multiple elements, each element having a viota value corresponding to a sum of active mask bits of preceding elements of the viota uops; and
the multiple elements of each viota uop comprise at least a first element that has a starting bit position of a respective uop and a last element that has an ending bit position of the respective uop;
computing a first element viota value of a respective viota uop;
determining a respective last element viota value of the respective viota uop based on the first element viota value of the respective uop; and
writing the respective last element viota value of the respective viota uop to an allocated physical register.