File: sparcPseudoInstr.sig

package info (click to toggle)
mlton 20210117%2Bdfsg-3
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 58,464 kB
  • sloc: ansic: 27,682; sh: 4,455; asm: 3,569; lisp: 2,879; makefile: 2,347; perl: 1,169; python: 191; pascal: 68; javascript: 7
file content (38 lines) | stat: -rw-r--r-- 1,109 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
(*
 * sparcPseudoInstr.sig --- Sparc pseudo instructions 
 *)

signature SPARC_PSEUDO_INSTR = sig
   structure I : SPARCINSTR

   type format1 = 
       {r:CellsBasis.cell, i:I.operand, d:CellsBasis.cell} * 
       (I.operand -> CellsBasis.cell) -> I.instruction list

   type format2 = 
       {i:I.operand, d:CellsBasis.cell} * 
       (I.operand -> CellsBasis.cell) -> I.instruction list
   (* 
    * Signed and unsigned multiplications.
    * These are all 32 bit operations 
    *)
   val umul32     : format1 (* unsigned/non-trapping *)
   val smul32     : format1 (* signed/non-trapping *)
   val smul32trap : format1 (* trap on overflow *)
   val udiv32     : format1 (* unsigned/non-trapping *)
   val sdiv32     : format1 (* signed/non-trapping *)
   val sdiv32trap : format1 (* trap on overflow/zero *)

       (* convert integer into floating point *)
   val cvti2d : format2
   val cvti2s : format2
   val cvti2q : format2

       (* 32-bit overflow detection *)
   val overflowtrap32 : I.instruction list
 
       (* 64-bit overflow detection *)
   val overflowtrap64 : I.instruction list

end