package datapath.graph.operations; /** * This enum specifies the type of shift operation - logical left, * arithmetic right, etc. * <p> * $Id$ * <p> * Copyright 2008 by the * <a href="http://ali-www.cs.umass.edu/">Scale Compiler Group</a>,<br> * <a href="http://www.cs.umass.edu/">Department of Computer Science</a><br> * <a href="http://www.umass.edu/">University of Massachusetts</a>,<br> * Amherst MA. 01003, USA<br> * All Rights Reserved.<br> */ public enum ShiftMode { /** * The shift is to the righ with sign extension. */ SignedRight(), /** * The shift is to the righ with zero bit fill on the left. */ UnsignedRight(), /** * The shift is to the left with zero bit fill on the right. */ Left(), /** * The shift is to the left with bits shifted off the left side * inserted on the right. */ LeftRotate(), /** * The shift is to the right with bits shifted off the right side * inserted on the left. */ RightRotate(), /** * The is to the right and if the shift is signed or unsigned is defined by the * type of the operation */ Right(), /** * Rightshift which is implemented by move of the fixedpoint fraction - * no hardware or other operation actually required */ ZeroShiftRight(), /** * Rightshift which is implemented by move of the fixedpoint fraction - * no hardware or other operation actually required */ ZeroShiftLeft(); }