types.hh (6269:8be7583b271c) | types.hh (6275:4a392427117d) |
---|---|
1/* 2 * Copyright (c) 2007-2008 The Florida State University 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 33 unchanged lines hidden (view full) --- 42 // Made up bitfields that make life easier. 43 Bitfield<33> sevenAndFour; 44 Bitfield<32> isMisc; 45 46 // All the different types of opcode fields. 47 Bitfield<27, 25> encoding; 48 Bitfield<24, 21> opcode; 49 Bitfield<24, 20> mediaOpcode; | 1/* 2 * Copyright (c) 2007-2008 The Florida State University 3 * All rights reserved. 4 * 5 * Redistribution and use in source and binary forms, with or without 6 * modification, are permitted provided that the following conditions are 7 * met: redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer; --- 33 unchanged lines hidden (view full) --- 42 // Made up bitfields that make life easier. 43 Bitfield<33> sevenAndFour; 44 Bitfield<32> isMisc; 45 46 // All the different types of opcode fields. 47 Bitfield<27, 25> encoding; 48 Bitfield<24, 21> opcode; 49 Bitfield<24, 20> mediaOpcode; |
50 Bitfield<24, 23> opcode24_23; | |
51 Bitfield<24> opcode24; 52 Bitfield<23, 20> opcode23_20; 53 Bitfield<23, 21> opcode23_21; | 50 Bitfield<24> opcode24; 51 Bitfield<23, 20> opcode23_20; 52 Bitfield<23, 21> opcode23_21; |
54 Bitfield<23> opcode23; 55 Bitfield<22, 8> opcode22_8; 56 Bitfield<22, 21> opcode22_21; | |
57 Bitfield<22> opcode22; | 53 Bitfield<22> opcode22; |
58 Bitfield<21, 20> opcode21_20; 59 Bitfield<20> opcode20; 60 Bitfield<19, 18> opcode19_18; | |
61 Bitfield<19> opcode19; 62 Bitfield<15, 12> opcode15_12; 63 Bitfield<15> opcode15; | 54 Bitfield<19> opcode19; 55 Bitfield<15, 12> opcode15_12; 56 Bitfield<15> opcode15; |
64 Bitfield<9> opcode9; | |
65 Bitfield<7, 4> miscOpcode; | 57 Bitfield<7, 4> miscOpcode; |
66 Bitfield<7, 5> opcode7_5; 67 Bitfield<7, 6> opcode7_6; | |
68 Bitfield<7> opcode7; | 58 Bitfield<7> opcode7; |
69 Bitfield<6, 5> opcode6_5; 70 Bitfield<6> opcode6; 71 Bitfield<5> opcode5; | |
72 Bitfield<4> opcode4; 73 74 Bitfield<31, 28> condCode; 75 Bitfield<20> sField; 76 Bitfield<19, 16> rn; 77 Bitfield<15, 12> rd; 78 Bitfield<11, 7> shiftSize; 79 Bitfield<6, 5> shift; 80 Bitfield<3, 0> rm; 81 82 Bitfield<11, 8> rs; 83 | 59 Bitfield<4> opcode4; 60 61 Bitfield<31, 28> condCode; 62 Bitfield<20> sField; 63 Bitfield<19, 16> rn; 64 Bitfield<15, 12> rd; 65 Bitfield<11, 7> shiftSize; 66 Bitfield<6, 5> shift; 67 Bitfield<3, 0> rm; 68 69 Bitfield<11, 8> rs; 70 |
84 Bitfield<19, 16> rdup; 85 Bitfield<15, 12> rddn; 86 87 Bitfield<15, 12> rdhi; 88 Bitfield<11, 8> rdlo; 89 90 Bitfield<23> uField; 91 | |
92 SubBitUnion(puswl, 24, 20) 93 Bitfield<24> prepost; 94 Bitfield<23> up; 95 Bitfield<22> psruser; 96 Bitfield<21> writeback; 97 Bitfield<20> loadOp; 98 EndSubBitUnion(puswl) 99 100 Bitfield<24, 20> pubwl; | 71 SubBitUnion(puswl, 24, 20) 72 Bitfield<24> prepost; 73 Bitfield<23> up; 74 Bitfield<22> psruser; 75 Bitfield<21> writeback; 76 Bitfield<20> loadOp; 77 EndSubBitUnion(puswl) 78 79 Bitfield<24, 20> pubwl; |
101 Bitfield<24, 20> puiwl; 102 Bitfield<22> byteAccess; | |
103 | 80 |
104 Bitfield<23, 20> luas; | 81 Bitfield<7, 0> imm; |
105 | 82 |
106 SubBitUnion(imm, 7, 0) 107 Bitfield<7, 4> imm7_4; 108 Bitfield<3, 0> imm3_0; 109 EndSubBitUnion(imm) 110 111 SubBitUnion(msr, 19, 16) 112 Bitfield<19> f; 113 Bitfield<18> s; 114 Bitfield<17> x; 115 Bitfield<16> c; 116 EndSubBitUnion(msr) 117 118 Bitfield<6> y; 119 Bitfield<5> x; 120 121 Bitfield<15, 4> immed15_4; 122 123 Bitfield<21> wField; 124 | |
125 Bitfield<11, 8> rotate; | 83 Bitfield<11, 8> rotate; |
126 Bitfield<7, 0> immed7_0; | |
127 | 84 |
128 Bitfield<21> tField; | |
129 Bitfield<11, 0> immed11_0; | 85 Bitfield<11, 0> immed11_0; |
86 Bitfield<7, 0> immed7_0; |
|
130 | 87 |
131 Bitfield<20, 16> immed20_16; 132 Bitfield<19, 16> immed19_16; 133 | |
134 Bitfield<11, 8> immedHi11_8; 135 Bitfield<3, 0> immedLo3_0; | 88 Bitfield<11, 8> immedHi11_8; 89 Bitfield<3, 0> immedLo3_0; |
136 137 Bitfield<11, 10> rot; | |
138 | 90 |
139 Bitfield<5> rField; 140 141 Bitfield<22> caret; | |
142 Bitfield<15, 0> regList; 143 144 Bitfield<23, 0> offset; | 91 Bitfield<15, 0> regList; 92 93 Bitfield<23, 0> offset; |
145 Bitfield<11, 8> copro; 146 Bitfield<7, 4> op1_7_4; 147 Bitfield<3, 0> cm; | |
148 | 94 |
149 Bitfield<22> lField; 150 Bitfield<15, 12> cd; 151 Bitfield<7, 0> option; 152 153 Bitfield<23, 20> op1_23_20; 154 Bitfield<19, 16> cn; 155 Bitfield<7, 5> op2_7_5; 156 157 Bitfield<23, 21> op1_23_21; 158 | |
159 Bitfield<23, 0> immed23_0; | 95 Bitfield<23, 0> immed23_0; |
160 Bitfield<17> mField; 161 Bitfield<8> aField; 162 Bitfield<7> iField; 163 Bitfield<6> fField; 164 Bitfield<4, 0> mode; | |
165 | 96 |
166 Bitfield<24> aBlx; 167 | |
168 Bitfield<11, 8> cpNum; 169 Bitfield<18, 16> fn; 170 Bitfield<14, 12> fd; 171 Bitfield<3> fpRegImm; 172 Bitfield<3, 0> fm; 173 Bitfield<2, 0> fpImm; 174 Bitfield<24, 20> punwl; 175 --- 86 unchanged lines hidden --- | 97 Bitfield<11, 8> cpNum; 98 Bitfield<18, 16> fn; 99 Bitfield<14, 12> fd; 100 Bitfield<3> fpRegImm; 101 Bitfield<3, 0> fm; 102 Bitfield<2, 0> fpImm; 103 Bitfield<24, 20> punwl; 104 --- 86 unchanged lines hidden --- |