bitfields.isa revision 2124
1// -*- mode:c++ -*-
2
3////////////////////////////////////////////////////////////////////
4//
5// Bitfield definitions.
6//
7
8def bitfield OPCODE_HI  <31:29>;
9def bitfield OPCODE_LO  <28:26>;
10
11def bitfield FUNCTION_HI   < 5: 3>;
12def bitfield FUNCTION_LO   < 2: 0>;
13
14// Integer operate format
15def bitfield RT	      <20:16>;
16def bitfield RT_HI    <20:19>;
17def bitfield RT_LO    <18:16>;
18
19def bitfield RS	      <25:21>;
20def bitfield RS_MSB   <25:25>;
21def bitfield RS_HI    <25:24>;
22def bitfield RS_LO    <23:21>;
23
24def bitfield RD	      <15:11>;
25
26def bitfield INTIMM	<15: 0>; // integer immediate (literal)
27
28// Floating-point operate format
29def bitfield FMT      <25:21>;
30def bitfield FT	      <20:16>;
31def bitfield FS	      <15:11>;
32def bitfield FD	      <10:6>;
33
34def bitfield MOVCI    <16:16>;
35def bitfield MOVCF    <16:16>;
36def bitfield SRL      <21:21>;
37def bitfield SRLV     < 6: 6>;
38def bitfield SA       <10: 6>;
39
40// Interrupts
41def bitfield SC       < 5: 5>;
42
43// Branch format
44def bitfield OFFSET <15: 0>; // displacement
45
46// Jmp format
47def bitfield JMPTARG	<25: 0>;
48def bitfield JMPHINT	<10: 6>;
49
50def bitfield SYSCALLCODE <25: 6>;
51def bitfield TRAPCODE    <15:13>;
52
53// M5 instructions
54def bitfield M5FUNC <7:0>;
55