From: Joshua Wise <joshua@rebirth.joshuawise.com>
Date: Tue, 30 Dec 2008 08:29:33 +0000 (-0500)
Subject: Fix up ALU order in Issue.
X-Git-Url: http://git.joshuawise.com/firearm.git/commitdiff_plain/0ede28efad9b536d699c10d257eb2b6a3804919f?ds=inline;hp=-c

Fix up ALU order in Issue.
---

0ede28efad9b536d699c10d257eb2b6a3804919f
diff --git a/Issue.v b/Issue.v
index 4147c9f..8fba308 100644
--- a/Issue.v
+++ b/Issue.v
@@ -130,18 +130,6 @@ module Issue(
 			def_cpsr = 1;
 			def_regs = 0;
 		end
-		`DECODE_ALU:	/* ALU */
-		begin
-			use_cpsr = `COND_MATTERS(cond) | (!insn[25] /* I */ && shift_requires_carry(insn[11:4]));
-			use_regs =
-				(insn[25] /* I */ ? 0 :
-					(insn[4] /* shift by reg */ ?
-						(idxbit(rs) | idxbit(rm)) :
-						(idxbit(rm)))) |
-				(((alu_opc != `ALU_MOV) && (alu_opc != `ALU_MVN)) ? idxbit(rn) : 0);
-			def_cpsr = insn[20] /* S */ | alu_is_logical(alu_opc);
-			def_regs = alu_flags_only(alu_opc) ? 0 : idxbit(rd);
-		end
 		`DECODE_ALU_SWP:	/* Atomic swap */
 		begin
 			use_cpsr = `COND_MATTERS(cond);
@@ -170,6 +158,18 @@ module Issue(
 			def_cpsr = 0;
 			def_regs = insn[20] /* L */ ? idxbit(rd) : 0;
 		end
+		`DECODE_ALU:	/* ALU */
+		begin
+			use_cpsr = `COND_MATTERS(cond) | (!insn[25] /* I */ && shift_requires_carry(insn[11:4]));
+			use_regs =
+				(insn[25] /* I */ ? 0 :
+					(insn[4] /* shift by reg */ ?
+						(idxbit(rs) | idxbit(rm)) :
+						(idxbit(rm)))) |
+				(((alu_opc != `ALU_MOV) && (alu_opc != `ALU_MVN)) ? idxbit(rn) : 0);
+			def_cpsr = insn[20] /* S */ | alu_is_logical(alu_opc);
+			def_regs = alu_flags_only(alu_opc) ? 0 : idxbit(rd);
+		end
 		`DECODE_LDRSTR_UNDEFINED:	/* Undefined. I hate ARM */
 		begin	
 			use_cpsr = 0;