// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-//
-// Authors: Timothy M. Jones
////////////////////////////////////////////////////////////////////
//
// are reversed sometimes. Not sure of a fix to this though...
// Opcode fields
-def bitfield OPCODE <31:26>;
-def bitfield X_XO <10:0>;
-def bitfield XO_XO <10:1>;
+def bitfield PO <31:26>;
def bitfield A_XO <5:1>;
+def bitfield DS_XO <1:0>;
+def bitfield DX_XO <5:1>;
+def bitfield VA_XO <5:0>;
+def bitfield X_XO <10:1>;
+def bitfield XFL_XO <10:1>;
+def bitfield XFX_XO <10:1>;
+def bitfield XL_XO <10:1>;
+def bitfield XO_XO <9:1>;
+def bitfield XS_XO <10:2>;
// Register fields
def bitfield RA <20:16>;
def bitfield RB <15:11>;
+def bitfield RC <10:6>;
def bitfield RS <25:21>;
def bitfield RT <25:21>;
def bitfield FRA <20:16>;
def bitfield FXM <19:12>;
// Branch fields
+def bitfield BO <25:21>;
def bitfield LK <0>;
def bitfield AA <1>;
// Fields for FPSCR manipulation instructions
def bitfield FLM <24:17>;
-def bitfield L <25>;
-def bitfield W <16>;
+// Named so to avoid conflicts with potential template typenames
+def bitfield L_FIELD <25>;
+// Named so to avoid conflicts with range_map.hh
+def bitfield W_FIELD <16>;
// Named so to avoid conflicts with range.hh
def bitfield U_FIELD <15:12>;