(no commit message)
[libreriscv.git] / simple_v_extension / pred_table.mdwn
1 struct pred {
2 bool zero; // zeroing
3 bool inv; // register at predidx is inverted
4 bool ffirst; // fail-on-first
5 bool enabled; // use this to tell if the table-entry is active
6 int predidx; // redirection: actual int register to use
7 }
8
9 struct pred fp_pred_reg[32]; // 64 in future (bank=1)
10 struct pred int_pred_reg[32]; // 64 in future (bank=1)
11
12 for (i = 0; i < len; i++) // number of Predication entries in VBLOCK
13 tb = int_pred_reg if PredicateTable[i].type == 0 else fp_pred_reg;
14 idx = PredicateTable[i].regidx
15 tb[idx].zero = CSRpred[i].zero
16 tb[idx].inv = CSRpred[i].inv
17 tb[idx].ffirst = CSRpred[i].ffirst
18 tb[idx].predidx = CSRpred[i].predidx
19 tb[idx].enabled = true
20