bitfields.isa revision 2601
1// -*- mode:c++ -*- 2 3//////////////////////////////////////////////////////////////////// 4// 5// Bitfield definitions. 6// 7 8def bitfield OPCODE <31:26>; 9def bitfield OPCODE_HI <31:29>; 10def bitfield OPCODE_LO <28:26>; 11 12def bitfield REGIMM <20:16>; 13def bitfield REGIMM_HI <20:19>; 14def bitfield REGIMM_LO <18:16>; 15 16def bitfield FUNCTION < 5: 0>; 17def bitfield FUNCTION_HI < 5: 3>; 18def bitfield FUNCTION_LO < 2: 0>; 19 20// Integer operate format 21def bitfield RT <20:16>; 22def bitfield RT_HI <20:19>; 23def bitfield RT_LO <18:16>; 24 25def bitfield RS <25:21>; 26def bitfield RS_MSB <25:25>; 27def bitfield RS_HI <25:24>; 28def bitfield RS_LO <23:21>; 29def bitfield RS_SRL <25:22>; 30 31def bitfield RD <15:11>; 32 33def bitfield INTIMM <15: 0>; // integer immediate (literal) 34 35// Floating-point operate format 36def bitfield FMT <25:21>; 37def bitfield FR <25:21>; 38def bitfield FT <20:16>; 39def bitfield FS <15:11>; 40def bitfield FD <10:6>; 41 42def bitfield ND <17:17>; 43def bitfield TF <16:16>; 44def bitfield MOVCI <16:16>; 45def bitfield MOVCF <16:16>; 46def bitfield SRL <21:21>; 47def bitfield SRLV < 6: 6>; 48def bitfield SA <10: 6>; 49 50// Floating Point Condition Codes 51def bitfield CC <10:8>; 52def bitfield BRANCH_CC <20:18>; 53 54// CP0 Register Select 55def bitfield SEL < 2: 0>; 56 57// Interrupts 58def bitfield SC < 5: 5>; 59 60// Branch format 61def bitfield OFFSET <15: 0>; // displacement 62 63// Jmp format 64def bitfield JMPTARG <25: 0>; 65def bitfield HINT <10: 6>; 66 67def bitfield SYSCALLCODE <25: 6>; 68def bitfield TRAPCODE <15:13>; 69 70// M5 instructions 71def bitfield M5FUNC <7:0>; 72