@@ -215,54 +215,54 @@ const int kRvcFunct6Shift = 10;
215
215
const int kRvcFunct6Bits = 6 ;
216
216
217
217
// RISCV Instruction bit masks
218
- const int kBaseOpcodeMask = ((1 << kBaseOpcodeBits ) - 1 ) << kBaseOpcodeShift ;
219
- const int kFunct3Mask = ((1 << kFunct3Bits ) - 1 ) << kFunct3Shift ;
220
- const int kFunct5Mask = ((1 << kFunct5Bits ) - 1 ) << kFunct5Shift ;
221
- const int kFunct7Mask = ((1 << kFunct7Bits ) - 1 ) << kFunct7Shift ;
222
- const int kFunct2Mask = 0b11 << kFunct7Shift ;
223
- const int kRTypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct7Mask ;
224
- const int kRATypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct5Mask ;
225
- const int kRFPTypeMask = kBaseOpcodeMask | kFunct7Mask ;
226
- const int kR4TypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct2Mask ;
227
- const int kITypeMask = kBaseOpcodeMask | kFunct3Mask ;
228
- const int kSTypeMask = kBaseOpcodeMask | kFunct3Mask ;
229
- const int kBTypeMask = kBaseOpcodeMask | kFunct3Mask ;
230
- const int kUTypeMask = kBaseOpcodeMask ;
231
- const int kJTypeMask = kBaseOpcodeMask ;
232
- const int kRs1FieldMask = ((1 << kRs1Bits ) - 1 ) << kRs1Shift ;
233
- const int kRs2FieldMask = ((1 << kRs2Bits ) - 1 ) << kRs2Shift ;
234
- const int kRs3FieldMask = ((1 << kRs3Bits ) - 1 ) << kRs3Shift ;
235
- const int kRdFieldMask = ((1 << kRdBits ) - 1 ) << kRdShift ;
236
- const int kBImm12Mask = kFunct7Mask | kRdFieldMask ;
237
- const int kImm20Mask = ((1 << kImm20Bits ) - 1 ) << kImm20Shift ;
238
- const int kImm12Mask = ((1 << kImm12Bits ) - 1 ) << kImm12Shift ;
239
- const int kImm11Mask = ((1 << kImm11Bits ) - 1 ) << kImm11Shift ;
240
- const int kImm31_12Mask = ((1 << 20 ) - 1 ) << 12 ;
241
- const int kImm19_0Mask = ((1 << 20 ) - 1 );
242
- const int kRvcOpcodeMask =
218
+ const uint32_t kBaseOpcodeMask = ((1 << kBaseOpcodeBits ) - 1 ) << kBaseOpcodeShift ;
219
+ const uint32_t kFunct3Mask = ((1 << kFunct3Bits ) - 1 ) << kFunct3Shift ;
220
+ const uint32_t kFunct5Mask = ((1 << kFunct5Bits ) - 1 ) << kFunct5Shift ;
221
+ const uint32_t kFunct7Mask = ((1 << kFunct7Bits ) - 1 ) << kFunct7Shift ;
222
+ const uint32_t kFunct2Mask = 0b11 << kFunct7Shift ;
223
+ const uint32_t kRTypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct7Mask ;
224
+ const uint32_t kRATypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct5Mask ;
225
+ const uint32_t kRFPTypeMask = kBaseOpcodeMask | kFunct7Mask ;
226
+ const uint32_t kR4TypeMask = kBaseOpcodeMask | kFunct3Mask | kFunct2Mask ;
227
+ const uint32_t kITypeMask = kBaseOpcodeMask | kFunct3Mask ;
228
+ const uint32_t kSTypeMask = kBaseOpcodeMask | kFunct3Mask ;
229
+ const uint32_t kBTypeMask = kBaseOpcodeMask | kFunct3Mask ;
230
+ const uint32_t kUTypeMask = kBaseOpcodeMask ;
231
+ const uint32_t kJTypeMask = kBaseOpcodeMask ;
232
+ const uint32_t kRs1FieldMask = ((1 << kRs1Bits ) - 1 ) << kRs1Shift ;
233
+ const uint32_t kRs2FieldMask = ((1 << kRs2Bits ) - 1 ) << kRs2Shift ;
234
+ const uint32_t kRs3FieldMask = ((1 << kRs3Bits ) - 1 ) << kRs3Shift ;
235
+ const uint32_t kRdFieldMask = ((1 << kRdBits ) - 1 ) << kRdShift ;
236
+ const uint32_t kBImm12Mask = kFunct7Mask | kRdFieldMask ;
237
+ const uint32_t kImm20Mask = ((1 << kImm20Bits ) - 1 ) << kImm20Shift ;
238
+ const uint32_t kImm12Mask = ((1 << kImm12Bits ) - 1 ) << kImm12Shift ;
239
+ const uint32_t kImm11Mask = ((1 << kImm11Bits ) - 1 ) << kImm11Shift ;
240
+ const uint32_t kImm31_12Mask = ((1 << 20 ) - 1 ) << 12 ;
241
+ const uint32_t kImm19_0Mask = ((1 << 20 ) - 1 );
242
+ const uint32_t kRvcOpcodeMask =
243
243
0b11 | (((1 << kRvcFunct3Bits ) - 1 ) << kRvcFunct3Shift );
244
- const int kRvcFunct3Mask = (((1 << kRvcFunct3Bits ) - 1 ) << kRvcFunct3Shift );
245
- const int kRvcFunct4Mask = (((1 << kRvcFunct4Bits ) - 1 ) << kRvcFunct4Shift );
246
- const int kRvcFunct6Mask = (((1 << kRvcFunct6Bits ) - 1 ) << kRvcFunct6Shift );
247
- const int kRvcFunct2Mask = (((1 << kRvcFunct2Bits ) - 1 ) << kRvcFunct2Shift );
248
- const int kCRTypeMask = kRvcOpcodeMask | kRvcFunct4Mask ;
249
- const int kCSTypeMask = kRvcOpcodeMask | kRvcFunct6Mask ;
250
- const int kCATypeMask = kRvcOpcodeMask | kRvcFunct6Mask | kRvcFunct2Mask ;
244
+ const uint32_t kRvcFunct3Mask = (((1 << kRvcFunct3Bits ) - 1 ) << kRvcFunct3Shift );
245
+ const uint32_t kRvcFunct4Mask = (((1 << kRvcFunct4Bits ) - 1 ) << kRvcFunct4Shift );
246
+ const uint32_t kRvcFunct6Mask = (((1 << kRvcFunct6Bits ) - 1 ) << kRvcFunct6Shift );
247
+ const uint32_t kRvcFunct2Mask = (((1 << kRvcFunct2Bits ) - 1 ) << kRvcFunct2Shift );
248
+ const uint32_t kCRTypeMask = kRvcOpcodeMask | kRvcFunct4Mask ;
249
+ const uint32_t kCSTypeMask = kRvcOpcodeMask | kRvcFunct6Mask ;
250
+ const uint32_t kCATypeMask = kRvcOpcodeMask | kRvcFunct6Mask | kRvcFunct2Mask ;
251
251
252
252
// RISCV CSR related bit mask and shift
253
253
const int kFcsrFlagsBits = 5 ;
254
- const int kFcsrFlagsMask = (1 << kFcsrFlagsBits ) - 1 ;
254
+ const uint32_t kFcsrFlagsMask = (1 << kFcsrFlagsBits ) - 1 ;
255
255
const int kFcsrFrmBits = 3 ;
256
256
const int kFcsrFrmShift = kFcsrFlagsBits ;
257
- const int kFcsrFrmMask = ((1 << kFcsrFrmBits ) - 1 ) << kFcsrFrmShift ;
257
+ const uint32_t kFcsrFrmMask = ((1 << kFcsrFrmBits ) - 1 ) << kFcsrFrmShift ;
258
258
const int kFcsrBits = kFcsrFlagsBits + kFcsrFrmBits ;
259
- const int kFcsrMask = kFcsrFlagsMask | kFcsrFrmMask ;
259
+ const uint32_t kFcsrMask = kFcsrFlagsMask | kFcsrFrmMask ;
260
260
261
261
// Original MIPS constants
262
262
// TODO(RISCV): to be cleaned up
263
263
const int kImm16Shift = 0 ;
264
264
const int kImm16Bits = 16 ;
265
- const int kImm16Mask = ((1 << kImm16Bits ) - 1 ) << kImm16Shift ;
265
+ const uint32_t kImm16Mask = ((1 << kImm16Bits ) - 1 ) << kImm16Shift ;
266
266
// end of TODO(RISCV): to be cleaned up
267
267
268
268
// ----- RISCV Base Opcodes
0 commit comments