execute1: Use r.<field> not v.<field> in countzero code
authorPaul Mackerras <paulus@ozlabs.org>
Tue, 28 Jul 2020 02:09:02 +0000 (12:09 +1000)
committerPaul Mackerras <paulus@ozlabs.org>
Wed, 5 Aug 2020 05:49:51 +0000 (15:49 +1000)
This simplifies logic and improves timing.

Signed-off-by: Paul Mackerras <paulus@ozlabs.org>
execute1.vhdl

index 1068306eeb9f0ef30d80c716ace15261b8abf59a..edddc4a9853e35703bb3697ac8f04eebcf0ec93a 100644 (file)
@@ -949,9 +949,9 @@ begin
             -- cnt[lt]z always takes two cycles
             result := countzero_result;
             result_en := '1';
-            v.e.write_reg := gpr_to_gspr(v.slow_op_dest);
-            v.e.rc := v.slow_op_rc;
-            v.e.xerc := v.slow_op_xerc;
+            v.e.write_reg := gpr_to_gspr(r.slow_op_dest);
+            v.e.rc := r.slow_op_rc;
+            v.e.xerc := r.slow_op_xerc;
             v.e.valid := '1';
        elsif r.mul_in_progress = '1' or r.div_in_progress = '1' then
            if (r.mul_in_progress = '1' and multiply_to_x.valid = '1') or