bitfields.isa revision 6019
16019Shines@cs.fsu.edu// -*- mode:c++ -*- 26019Shines@cs.fsu.edu 36019Shines@cs.fsu.edu// Copyright (c) 2007-2008 The Florida State University 46019Shines@cs.fsu.edu// All rights reserved. 56019Shines@cs.fsu.edu// 66019Shines@cs.fsu.edu// Redistribution and use in source and binary forms, with or without 76019Shines@cs.fsu.edu// modification, are permitted provided that the following conditions are 86019Shines@cs.fsu.edu// met: redistributions of source code must retain the above copyright 96019Shines@cs.fsu.edu// notice, this list of conditions and the following disclaimer; 106019Shines@cs.fsu.edu// redistributions in binary form must reproduce the above copyright 116019Shines@cs.fsu.edu// notice, this list of conditions and the following disclaimer in the 126019Shines@cs.fsu.edu// documentation and/or other materials provided with the distribution; 136019Shines@cs.fsu.edu// neither the name of the copyright holders nor the names of its 146019Shines@cs.fsu.edu// contributors may be used to endorse or promote products derived from 156019Shines@cs.fsu.edu// this software without specific prior written permission. 166019Shines@cs.fsu.edu// 176019Shines@cs.fsu.edu// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 186019Shines@cs.fsu.edu// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 196019Shines@cs.fsu.edu// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 206019Shines@cs.fsu.edu// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 216019Shines@cs.fsu.edu// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 226019Shines@cs.fsu.edu// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 236019Shines@cs.fsu.edu// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 246019Shines@cs.fsu.edu// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 256019Shines@cs.fsu.edu// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 266019Shines@cs.fsu.edu// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 276019Shines@cs.fsu.edu// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 286019Shines@cs.fsu.edu// 296019Shines@cs.fsu.edu// Authors: Stephen Hines 306019Shines@cs.fsu.edu 316019Shines@cs.fsu.edu//////////////////////////////////////////////////////////////////// 326019Shines@cs.fsu.edu// 336019Shines@cs.fsu.edu// Bitfield definitions. 346019Shines@cs.fsu.edu// 356019Shines@cs.fsu.edu 366019Shines@cs.fsu.edu// Opcode fields 376019Shines@cs.fsu.edudef bitfield OPCODE <27:25>; 386019Shines@cs.fsu.edudef bitfield OPCODE_27_25 <27:25>; 396019Shines@cs.fsu.edudef bitfield OPCODE_24_21 <24:21>; 406019Shines@cs.fsu.edudef bitfield OPCODE_24_23 <24:23>; 416019Shines@cs.fsu.edudef bitfield OPCODE_24 <24:24>; 426019Shines@cs.fsu.edudef bitfield OPCODE_23_20 <23:20>; 436019Shines@cs.fsu.edudef bitfield OPCODE_23_21 <23:21>; 446019Shines@cs.fsu.edudef bitfield OPCODE_23 <23:23>; 456019Shines@cs.fsu.edudef bitfield OPCODE_22_8 <22: 8>; 466019Shines@cs.fsu.edudef bitfield OPCODE_22_21 <22:21>; 476019Shines@cs.fsu.edudef bitfield OPCODE_22 <22:22>; 486019Shines@cs.fsu.edudef bitfield OPCODE_21_20 <21:20>; 496019Shines@cs.fsu.edudef bitfield OPCODE_20 <20:20>; 506019Shines@cs.fsu.edudef bitfield OPCODE_19_18 <19:18>; 516019Shines@cs.fsu.edudef bitfield OPCODE_19 <19:19>; 526019Shines@cs.fsu.edudef bitfield OPCODE_15_12 <15:12>; 536019Shines@cs.fsu.edudef bitfield OPCODE_15 <15:15>; 546019Shines@cs.fsu.edudef bitfield OPCODE_9 < 9: 9>; 556019Shines@cs.fsu.edudef bitfield OPCODE_7_4 < 7: 4>; 566019Shines@cs.fsu.edudef bitfield OPCODE_7_5 < 7: 5>; 576019Shines@cs.fsu.edudef bitfield OPCODE_7_6 < 7: 6>; 586019Shines@cs.fsu.edudef bitfield OPCODE_7 < 7: 7>; 596019Shines@cs.fsu.edudef bitfield OPCODE_6_5 < 6: 5>; 606019Shines@cs.fsu.edudef bitfield OPCODE_6 < 6: 6>; 616019Shines@cs.fsu.edudef bitfield OPCODE_5 < 5: 5>; 626019Shines@cs.fsu.edudef bitfield OPCODE_4 < 4: 4>; 636019Shines@cs.fsu.edu 646019Shines@cs.fsu.edu// Other 656019Shines@cs.fsu.edudef bitfield COND_CODE <31:28>; 666019Shines@cs.fsu.edudef bitfield S_FIELD <20:20>; 676019Shines@cs.fsu.edudef bitfield RN <19:16>; 686019Shines@cs.fsu.edudef bitfield RD <15:12>; 696019Shines@cs.fsu.edudef bitfield SHIFT_SIZE <11: 7>; 706019Shines@cs.fsu.edudef bitfield SHIFT < 6: 5>; 716019Shines@cs.fsu.edudef bitfield RM < 3: 0>; 726019Shines@cs.fsu.edu 736019Shines@cs.fsu.edudef bitfield RE <20:16>; 746019Shines@cs.fsu.edu 756019Shines@cs.fsu.edudef bitfield RS <11: 8>; 766019Shines@cs.fsu.edu 776019Shines@cs.fsu.edudef bitfield RDUP <19:16>; 786019Shines@cs.fsu.edudef bitfield RNDN <15:12>; 796019Shines@cs.fsu.edu 806019Shines@cs.fsu.edudef bitfield RDHI <15:12>; 816019Shines@cs.fsu.edudef bitfield RDLO <11: 8>; 826019Shines@cs.fsu.edu 836019Shines@cs.fsu.edudef bitfield U_FIELD <23:23>; 846019Shines@cs.fsu.edu 856019Shines@cs.fsu.edudef bitfield PUSWL <24:20>; 866019Shines@cs.fsu.edudef bitfield PREPOST <24:24>; 876019Shines@cs.fsu.edudef bitfield UP <23:23>; 886019Shines@cs.fsu.edudef bitfield PSRUSER <22:22>; 896019Shines@cs.fsu.edudef bitfield WRITEBACK <21:21>; 906019Shines@cs.fsu.edudef bitfield LOADOP <20:20>; 916019Shines@cs.fsu.edu 926019Shines@cs.fsu.edudef bitfield PUBWL <24:20>; 936019Shines@cs.fsu.edudef bitfield PUIWL <24:20>; 946019Shines@cs.fsu.edudef bitfield BYTEACCESS <22:22>; 956019Shines@cs.fsu.edu 966019Shines@cs.fsu.edudef bitfield LUAS <23:20>; 976019Shines@cs.fsu.edu 986019Shines@cs.fsu.edudef bitfield IMM < 7: 0>; 996019Shines@cs.fsu.edudef bitfield IMMED_7_4 < 7: 4>; 1006019Shines@cs.fsu.edudef bitfield IMMED_3_0 < 3: 0>; 1016019Shines@cs.fsu.edu 1026019Shines@cs.fsu.edudef bitfield F_MSR <19:19>; 1036019Shines@cs.fsu.edudef bitfield S_MSR <18:18>; 1046019Shines@cs.fsu.edudef bitfield X_MSR <17:17>; 1056019Shines@cs.fsu.edudef bitfield C_MSR <16:16>; 1066019Shines@cs.fsu.edu 1076019Shines@cs.fsu.edudef bitfield Y_6 < 6: 6>; 1086019Shines@cs.fsu.edudef bitfield X_5 < 5: 5>; 1096019Shines@cs.fsu.edu 1106019Shines@cs.fsu.edudef bitfield IMMED_15_4 <15: 4>; 1116019Shines@cs.fsu.edu 1126019Shines@cs.fsu.edudef bitfield W_FIELD <21:21>; 1136019Shines@cs.fsu.edu 1146019Shines@cs.fsu.edudef bitfield ROTATE <11: 8>; 1156019Shines@cs.fsu.edudef bitfield IMMED_7_0 < 7: 0>; 1166019Shines@cs.fsu.edu 1176019Shines@cs.fsu.edudef bitfield T_FIELD <21:21>; 1186019Shines@cs.fsu.edudef bitfield IMMED_11_0 <11: 0>; 1196019Shines@cs.fsu.edu 1206019Shines@cs.fsu.edudef bitfield IMMED_20_16 <20:16>; 1216019Shines@cs.fsu.edudef bitfield IMMED_19_16 <19:16>; 1226019Shines@cs.fsu.edu 1236019Shines@cs.fsu.edudef bitfield IMMED_HI_11_8 <11: 8>; 1246019Shines@cs.fsu.edudef bitfield IMMED_LO_3_0 < 3: 0>; 1256019Shines@cs.fsu.edu 1266019Shines@cs.fsu.edudef bitfield ROT <11:10>; 1276019Shines@cs.fsu.edu 1286019Shines@cs.fsu.edudef bitfield R_FIELD < 5: 5>; 1296019Shines@cs.fsu.edu 1306019Shines@cs.fsu.edudef bitfield CARET <22:22>; 1316019Shines@cs.fsu.edudef bitfield REGLIST <15: 0>; 1326019Shines@cs.fsu.edu 1336019Shines@cs.fsu.edudef bitfield OFFSET <23: 0>; 1346019Shines@cs.fsu.edudef bitfield COPRO <11: 8>; 1356019Shines@cs.fsu.edudef bitfield OP1_7_4 < 7: 4>; 1366019Shines@cs.fsu.edudef bitfield CM < 3: 0>; 1376019Shines@cs.fsu.edu 1386019Shines@cs.fsu.edudef bitfield L_FIELD <22:22>; 1396019Shines@cs.fsu.edudef bitfield CD <15:12>; 1406019Shines@cs.fsu.edudef bitfield OPTION < 7: 0>; 1416019Shines@cs.fsu.edu 1426019Shines@cs.fsu.edudef bitfield OP1_23_20 <23:20>; 1436019Shines@cs.fsu.edudef bitfield CN <19:16>; 1446019Shines@cs.fsu.edudef bitfield OP2_7_5 < 7: 5>; 1456019Shines@cs.fsu.edu 1466019Shines@cs.fsu.edudef bitfield OP1_23_21 <23:21>; 1476019Shines@cs.fsu.edu 1486019Shines@cs.fsu.edudef bitfield IMMED_23_0 <23: 0>; 1496019Shines@cs.fsu.edudef bitfield M_FIELD <17:17>; 1506019Shines@cs.fsu.edudef bitfield A_FIELD < 8: 8>; 1516019Shines@cs.fsu.edudef bitfield I_FIELD < 7: 7>; 1526019Shines@cs.fsu.edudef bitfield F_FIELD < 6: 6>; 1536019Shines@cs.fsu.edudef bitfield MODE < 4: 0>; 1546019Shines@cs.fsu.edu 1556019Shines@cs.fsu.edudef bitfield A_BLX <24:24>; 1566019Shines@cs.fsu.edu 1576019Shines@cs.fsu.edudef bitfield CPNUM <11: 8>; 1586019Shines@cs.fsu.edu// Note that FP Regs are only 3 bits 1596019Shines@cs.fsu.edudef bitfield FN <18:16>; 1606019Shines@cs.fsu.edudef bitfield FD <14:12>; 1616019Shines@cs.fsu.edudef bitfield FPREGIMM < 3: 3>; 1626019Shines@cs.fsu.edu// We can just use 3:0 for FM since the hard-wired FP regs are handled in 1636019Shines@cs.fsu.edu// float_regfile.hh 1646019Shines@cs.fsu.edudef bitfield FM < 3: 0>; 1656019Shines@cs.fsu.edudef bitfield FPIMM < 2: 0>; 1666019Shines@cs.fsu.edudef bitfield PUNWL <24:20>; 1676019Shines@cs.fsu.edu 1686019Shines@cs.fsu.edu// M5 instructions 1696019Shines@cs.fsu.edudef bitfield M5FUNC <7:0>; 1706019Shines@cs.fsu.edu 171