From: adam Date: Mon, 3 Nov 2008 10:13:58 +0000 (+0100) Subject: add Context.literal(BitVector) X-Git-Url: http://git.megacz.com/?a=commitdiff_plain;h=6f5bc8dfe401e2ddac89591202d6e4d80f028fd5;p=fleet.git add Context.literal(BitVector) --- diff --git a/src/edu/berkeley/fleet/ir/Context.java b/src/edu/berkeley/fleet/ir/Context.java index 40da894..b7b22ac 100644 --- a/src/edu/berkeley/fleet/ir/Context.java +++ b/src/edu/berkeley/fleet/ir/Context.java @@ -217,6 +217,22 @@ public class Context { } /** sets the data latch to a literal value */ + public void literal(BitVector literal) { + // FIXME: code duplication here + // FIXME: be more intelligent here to avoid shifts if possible? + int counter = 0; + while(counter < dock.getShip().getFleet().getWordWidth()) counter += fleet.getShiftWidth(); + while(counter > 0) { + BitVector temp = new BitVector(dock.getShip().getFleet().getShiftWidth()); + for(int i=counter-1; i>=counter-fleet.getShiftWidth(); i--) + if (i