bitfields.isa revision 6691
1// -*- mode:c++ -*- 2 3// Copyright (c) 2009 The University of Edinburgh 4// All rights reserved. 5// 6// Redistribution and use in source and binary forms, with or without 7// modification, are permitted provided that the following conditions are 8// met: redistributions of source code must retain the above copyright 9// notice, this list of conditions and the following disclaimer; 10// redistributions in binary form must reproduce the above copyright 11// notice, this list of conditions and the following disclaimer in the 12// documentation and/or other materials provided with the distribution; 13// neither the name of the copyright holders nor the names of its 14// contributors may be used to endorse or promote products derived from 15// this software without specific prior written permission. 16// 17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 19// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 20// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 21// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 22// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 23// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 24// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 25// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 26// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 27// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 28// 29// Authors: Timothy M. Jones 30 31//////////////////////////////////////////////////////////////////// 32// 33// Bitfield definitions. 34// 35// The endianness is the opposite to what's used here, so things 36// are reversed sometimes. Not sure of a fix to this though... 37 38// Opcode fields 39def bitfield OPCODE <31:26>; 40def bitfield X_XO <10:0>; 41def bitfield XO_XO <10:1>; 42def bitfield A_XO <5:1>; 43 44// Register fields 45def bitfield RA <20:16>; 46def bitfield RB <15:11>; 47def bitfield RS <25:21>; 48def bitfield RT <25:21>; 49def bitfield FRA <20:16>; 50def bitfield FRB <15:11>; 51def bitfield FRC <10:6>; 52def bitfield FRS <25:21>; 53def bitfield FRT <25:21>; 54 55// The record bit can be in two positions 56// Used to enable setting of the condition register 57def bitfield RC31 <0>; 58def bitfield RC21 <10>; 59 60// Used to enable setting of the overflow flags 61def bitfield OE <10>; 62 63// SPR field for mtspr instruction 64def bitfield SPR <20:11>; 65 66// FXM field for mtcrf instruction 67def bitfield FXM <19:12>; 68 69// Branch fields 70def bitfield LK <0>; 71def bitfield AA <1>; 72 73// Specifies a CR or FPSCR field 74def bitfield BF <25:23>; 75 76// Fields for FPSCR manipulation instructions 77def bitfield FLM <24:17>; 78def bitfield L <25>; 79def bitfield W <16>; 80// Named so to avoid conflicts with range.hh 81def bitfield U_FIELD <15:12>; 82 83// Field for specifying a bit in CR or FPSCR 84def bitfield BT <25:21>; 85