Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/MLRISC/extensions/opcodes.sig
ViewVC logotype

Annotation of /sml/trunk/src/MLRISC/extensions/opcodes.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 246 - (view) (download) (as text)

1 : monnier 245 signature MLRISC_OPCODES =
2 :     sig
3 :    
4 :     datatype cond = LT | LTU | LE | LEU | EQ | NE | GE | GEU | GT | GTU
5 :     datatype fcond = ? | !<=> | == | ?= | !<> | !?>= | < | ?< | !>= | !?> |
6 :     <= | ?<= | !> | !?<= | > | ?> | !<= | !?< | >= | ?>= |
7 :     !< | !?= | <> | != | !? | <=>
8 :    
9 :     datatype opcode =
10 :     (* load immediate *)
11 :     LI
12 :     (* copy *)
13 :     | COPY
14 :     (* arithmetic *)
15 :     | ADD | SUB | MULU | DIVU | ADDT | MULT | SUBT | DIVT | SH1ADD | SH1ADDT
16 :     (* logical *)
17 :     | ANDB | ORB | XORB | SRA | SRL | SLL | EXTRS | EXTRU | ZDEP
18 :     (* floating point *)
19 :     | FADDD | FMULD | FSUBD | FDIVD | FABSD | FNEGD | CVTI2D
20 :     (* load *)
21 :     | LOAD8 | LOAD16 | LOAD32 | LOADD
22 :     (* indexed load *)
23 :     | LOAD8X | LOAD16X | LOAD32X | LOADDX
24 :     (* store *)
25 :     | STORE8 | STORE16 | STORE32 | STORED
26 :     (* indexed store *)
27 :     | STORE8X | STORE16X | STORE32X | STOREDX
28 :     (* branches *)
29 :     | CMP of cond | FCMP of fcond | SET of cond
30 :     (* jump/calls *)
31 :     | JMP | INDJMP | IDXJMP | RET | CALL | INDCALL
32 :     (* Miscellenous op *)
33 :     | MISC of int
34 :     (* Nop *)
35 :     | NOP
36 :     (* phi *)
37 :     | PHI of int
38 :    
39 :     val toString : opcode -> string (* pretty print *)
40 :     val hash : opcode -> int (* hash function *)
41 :     val revCond : cond -> cond (* reverse *)
42 :     val revFcond : fcond -> fcond (* reverse *)
43 :     val isCommutative : opcode -> bool (* communtative operation? *)
44 :    
45 :     end
46 :    
47 :     (*
48 :     * $Log$
49 :     *)

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0