bitfields.isa revision 2025
1//////////////////////////////////////////////////////////////////// 2// 3// Bitfield definitions. 4// 5 6// Universal (format-independent) fields 7def bitfield OPCODE_HI <31:29>; 8def bitfield OPCODE_LO <28:26>; 9 10def bitfield SPECIAL_HI < 5: 3>; 11def bitfield SPECIAL_HI < 2: 0>; 12 13def bitfield REGIMM_HI <20:19>; 14def bitfield REGIMM_LO <18:16>; 15 16def bitfield RS <25:21>; 17def bitfield RT <20:16>; 18 19// Integer operate format(s>; 20def bitfield INTIMM <15: 0>; // integer immediate (literal) 21def bitfield IMM <12:12>; // immediate flag 22def bitfield INTFUNC <11: 5>; // function code 23def bitfield RD <15:11>; // dest reg 24 25// Memory format 26def signed bitfield MEMDISP <15: 0>; // displacement 27def bitfield MEMFUNC <15: 0>; // function code (same field, unsigned) 28 29// Memory-format jumps 30def bitfield JMPFUNC <15:14>; // function code (disp<15:14>) 31def bitfield JMPHINT <13: 0>; // tgt Icache idx hint (disp<13:0>) 32 33// Branch format 34def signed bitfield BRDISP <20: 0>; // displacement 35 36// Floating-point operate format 37def bitfield FMT <25:21>; 38def bitfield FT <20:16>; 39def bitfield FS <15:11>; 40def bitfield FD <10: 6>; 41 42def bitfield FP_FULLFUNC <15: 5>; // complete function code 43 def bitfield FP_TRAPMODE <15:13>; // trapping mode 44 def bitfield FP_ROUNDMODE <12:11>; // rounding mode 45 def bitfield FP_TYPEFUNC <10: 5>; // type+func: handiest for decoding 46 def bitfield FP_SRCTYPE <10: 9>; // source reg type 47 def bitfield FP_SHORTFUNC < 8: 5>; // short function code 48 def bitfield FP_SHORTFUNC_TOP2 <8:7>; // top 2 bits of short func code 49 50// PALcode format 51def bitfield PALFUNC <25: 0>; // function code 52 53// EV5 PAL instructions: 54// HW_LD/HW_ST 55def bitfield HW_LDST_PHYS <15>; // address is physical 56def bitfield HW_LDST_ALT <14>; // use ALT_MODE IPR 57def bitfield HW_LDST_WRTCK <13>; // HW_LD only: fault if no write acc 58def bitfield HW_LDST_QUAD <12>; // size: 0=32b, 1=64b 59def bitfield HW_LDST_VPTE <11>; // HW_LD only: is PTE fetch 60def bitfield HW_LDST_LOCK <10>; // HW_LD only: is load locked 61def bitfield HW_LDST_COND <10>; // HW_ST only: is store conditional 62def signed bitfield HW_LDST_DISP <9:0>; // signed displacement 63 64// HW_REI 65def bitfield HW_REI_TYP <15:14>; // type: stalling vs. non-stallingk 66def bitfield HW_REI_MBZ <13: 0>; // must be zero 67 68// HW_MTPR/MW_MFPR 69def bitfield HW_IPR_IDX <15:0>; // IPR index 70 71// M5 instructions 72def bitfield M5FUNC <7:0>; 73