view core/sim/bdir_dut/ProcTypes.bi @ 1:91a1f76ddd62 pygar svn.2

[svn r2] Adding initial lab 5 source
author punk
date Tue, 13 Apr 2010 17:34:33 -0400
parents
children
line wrap: on
line source
1 signature ProcTypes where {
2 import ¶Counter®¶;
4 import ¶FIFOF_®¶;
6 import ¶FIFOF®¶;
8 import ¶FIFO®¶;
10 import ¶Inout®¶;
12 import ¶List®¶;
14 import ¶Clocks®¶;
16 import ¶ListN®¶;
18 import ¶PrimArray®¶;
20 import ¶Vector®¶;
22 import ¶Connectable®¶;
24 import ¶GetPut®¶;
26 import ¶ClientServer®¶;
28 import Trace;
30 type (ProcTypes.Addr :: *) = ¶Prelude®¶.¶Bit®¶ 32;
32 type (ProcTypes.Stat :: *) = ¶Prelude®¶.¶Int®¶ 18;
34 type (ProcTypes.Rindx :: *) = ¶Prelude®¶.¶Bit®¶ 5;
36 type (ProcTypes.Simm :: *) = ¶Prelude®¶.¶Bit®¶ 16;
38 type (ProcTypes.Zimm :: *) = ¶Prelude®¶.¶Bit®¶ 16;
40 type (ProcTypes.Epoch :: *) = ¶Prelude®¶.¶Bit®¶ 8;
42 type (ProcTypes.Shamt :: *) = ¶Prelude®¶.¶Bit®¶ 5;
44 type (ProcTypes.Target :: *) = ¶Prelude®¶.¶Bit®¶ 26;
46 type (ProcTypes.CP0indx :: *) = ¶Prelude®¶.¶Bit®¶ 5;
48 type (ProcTypes.Data :: *) = ¶Prelude®¶.¶Bit®¶ 32;
50 data (ProcTypes.Direction :: *) = ProcTypes.Taken () | ProcTypes.NotTaken ();
52 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.Direction;
54 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.Direction;
56 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.Direction;
58 instance ProcTypes ¶Prelude®¶.¶Bits®¶ ProcTypes.Direction 1;
60 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.Direction;
62 data (ProcTypes.WritebackType :: *) =
63 ProcTypes.ALUWB (¶Prelude®¶.¶Tuple2®¶ ProcTypes.Rindx ProcTypes.Data) |
64 ProcTypes.MemWB ProcTypes.Rindx |
65 ProcTypes.CoWB (¶Prelude®¶.¶Tuple2®¶ ProcTypes.Rindx ProcTypes.Data);
67 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.WritebackType;
69 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.WritebackType;
71 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.WritebackType;
73 instance ProcTypes ¶Prelude®¶.¶Bits®¶ ProcTypes.WritebackType 39;
75 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.WritebackType;
77 data (ProcTypes.WBResult :: *) =
78 ProcTypes.WB_ALU ProcTypes.¶WBResult_$WB_ALU¶ |
79 ProcTypes.WB_Host (¶Prelude®¶.¶Bit®¶ 32) |
80 ProcTypes.WB_Load ProcTypes.Rindx |
81 ProcTypes.WB_Store ();
83 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.WBResult;
85 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.WBResult;
87 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.WBResult;
89 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.WBResult;
91 instance ProcTypes ¶Prelude®¶.¶Bits®¶ ProcTypes.WBResult 39;
93 struct (ProcTypes.¶WBResult_$WB_ALU¶ :: *) = {
94 ProcTypes.¡data¡ :: ¶Prelude®¶.¶Bit®¶ 32;
95 ProcTypes.dest :: ProcTypes.Rindx
96 };
98 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶WBResult_$WB_ALU¶;
100 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶WBResult_$WB_ALU¶;
102 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶WBResult_$WB_ALU¶;
104 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶WBResult_$WB_ALU¶;
106 instance ProcTypes ¶Prelude®¶.¶Bits®¶ ProcTypes.¶WBResult_$WB_ALU¶ 37;
108 struct (ProcTypes.PCStat :: *) = {
109 ProcTypes.qpc :: ProcTypes.Addr;
110 ProcTypes.qnxtpc :: ProcTypes.Addr;
111 ProcTypes.qepoch :: ProcTypes.Epoch
112 };
114 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.PCStat;
116 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.PCStat;
118 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.PCStat;
120 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.PCStat;
122 instance ProcTypes ¶Prelude®¶.¶Bits®¶ ProcTypes.PCStat 72;
124 data (ProcTypes.Instr :: *) =
125 ProcTypes.LW ProcTypes.¶Instr_$LW¶ |
126 ProcTypes.SW ProcTypes.¶Instr_$SW¶ |
127 ProcTypes.ADDIU ProcTypes.¶Instr_$ADDIU¶ |
128 ProcTypes.SLTI ProcTypes.¶Instr_$SLTI¶ |
129 ProcTypes.SLTIU ProcTypes.¶Instr_$SLTIU¶ |
130 ProcTypes.ANDI ProcTypes.¶Instr_$ANDI¶ |
131 ProcTypes.ORI ProcTypes.¶Instr_$ORI¶ |
132 ProcTypes.XORI ProcTypes.¶Instr_$XORI¶ |
133 ProcTypes.LUI ProcTypes.¶Instr_$LUI¶ |
134 ProcTypes.SLL ProcTypes.¶Instr_$SLL¶ |
135 ProcTypes.SRL ProcTypes.¶Instr_$SRL¶ |
136 ProcTypes.SRA ProcTypes.¶Instr_$SRA¶ |
137 ProcTypes.SLLV ProcTypes.¶Instr_$SLLV¶ |
138 ProcTypes.SRLV ProcTypes.¶Instr_$SRLV¶ |
139 ProcTypes.SRAV ProcTypes.¶Instr_$SRAV¶ |
140 ProcTypes.ADDU ProcTypes.¶Instr_$ADDU¶ |
141 ProcTypes.SUBU ProcTypes.¶Instr_$SUBU¶ |
142 ProcTypes.AND ProcTypes.¶Instr_$AND¶ |
143 ProcTypes.OR ProcTypes.¶Instr_$OR¶ |
144 ProcTypes.XOR ProcTypes.¶Instr_$XOR¶ |
145 ProcTypes.NOR ProcTypes.¶Instr_$NOR¶ |
146 ProcTypes.SLT ProcTypes.¶Instr_$SLT¶ |
147 ProcTypes.SLTU ProcTypes.¶Instr_$SLTU¶ |
148 ProcTypes.J ProcTypes.¶Instr_$J¶ |
149 ProcTypes.JAL ProcTypes.¶Instr_$JAL¶ |
150 ProcTypes.JR ProcTypes.¶Instr_$JR¶ |
151 ProcTypes.JALR ProcTypes.¶Instr_$JALR¶ |
152 ProcTypes.BEQ ProcTypes.¶Instr_$BEQ¶ |
153 ProcTypes.BNE ProcTypes.¶Instr_$BNE¶ |
154 ProcTypes.BLEZ ProcTypes.¶Instr_$BLEZ¶ |
155 ProcTypes.BGTZ ProcTypes.¶Instr_$BGTZ¶ |
156 ProcTypes.BLTZ ProcTypes.¶Instr_$BLTZ¶ |
157 ProcTypes.BGEZ ProcTypes.¶Instr_$BGEZ¶ |
158 ProcTypes.MFC0 ProcTypes.¶Instr_$MFC0¶ |
159 ProcTypes.MTC0 ProcTypes.¶Instr_$MTC0¶ |
160 ProcTypes.ILLEGAL ();
162 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.Instr;
164 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.Instr;
166 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.Instr;
168 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.Instr;
170 struct (ProcTypes.¶Instr_$LW¶ :: *) = {
171 ProcTypes.rbase :: ProcTypes.Rindx;
172 ProcTypes.rdst :: ProcTypes.Rindx;
173 ProcTypes.offset :: ProcTypes.Simm
174 };
176 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$LW¶;
178 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$LW¶;
180 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$LW¶;
182 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$LW¶;
184 struct (ProcTypes.¶Instr_$SW¶ :: *) = {
185 ProcTypes.rbase :: ProcTypes.Rindx;
186 ProcTypes.rsrc :: ProcTypes.Rindx;
187 ProcTypes.offset :: ProcTypes.Simm
188 };
190 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SW¶;
192 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SW¶;
194 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SW¶;
196 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SW¶;
198 struct (ProcTypes.¶Instr_$ADDIU¶ :: *) = {
199 ProcTypes.rsrc :: ProcTypes.Rindx;
200 ProcTypes.rdst :: ProcTypes.Rindx;
201 ProcTypes.imm :: ProcTypes.Simm
202 };
204 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$ADDIU¶;
206 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$ADDIU¶;
208 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$ADDIU¶;
210 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$ADDIU¶;
212 struct (ProcTypes.¶Instr_$SLTI¶ :: *) = {
213 ProcTypes.rsrc :: ProcTypes.Rindx;
214 ProcTypes.rdst :: ProcTypes.Rindx;
215 ProcTypes.imm :: ProcTypes.Simm
216 };
218 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SLTI¶;
220 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SLTI¶;
222 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SLTI¶;
224 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SLTI¶;
226 struct (ProcTypes.¶Instr_$SLTIU¶ :: *) = {
227 ProcTypes.rsrc :: ProcTypes.Rindx;
228 ProcTypes.rdst :: ProcTypes.Rindx;
229 ProcTypes.imm :: ProcTypes.Simm
230 };
232 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SLTIU¶;
234 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SLTIU¶;
236 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SLTIU¶;
238 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SLTIU¶;
240 struct (ProcTypes.¶Instr_$ANDI¶ :: *) = {
241 ProcTypes.rsrc :: ProcTypes.Rindx;
242 ProcTypes.rdst :: ProcTypes.Rindx;
243 ProcTypes.imm :: ProcTypes.Zimm
244 };
246 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$ANDI¶;
248 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$ANDI¶;
250 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$ANDI¶;
252 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$ANDI¶;
254 struct (ProcTypes.¶Instr_$ORI¶ :: *) = {
255 ProcTypes.rsrc :: ProcTypes.Rindx;
256 ProcTypes.rdst :: ProcTypes.Rindx;
257 ProcTypes.imm :: ProcTypes.Zimm
258 };
260 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$ORI¶;
262 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$ORI¶;
264 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$ORI¶;
266 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$ORI¶;
268 struct (ProcTypes.¶Instr_$XORI¶ :: *) = {
269 ProcTypes.rsrc :: ProcTypes.Rindx;
270 ProcTypes.rdst :: ProcTypes.Rindx;
271 ProcTypes.imm :: ProcTypes.Zimm
272 };
274 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$XORI¶;
276 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$XORI¶;
278 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$XORI¶;
280 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$XORI¶;
282 struct (ProcTypes.¶Instr_$LUI¶ :: *) = {
283 ProcTypes.rdst :: ProcTypes.Rindx;
284 ProcTypes.imm :: ProcTypes.Zimm
285 };
287 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$LUI¶;
289 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$LUI¶;
291 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$LUI¶;
293 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$LUI¶;
295 struct (ProcTypes.¶Instr_$SLL¶ :: *) = {
296 ProcTypes.rsrc :: ProcTypes.Rindx;
297 ProcTypes.rdst :: ProcTypes.Rindx;
298 ProcTypes.shamt :: ProcTypes.Shamt
299 };
301 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SLL¶;
303 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SLL¶;
305 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SLL¶;
307 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SLL¶;
309 struct (ProcTypes.¶Instr_$SRL¶ :: *) = {
310 ProcTypes.rsrc :: ProcTypes.Rindx;
311 ProcTypes.rdst :: ProcTypes.Rindx;
312 ProcTypes.shamt :: ProcTypes.Shamt
313 };
315 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SRL¶;
317 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SRL¶;
319 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SRL¶;
321 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SRL¶;
323 struct (ProcTypes.¶Instr_$SRA¶ :: *) = {
324 ProcTypes.rsrc :: ProcTypes.Rindx;
325 ProcTypes.rdst :: ProcTypes.Rindx;
326 ProcTypes.shamt :: ProcTypes.Shamt
327 };
329 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SRA¶;
331 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SRA¶;
333 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SRA¶;
335 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SRA¶;
337 struct (ProcTypes.¶Instr_$SLLV¶ :: *) = {
338 ProcTypes.rsrc :: ProcTypes.Rindx;
339 ProcTypes.rdst :: ProcTypes.Rindx;
340 ProcTypes.rshamt :: ProcTypes.Rindx
341 };
343 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SLLV¶;
345 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SLLV¶;
347 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SLLV¶;
349 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SLLV¶;
351 struct (ProcTypes.¶Instr_$SRLV¶ :: *) = {
352 ProcTypes.rsrc :: ProcTypes.Rindx;
353 ProcTypes.rdst :: ProcTypes.Rindx;
354 ProcTypes.rshamt :: ProcTypes.Rindx
355 };
357 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SRLV¶;
359 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SRLV¶;
361 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SRLV¶;
363 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SRLV¶;
365 struct (ProcTypes.¶Instr_$SRAV¶ :: *) = {
366 ProcTypes.rsrc :: ProcTypes.Rindx;
367 ProcTypes.rdst :: ProcTypes.Rindx;
368 ProcTypes.rshamt :: ProcTypes.Rindx
369 };
371 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SRAV¶;
373 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SRAV¶;
375 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SRAV¶;
377 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SRAV¶;
379 struct (ProcTypes.¶Instr_$ADDU¶ :: *) = {
380 ProcTypes.rsrc1 :: ProcTypes.Rindx;
381 ProcTypes.rsrc2 :: ProcTypes.Rindx;
382 ProcTypes.rdst :: ProcTypes.Rindx
383 };
385 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$ADDU¶;
387 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$ADDU¶;
389 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$ADDU¶;
391 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$ADDU¶;
393 struct (ProcTypes.¶Instr_$SUBU¶ :: *) = {
394 ProcTypes.rsrc1 :: ProcTypes.Rindx;
395 ProcTypes.rsrc2 :: ProcTypes.Rindx;
396 ProcTypes.rdst :: ProcTypes.Rindx
397 };
399 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SUBU¶;
401 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SUBU¶;
403 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SUBU¶;
405 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SUBU¶;
407 struct (ProcTypes.¶Instr_$AND¶ :: *) = {
408 ProcTypes.rsrc1 :: ProcTypes.Rindx;
409 ProcTypes.rsrc2 :: ProcTypes.Rindx;
410 ProcTypes.rdst :: ProcTypes.Rindx
411 };
413 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$AND¶;
415 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$AND¶;
417 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$AND¶;
419 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$AND¶;
421 struct (ProcTypes.¶Instr_$OR¶ :: *) = {
422 ProcTypes.rsrc1 :: ProcTypes.Rindx;
423 ProcTypes.rsrc2 :: ProcTypes.Rindx;
424 ProcTypes.rdst :: ProcTypes.Rindx
425 };
427 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$OR¶;
429 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$OR¶;
431 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$OR¶;
433 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$OR¶;
435 struct (ProcTypes.¶Instr_$XOR¶ :: *) = {
436 ProcTypes.rsrc1 :: ProcTypes.Rindx;
437 ProcTypes.rsrc2 :: ProcTypes.Rindx;
438 ProcTypes.rdst :: ProcTypes.Rindx
439 };
441 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$XOR¶;
443 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$XOR¶;
445 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$XOR¶;
447 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$XOR¶;
449 struct (ProcTypes.¶Instr_$NOR¶ :: *) = {
450 ProcTypes.rsrc1 :: ProcTypes.Rindx;
451 ProcTypes.rsrc2 :: ProcTypes.Rindx;
452 ProcTypes.rdst :: ProcTypes.Rindx
453 };
455 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$NOR¶;
457 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$NOR¶;
459 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$NOR¶;
461 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$NOR¶;
463 struct (ProcTypes.¶Instr_$SLT¶ :: *) = {
464 ProcTypes.rsrc1 :: ProcTypes.Rindx;
465 ProcTypes.rsrc2 :: ProcTypes.Rindx;
466 ProcTypes.rdst :: ProcTypes.Rindx
467 };
469 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SLT¶;
471 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SLT¶;
473 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SLT¶;
475 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SLT¶;
477 struct (ProcTypes.¶Instr_$SLTU¶ :: *) = {
478 ProcTypes.rsrc1 :: ProcTypes.Rindx;
479 ProcTypes.rsrc2 :: ProcTypes.Rindx;
480 ProcTypes.rdst :: ProcTypes.Rindx
481 };
483 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$SLTU¶;
485 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$SLTU¶;
487 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$SLTU¶;
489 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$SLTU¶;
491 struct (ProcTypes.¶Instr_$J¶ :: *) = {
492 ProcTypes.target :: ProcTypes.Target
493 };
495 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$J¶;
497 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$J¶;
499 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$J¶;
501 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$J¶;
503 struct (ProcTypes.¶Instr_$JAL¶ :: *) = {
504 ProcTypes.target :: ProcTypes.Target
505 };
507 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$JAL¶;
509 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$JAL¶;
511 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$JAL¶;
513 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$JAL¶;
515 struct (ProcTypes.¶Instr_$JR¶ :: *) = {
516 ProcTypes.rsrc :: ProcTypes.Rindx
517 };
519 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$JR¶;
521 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$JR¶;
523 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$JR¶;
525 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$JR¶;
527 struct (ProcTypes.¶Instr_$JALR¶ :: *) = {
528 ProcTypes.rsrc :: ProcTypes.Rindx;
529 ProcTypes.rdst :: ProcTypes.Rindx
530 };
532 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$JALR¶;
534 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$JALR¶;
536 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$JALR¶;
538 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$JALR¶;
540 struct (ProcTypes.¶Instr_$BEQ¶ :: *) = {
541 ProcTypes.rsrc1 :: ProcTypes.Rindx;
542 ProcTypes.rsrc2 :: ProcTypes.Rindx;
543 ProcTypes.offset :: ProcTypes.Simm
544 };
546 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$BEQ¶;
548 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$BEQ¶;
550 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$BEQ¶;
552 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$BEQ¶;
554 struct (ProcTypes.¶Instr_$BNE¶ :: *) = {
555 ProcTypes.rsrc1 :: ProcTypes.Rindx;
556 ProcTypes.rsrc2 :: ProcTypes.Rindx;
557 ProcTypes.offset :: ProcTypes.Simm
558 };
560 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$BNE¶;
562 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$BNE¶;
564 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$BNE¶;
566 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$BNE¶;
568 struct (ProcTypes.¶Instr_$BLEZ¶ :: *) = {
569 ProcTypes.rsrc :: ProcTypes.Rindx;
570 ProcTypes.offset :: ProcTypes.Simm
571 };
573 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$BLEZ¶;
575 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$BLEZ¶;
577 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$BLEZ¶;
579 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$BLEZ¶;
581 struct (ProcTypes.¶Instr_$BGTZ¶ :: *) = {
582 ProcTypes.rsrc :: ProcTypes.Rindx;
583 ProcTypes.offset :: ProcTypes.Simm
584 };
586 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$BGTZ¶;
588 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$BGTZ¶;
590 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$BGTZ¶;
592 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$BGTZ¶;
594 struct (ProcTypes.¶Instr_$BLTZ¶ :: *) = {
595 ProcTypes.rsrc :: ProcTypes.Rindx;
596 ProcTypes.offset :: ProcTypes.Simm
597 };
599 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$BLTZ¶;
601 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$BLTZ¶;
603 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$BLTZ¶;
605 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$BLTZ¶;
607 struct (ProcTypes.¶Instr_$BGEZ¶ :: *) = {
608 ProcTypes.rsrc :: ProcTypes.Rindx;
609 ProcTypes.offset :: ProcTypes.Simm
610 };
612 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$BGEZ¶;
614 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$BGEZ¶;
616 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$BGEZ¶;
618 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$BGEZ¶;
620 struct (ProcTypes.¶Instr_$MFC0¶ :: *) = {
621 ProcTypes.rdst :: ProcTypes.Rindx;
622 ProcTypes.cop0src :: ProcTypes.CP0indx
623 };
625 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$MFC0¶;
627 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$MFC0¶;
629 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$MFC0¶;
631 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$MFC0¶;
633 struct (ProcTypes.¶Instr_$MTC0¶ :: *) = {
634 ProcTypes.rsrc :: ProcTypes.Rindx;
635 ProcTypes.cop0dst :: ProcTypes.CP0indx
636 };
638 instance ProcTypes ¶Prelude®¶.¶PrimMakeUndefined®¶ ProcTypes.¶Instr_$MTC0¶;
640 instance ProcTypes ¶Prelude®¶.¶PrimDeepSeqCond®¶ ProcTypes.¶Instr_$MTC0¶;
642 instance ProcTypes ¶Prelude®¶.¶PrimMakeUninitialized®¶ ProcTypes.¶Instr_$MTC0¶;
644 instance ProcTypes ¶Prelude®¶.¶Eq®¶ ProcTypes.¶Instr_$MTC0¶;
646 ProcTypes.opFUNC :: ¶Prelude®¶.¶Bit®¶ 6;
648 ProcTypes.fcSLL :: ¶Prelude®¶.¶Bit®¶ 6;
650 ProcTypes.opRT :: ¶Prelude®¶.¶Bit®¶ 6;
652 ProcTypes.fcSRL :: ¶Prelude®¶.¶Bit®¶ 6;
654 ProcTypes.opRS :: ¶Prelude®¶.¶Bit®¶ 6;
656 ProcTypes.fcSRA :: ¶Prelude®¶.¶Bit®¶ 6;
658 ProcTypes.fcSLLV :: ¶Prelude®¶.¶Bit®¶ 6;
660 ProcTypes.opLW :: ¶Prelude®¶.¶Bit®¶ 6;
662 ProcTypes.fcSRLV :: ¶Prelude®¶.¶Bit®¶ 6;
664 ProcTypes.opSW :: ¶Prelude®¶.¶Bit®¶ 6;
666 ProcTypes.fcSRAV :: ¶Prelude®¶.¶Bit®¶ 6;
668 ProcTypes.fcADDU :: ¶Prelude®¶.¶Bit®¶ 6;
670 ProcTypes.opADDIU :: ¶Prelude®¶.¶Bit®¶ 6;
672 ProcTypes.fcSUBU :: ¶Prelude®¶.¶Bit®¶ 6;
674 ProcTypes.opSLTI :: ¶Prelude®¶.¶Bit®¶ 6;
676 ProcTypes.fcAND :: ¶Prelude®¶.¶Bit®¶ 6;
678 ProcTypes.opSLTIU :: ¶Prelude®¶.¶Bit®¶ 6;
680 ProcTypes.fcOR :: ¶Prelude®¶.¶Bit®¶ 6;
682 ProcTypes.opANDI :: ¶Prelude®¶.¶Bit®¶ 6;
684 ProcTypes.fcXOR :: ¶Prelude®¶.¶Bit®¶ 6;
686 ProcTypes.opORI :: ¶Prelude®¶.¶Bit®¶ 6;
688 ProcTypes.fcNOR :: ¶Prelude®¶.¶Bit®¶ 6;
690 ProcTypes.opXORI :: ¶Prelude®¶.¶Bit®¶ 6;
692 ProcTypes.fcSLT :: ¶Prelude®¶.¶Bit®¶ 6;
694 ProcTypes.opLUI :: ¶Prelude®¶.¶Bit®¶ 6;
696 ProcTypes.fcSLTU :: ¶Prelude®¶.¶Bit®¶ 6;
698 ProcTypes.opJ :: ¶Prelude®¶.¶Bit®¶ 6;
700 ProcTypes.opJAL :: ¶Prelude®¶.¶Bit®¶ 6;
702 ProcTypes.fcJR :: ¶Prelude®¶.¶Bit®¶ 6;
704 ProcTypes.fcJALR :: ¶Prelude®¶.¶Bit®¶ 6;
706 ProcTypes.opBEQ :: ¶Prelude®¶.¶Bit®¶ 6;
708 ProcTypes.opBNE :: ¶Prelude®¶.¶Bit®¶ 6;
710 ProcTypes.opBLEZ :: ¶Prelude®¶.¶Bit®¶ 6;
712 ProcTypes.opBGTZ :: ¶Prelude®¶.¶Bit®¶ 6;
714 ProcTypes.rtBLTZ :: ¶Prelude®¶.¶Bit®¶ 5;
716 ProcTypes.rtBGEZ :: ¶Prelude®¶.¶Bit®¶ 5;
718 ProcTypes.rsMFC0 :: ¶Prelude®¶.¶Bit®¶ 5;
720 ProcTypes.rsMTC0 :: ¶Prelude®¶.¶Bit®¶ 5;
722 instance ProcTypes ¶Prelude®¶.¶Bits®¶ ProcTypes.Instr 32;
724 instance ProcTypes Trace.Traceable ProcTypes.Instr
725 }