bitfields.isa (6247:094b7ea0b180) | bitfields.isa (6251:1d794d81a4e6) |
---|---|
1// -*- mode:c++ -*- 2 3// Copyright (c) 2007-2008 The Florida State University 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 --- 20 unchanged lines hidden (view full) --- 29// Authors: Stephen Hines 30 31//////////////////////////////////////////////////////////////////// 32// 33// Bitfield definitions. 34// 35 36// Opcode fields | 1// -*- mode:c++ -*- 2 3// Copyright (c) 2007-2008 The Florida State University 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 --- 20 unchanged lines hidden (view full) --- 29// Authors: Stephen Hines 30 31//////////////////////////////////////////////////////////////////// 32// 33// Bitfield definitions. 34// 35 36// Opcode fields |
37def bitfield OPCODE <27:25>; 38def bitfield OPCODE_27_25 <27:25>; 39def bitfield OPCODE_24_21 <24:21>; 40def bitfield OPCODE_24_23 <24:23>; 41def bitfield OPCODE_24 <24:24>; 42def bitfield OPCODE_23_20 <23:20>; 43def bitfield OPCODE_23_21 <23:21>; 44def bitfield OPCODE_23 <23:23>; 45def bitfield OPCODE_22_8 <22: 8>; 46def bitfield OPCODE_22_21 <22:21>; 47def bitfield OPCODE_22 <22:22>; 48def bitfield OPCODE_21_20 <21:20>; 49def bitfield OPCODE_20 <20:20>; 50def bitfield OPCODE_19_18 <19:18>; 51def bitfield OPCODE_19 <19:19>; 52def bitfield OPCODE_15_12 <15:12>; 53def bitfield OPCODE_15 <15:15>; 54def bitfield OPCODE_9 < 9: 9>; 55def bitfield OPCODE_7_4 < 7: 4>; 56def bitfield OPCODE_7_5 < 7: 5>; 57def bitfield OPCODE_7_6 < 7: 6>; 58def bitfield OPCODE_7 < 7: 7>; 59def bitfield OPCODE_6_5 < 6: 5>; 60def bitfield OPCODE_6 < 6: 6>; 61def bitfield OPCODE_5 < 5: 5>; 62def bitfield OPCODE_4 < 4: 4>; | 37def bitfield OPCODE opcode; 38def bitfield OPCODE_27_25 opcode27_25; 39def bitfield OPCODE_24_21 opcode24_21; 40def bitfield OPCODE_24_23 opcode24_23; 41def bitfield OPCODE_24 opcode24; 42def bitfield OPCODE_23_20 opcode23_20; 43def bitfield OPCODE_23_21 opcode23_21; 44def bitfield OPCODE_23 opcode23; 45def bitfield OPCODE_22_8 opcode22_8; 46def bitfield OPCODE_22_21 opcode22_21; 47def bitfield OPCODE_22 opcode22; 48def bitfield OPCODE_21_20 opcode21_20; 49def bitfield OPCODE_20 opcode20; 50def bitfield OPCODE_19_18 opcode19_18; 51def bitfield OPCODE_19 opcode19; 52def bitfield OPCODE_15_12 opcode15_12; 53def bitfield OPCODE_15 opcode15; 54def bitfield OPCODE_9 opcode9; 55def bitfield OPCODE_7_4 opcode7_4; 56def bitfield OPCODE_7_5 opcode7_5; 57def bitfield OPCODE_7_6 opcode7_6; 58def bitfield OPCODE_7 opcode7; 59def bitfield OPCODE_6_5 opcode6_5; 60def bitfield OPCODE_6 opcode6; 61def bitfield OPCODE_5 opcode5; 62def bitfield OPCODE_4 opcode4; |
63 64// Other | 63 64// Other |
65def bitfield COND_CODE <31:28>; 66def bitfield S_FIELD <20:20>; 67def bitfield RN <19:16>; 68def bitfield RD <15:12>; 69def bitfield SHIFT_SIZE <11: 7>; 70def bitfield SHIFT < 6: 5>; 71def bitfield RM < 3: 0>; | 65def bitfield COND_CODE condCode; 66def bitfield S_FIELD sField; 67def bitfield RN rn; 68def bitfield RD rd; 69def bitfield SHIFT_SIZE shiftSize; 70def bitfield SHIFT shift; 71def bitfield RM rm; |
72 | 72 |
73def bitfield RS <11: 8>; | 73def bitfield RS rs; |
74 | 74 |
75def bitfield RDUP <19:16>; 76def bitfield RNDN <15:12>; | 75def bitfield RDUP rdup; 76def bitfield RNDN rddn; |
77 | 77 |
78def bitfield RDHI <15:12>; 79def bitfield RDLO <11: 8>; | 78def bitfield RDHI rdhi; 79def bitfield RDLO rdlo; |
80 | 80 |
81def bitfield U_FIELD <23:23>; | 81def bitfield U_FIELD uField; |
82 | 82 |
83def bitfield PUSWL <24:20>; 84def bitfield PREPOST <24:24>; 85def bitfield UP <23:23>; 86def bitfield PSRUSER <22:22>; 87def bitfield WRITEBACK <21:21>; 88def bitfield LOADOP <20:20>; | 83def bitfield PUSWL puswl; 84def bitfield PREPOST puswl.prepost; 85def bitfield UP puswl.up; 86def bitfield PSRUSER puswl.psruser; 87def bitfield WRITEBACK puswl.writeback; 88def bitfield LOADOP puswl.loadOp; |
89 | 89 |
90def bitfield PUBWL <24:20>; 91def bitfield PUIWL <24:20>; 92def bitfield BYTEACCESS <22:22>; | 90def bitfield PUBWL pubwl; 91def bitfield PUIWL puiwl; 92def bitfield BYTEACCESS byteAccess; |
93 | 93 |
94def bitfield LUAS <23:20>; | 94def bitfield LUAS luas; |
95 | 95 |
96def bitfield IMM < 7: 0>; 97def bitfield IMMED_7_4 < 7: 4>; 98def bitfield IMMED_3_0 < 3: 0>; | 96def bitfield IMM imm; 97def bitfield IMMED_7_4 immed7_4; 98def bitfield IMMED_3_0 immed3_0; |
99 | 99 |
100def bitfield F_MSR <19:19>; 101def bitfield S_MSR <18:18>; 102def bitfield X_MSR <17:17>; 103def bitfield C_MSR <16:16>; | 100def bitfield F_MSR msr.f; 101def bitfield S_MSR msr.s; 102def bitfield X_MSR msr.x; 103def bitfield C_MSR msr.c; |
104 | 104 |
105def bitfield Y_6 < 6: 6>; 106def bitfield X_5 < 5: 5>; | 105def bitfield Y_6 y; 106def bitfield X_5 x; |
107 | 107 |
108def bitfield IMMED_15_4 <15: 4>; | 108def bitfield IMMED_15_4 immed15_4; |
109 | 109 |
110def bitfield W_FIELD <21:21>; | 110def bitfield W_FIELD wField; |
111 | 111 |
112def bitfield ROTATE <11: 8>; 113def bitfield IMMED_7_0 < 7: 0>; | 112def bitfield ROTATE rotate; 113def bitfield IMMED_7_0 immed7_0; |
114 | 114 |
115def bitfield T_FIELD <21:21>; 116def bitfield IMMED_11_0 <11: 0>; | 115def bitfield T_FIELD tField; 116def bitfield IMMED_11_0 immed11_0; |
117 | 117 |
118def bitfield IMMED_20_16 <20:16>; 119def bitfield IMMED_19_16 <19:16>; | 118def bitfield IMMED_20_16 immed20_16; 119def bitfield IMMED_19_16 immed19_16; |
120 | 120 |
121def bitfield IMMED_HI_11_8 <11: 8>; 122def bitfield IMMED_LO_3_0 < 3: 0>; | 121def bitfield IMMED_HI_11_8 immedHi11_8; 122def bitfield IMMED_LO_3_0 immedLo3_0; |
123 | 123 |
124def bitfield ROT <11:10>; | 124def bitfield ROT rot; |
125 | 125 |
126def bitfield R_FIELD < 5: 5>; | 126def bitfield R_FIELD rField; |
127 | 127 |
128def bitfield CARET <22:22>; 129def bitfield REGLIST <15: 0>; | 128def bitfield CARET caret; 129def bitfield REGLIST regList; |
130 | 130 |
131def bitfield OFFSET <23: 0>; 132def bitfield COPRO <11: 8>; 133def bitfield OP1_7_4 < 7: 4>; 134def bitfield CM < 3: 0>; | 131def bitfield OFFSET offset; 132def bitfield COPRO copro; 133def bitfield OP1_7_4 op1_7_4; 134def bitfield CM cm; |
135 | 135 |
136def bitfield L_FIELD <22:22>; 137def bitfield CD <15:12>; 138def bitfield OPTION < 7: 0>; | 136def bitfield L_FIELD lField; 137def bitfield CD cd; 138def bitfield OPTION option; |
139 | 139 |
140def bitfield OP1_23_20 <23:20>; 141def bitfield CN <19:16>; 142def bitfield OP2_7_5 < 7: 5>; | 140def bitfield OP1_23_20 op1_23_20; 141def bitfield CN cn; 142def bitfield OP2_7_5 op2_7_5; |
143 | 143 |
144def bitfield OP1_23_21 <23:21>; | 144def bitfield OP1_23_21 op1_23_21; |
145 | 145 |
146def bitfield IMMED_23_0 <23: 0>; 147def bitfield M_FIELD <17:17>; 148def bitfield A_FIELD < 8: 8>; 149def bitfield I_FIELD < 7: 7>; 150def bitfield F_FIELD < 6: 6>; 151def bitfield MODE < 4: 0>; | 146def bitfield IMMED_23_0 immed23_0; 147def bitfield M_FIELD mField; 148def bitfield A_FIELD aField; 149def bitfield I_FIELD iField; 150def bitfield F_FIELD fField; 151def bitfield MODE mode; |
152 | 152 |
153def bitfield A_BLX <24:24>; | 153def bitfield A_BLX aBlx; |
154 | 154 |
155def bitfield CPNUM <11: 8>; | 155def bitfield CPNUM cpNum; |
156// Note that FP Regs are only 3 bits | 156// Note that FP Regs are only 3 bits |
157def bitfield FN <18:16>; 158def bitfield FD <14:12>; 159def bitfield FPREGIMM < 3: 3>; | 157def bitfield FN fn; 158def bitfield FD fd; 159def bitfield FPREGIMM fpRegImm; |
160// We can just use 3:0 for FM since the hard-wired FP regs are handled in 161// float_regfile.hh | 160// We can just use 3:0 for FM since the hard-wired FP regs are handled in 161// float_regfile.hh |
162def bitfield FM < 3: 0>; 163def bitfield FPIMM < 2: 0>; 164def bitfield PUNWL <24:20>; | 162def bitfield FM fm; 163def bitfield FPIMM fpImm; 164def bitfield PUNWL punwl; |
165 166// M5 instructions | 165 166// M5 instructions |
167def bitfield M5FUNC <7:0>; | 167def bitfield M5FUNC m5Func; |
168 | 168 |