From 63ec42cc245b2da9ab97cc4eef6bbd21e08cde07 Mon Sep 17 00:00:00 2001 From: Alejandro Soto Date: Sun, 2 Oct 2022 13:23:22 -0600 Subject: Split decoding of flexible second operand out of data instructions --- rtl/core/uarch.sv | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) (limited to 'rtl/core/uarch.sv') diff --git a/rtl/core/uarch.sv b/rtl/core/uarch.sv index 0c5bc84..22f0578 100644 --- a/rtl/core/uarch.sv +++ b/rtl/core/uarch.sv @@ -58,13 +58,17 @@ typedef logic[4:0] psr_mode; typedef struct packed { - alu_op op; - reg_num rn, - rd, - r_snd, + alu_op op; + reg_num rn, + rd; +} data_decode; + +typedef struct packed +{ + reg_num r, r_shift; - logic snd_shift_by_reg, - snd_is_imm, + logic shift_by_reg, + is_imm, shl, shr, ror, @@ -72,7 +76,7 @@ typedef struct packed sign_extend; logic[7:0] imm; logic[5:0] shift_imm; -} data_decode; +} snd_decode; typedef struct packed { -- cgit v1.2.3