aboutsummaryrefslogtreecommitdiff
path: root/ops.h
blob: 9b2d48bf0e2ed11e872064544ce41978ccd3a4bc (plain)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
/* arithmetic and bits */
OP(IADD,     "add")
OP(ISUB,     "sub")
OP(INEG,     "neg")
OP(IDIV,     "div")
OP(IMUL,     "mul")
OP(IUDIV,    "udiv")
OP(IREM,     "rem")
OP(IUREM,    "urem")
OP(IOR,      "or")
OP(IXOR,     "xor")
OP(IAND,     "and")
OP(ISAR,     "sar")
OP(ISHR,     "shr")
OP(ISHL,     "shl")

/* memory */
OP(ISTORED,  "stored")
OP(ISTORES,  "stores")
OP(ISTOREL,  "storel")
OP(ISTOREW,  "storew")
OP(ISTOREH,  "storeh")
OP(ISTOREB,  "storeb")
OP(ILOADD,   "loadd")
OP(ILOADS,   "loads")
OP(ILOADL,   "loadl")
OP(ILOADW,   "loadw")
OP(ILOADSH,  "loadsh")
OP(ILOADUH,  "loaduh")
OP(ILOADSB,  "loadsb")
OP(ILOADUB,  "loadub")
OP(IALLOC4,  "alloc4")
OP(IALLOC8,  "alloc8")
OP(IALLOC16, "alloc16")

/* comparisons */
OP(ICEQW,    "ceqw")
OP(ICNEW,    "cnew")
OP(ICSLEW,   "cslew")
OP(ICSLTW,   "csltw")
OP(ICSGEW,   "csgew")
OP(ICSGTW,   "csgtw")
OP(ICULEW,   "culew")
OP(ICULTW,   "cultw")
OP(ICUGEW,   "cugew")
OP(ICUGTW,   "cugtw")

OP(ICEQL,    "ceql")
OP(ICNEL,    "cnel")
OP(ICSLEL,   "cslel")
OP(ICSLTL,   "csltl")
OP(ICSGEL,   "csgel")
OP(ICSGTL,   "csgtl")
OP(ICULEL,   "culel")
OP(ICULTL,   "cultl")
OP(ICUGEL,   "cugel")
OP(ICUGTL,   "cugtl")

OP(ICEQS,    "ceqs")
OP(ICNES,    "cnes")
OP(ICLES,    "cles")
OP(ICLTS,    "clts")
OP(ICGES,    "cges")
OP(ICGTS,    "cgts")
OP(ICOS,     "cos")
OP(ICUOS,    "cuos")

OP(ICEQD,    "ceqd")
OP(ICNED,    "cned")
OP(ICLED,    "cled")
OP(ICLTD,    "cltd")
OP(ICGED,    "cged")
OP(ICGTD,    "cgtd")
OP(ICOD,     "cod")
OP(ICUOD,    "cuod")

/* conversions */
OP(IEXTSW,   "extsw")
OP(IEXTUW,   "extuw")
OP(IEXTSH,   "extsh")
OP(IEXTUH,   "extuh")
OP(IEXTSB,   "extsb")
OP(IEXTUB,   "extub")
OP(IEXTS,    "exts")
OP(ITRUNCD,  "truncd")
OP(ISTOSI,   "stosi")
OP(IDTOSI,   "dtosi")
OP(ISWTOF,   "swtof")
OP(ISLTOF,   "sltof")

/* cast and copy */
OP(ICAST,    "cast")
OP(ICOPY,    "copy")

/* call */
OP(ICALL,    "call")

/* variadic */
OP(IVASTART, "vastart")
OP(IVAARG,   "vaarg")