From 4da25184fdc8fee5f7d5ba637200aef87e340034 Mon Sep 17 00:00:00 2001 From: Luke Kenneth Casson Leighton Date: Mon, 4 Jun 2018 02:55:46 +0100 Subject: [PATCH] clarify --- simple_v_extension.mdwn | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/simple_v_extension.mdwn b/simple_v_extension.mdwn index 57ef9ca68..8253d3c4b 100644 --- a/simple_v_extension.mdwn +++ b/simple_v_extension.mdwn @@ -426,20 +426,12 @@ equivalent state): struct pred int_pred_reg[32]; for (i = 0; i < 16; i++) + tb = int_pred_reg if CSRpred[i].type == 0 else fp_pred_reg; idx = CSRpred[i].regidx - predidx = CSRpred[i].predidx - zero = CSRpred[i].zero - inv = CSRpred[i].inv - if CSRpred[i].type == 0: # integer - int_pred_reg[idx].zero = zero - int_pred_reg[idx].inv = inv - int_pred_reg[idx].predidx = predidx - int_pred_reg[idx].enabled = true - else: - fp_pred_reg[idx].zero = zero - fp_pred_reg[idx].inv = inv - fp_pred_reg[idx].predidx = predidx - fp_pred_reg[idx].enabled = true + tb[idx].zero = CSRpred[i].zero + tb[idx].inv = CSRpred[i].inv + tb[idx].predidx = CSRpred[i].predidx + tb[idx].enabled = true So when an operation is to be predicated, it is the internal state that is used. In Section 6.4.2 of Hwacha's Manual (EECS-2015-262) the following -- 2.30.2