bitfields.isa (2686:f0d591379ac3) bitfields.isa (2706:d88c27f75121)
1// -*- mode:c++ -*-
2
1// -*- mode:c++ -*-
2
3// Copyright (c) 2003-2006 The Regents of The University of Michigan
4// All rights reserved.
5//
6// Redistribution and use in source and binary forms, with or without
7// modification, are permitted provided that the following conditions are
8// met: redistributions of source code must retain the above copyright
9// notice, this list of conditions and the following disclaimer;
10// redistributions in binary form must reproduce the above copyright
11// notice, this list of conditions and the following disclaimer in the
12// documentation and/or other materials provided with the distribution;
13// neither the name of the copyright holders nor the names of its
14// contributors may be used to endorse or promote products derived from
15// this software without specific prior written permission.
16//
17// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
18// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
19// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
20// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
21// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
22// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
23// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
24// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
25// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
26// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
27// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
28//
29// Authors: Korey Sewell
30
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
20def bitfield RS <25:21>;
21def bitfield RS_MSB <25:25>;
22def bitfield RS_HI <25:24>;
23def bitfield RS_LO <23:21>;
24def bitfield RS_SRL <25:22>;
25def bitfield RS_RT <25:16>;
26def bitfield RT <20:16>;
27def bitfield RT_HI <20:19>;
28def bitfield RT_LO <18:16>;
29def bitfield RT_RD <20:11>;
30def bitfield RD <15:11>;
31
32def bitfield INTIMM <15: 0>;
33
34// Floating-point operate format
35def bitfield FMT <25:21>;
36def bitfield FR <25:21>;
37def bitfield FT <20:16>;
38def bitfield FS <15:11>;
39def bitfield FD <10:6>;
40
41def bitfield ND <17:17>;
42def bitfield TF <16:16>;
43def bitfield MOVCI <16:16>;
44def bitfield MOVCF <16:16>;
45def bitfield SRL <21:21>;
46def bitfield SRLV < 6: 6>;
47def bitfield SA <10: 6>;
48
49// Floating Point Condition Codes
50def bitfield CC <10:8>;
51def bitfield BRANCH_CC <20:18>;
52
53// CP0 Register Select
54def bitfield SEL < 2: 0>;
55
56// Interrupts
57def bitfield SC < 5: 5>;
58
59// Branch format
60def bitfield OFFSET <15: 0>; // displacement
61
62// Jmp format
63def bitfield JMPTARG <25: 0>;
64def bitfield HINT <10: 6>;
65
66def bitfield SYSCALLCODE <25: 6>;
67def bitfield TRAPCODE <15:13>;
68
69// EXT/INS instructions
70def bitfield MSB <15:11>;
71def bitfield LSB <10: 6>;
72
73// M5 instructions
74def bitfield M5FUNC <7:0>;
31////////////////////////////////////////////////////////////////////
32//
33// Bitfield definitions.
34//
35
36def bitfield OPCODE <31:26>;
37def bitfield OPCODE_HI <31:29>;
38def bitfield OPCODE_LO <28:26>;
39
40def bitfield REGIMM <20:16>;
41def bitfield REGIMM_HI <20:19>;
42def bitfield REGIMM_LO <18:16>;
43
44def bitfield FUNCTION < 5: 0>;
45def bitfield FUNCTION_HI < 5: 3>;
46def bitfield FUNCTION_LO < 2: 0>;
47
48def bitfield RS <25:21>;
49def bitfield RS_MSB <25:25>;
50def bitfield RS_HI <25:24>;
51def bitfield RS_LO <23:21>;
52def bitfield RS_SRL <25:22>;
53def bitfield RS_RT <25:16>;
54def bitfield RT <20:16>;
55def bitfield RT_HI <20:19>;
56def bitfield RT_LO <18:16>;
57def bitfield RT_RD <20:11>;
58def bitfield RD <15:11>;
59
60def bitfield INTIMM <15: 0>;
61
62// Floating-point operate format
63def bitfield FMT <25:21>;
64def bitfield FR <25:21>;
65def bitfield FT <20:16>;
66def bitfield FS <15:11>;
67def bitfield FD <10:6>;
68
69def bitfield ND <17:17>;
70def bitfield TF <16:16>;
71def bitfield MOVCI <16:16>;
72def bitfield MOVCF <16:16>;
73def bitfield SRL <21:21>;
74def bitfield SRLV < 6: 6>;
75def bitfield SA <10: 6>;
76
77// Floating Point Condition Codes
78def bitfield CC <10:8>;
79def bitfield BRANCH_CC <20:18>;
80
81// CP0 Register Select
82def bitfield SEL < 2: 0>;
83
84// Interrupts
85def bitfield SC < 5: 5>;
86
87// Branch format
88def bitfield OFFSET <15: 0>; // displacement
89
90// Jmp format
91def bitfield JMPTARG <25: 0>;
92def bitfield HINT <10: 6>;
93
94def bitfield SYSCALLCODE <25: 6>;
95def bitfield TRAPCODE <15:13>;
96
97// EXT/INS instructions
98def bitfield MSB <15:11>;
99def bitfield LSB <10: 6>;
100
101// M5 instructions
102def bitfield M5FUNC <7:0>;