Commit | Line | Data |
---|---|---|
1248fbb6 NC |
1 | .macro RegReg insn |
2 | \insn r31, r0, r0 | |
3 | \insn r0, r31, r0 | |
4 | \insn r0, r0, r31 | |
5 | \insn r1, r2, r3 | |
6 | .endm | |
7 | ||
8 | .macro RegImm insn | |
9 | \insn r0, r0, 0 | |
10 | \insn r0, r0, -32768 | |
11 | \insn r0, r0, 32767 | |
12 | \insn r0, r31, 0 | |
13 | \insn r0, r31, -32768 | |
14 | \insn r0, r31, 32767 | |
15 | \insn r31, r0, 0 | |
16 | \insn r31, r0, -32768 | |
17 | \insn r31, r0, 32767 | |
18 | .endm | |
19 | ||
20 | .macro RegUImm insn | |
21 | \insn r0, r0, 0 | |
22 | \insn r0, r0, 65535 | |
23 | \insn r0, r31, 0 | |
24 | \insn r0, r31, 65535 | |
25 | \insn r31, r0, 0 | |
26 | \insn r31, r0, 65535 | |
27 | .endm | |
28 | ||
29 | RegReg add | |
30 | RegImm addi | |
31 | RegReg and | |
32 | RegUImm andi | |
33 | RegUImm andhi | |
34 | ||
35 | andhi r0, r0, hi(0x0000ffff) | |
36 | andhi r0, r0, hi(0xffff0000) | |
37 | ||
38 | bi label | |
39 | b r0 | |
40 | b r31 | |
41 | ||
42 | be r0, r0, label | |
43 | be r1, r2, label | |
44 | bg r0, r0, label | |
45 | bg r1, r2, label | |
46 | bge r0, r0, label | |
47 | bge r1, r2, label | |
48 | bgeu r0, r0, label | |
49 | bgeu r1, r2, label | |
50 | bgu r0, r0, label | |
51 | bgu r1, r2, label | |
52 | bne r0, r0, label | |
53 | bne r1, r2, label | |
54 | ||
55 | calli label | |
56 | call r0 | |
57 | call r31 | |
58 | ||
59 | RegReg cmpe | |
60 | RegImm cmpei | |
61 | RegReg cmpg | |
62 | RegImm cmpgi | |
63 | RegReg cmpge | |
64 | RegImm cmpgei | |
65 | RegReg cmpgeu | |
66 | RegUImm cmpgeui | |
67 | RegReg cmpgu | |
68 | RegUImm cmpgui | |
69 | RegReg cmpne | |
70 | RegImm cmpnei | |
71 | ||
72 | RegReg divu | |
73 | RegReg modu | |
74 | RegReg mul | |
75 | RegImm muli | |
76 | ||
77 | RegReg nor | |
78 | RegUImm nori | |
79 | RegReg or | |
80 | RegUImm ori | |
81 | ori r0, r0, lo(0xffff0000) | |
82 | ori r0, r0, lo(0x0000ffff) | |
83 | RegUImm orhi | |
84 | orhi r0, r0, hi(0x0000ffff) | |
85 | orhi r0, r0, hi(0xffff0000) | |
86 | ||
87 | RegReg sl | |
88 | RegReg sr | |
89 | RegReg sru | |
90 | ||
91 | sli r0, r0, 0 | |
92 | sli r0, r0, 31 | |
93 | sri r0, r0, 0 | |
94 | sri r0, r0, 31 | |
95 | srui r0, r0, 0 | |
96 | srui r0, r0, 31 | |
97 | ||
98 | RegReg sub | |
99 | ||
100 | RegReg xnor | |
101 | RegUImm xnori | |
102 | RegReg xor | |
103 | RegUImm xori | |
104 | ||
105 | sextb r0, r0 | |
106 | sextb r31, r0 | |
107 | sextb r0, r31 | |
108 | sextb r2, r1 | |
109 | sexth r0, r0 | |
110 | sexth r31, r0 | |
111 | sexth r0, r31 | |
112 | sexth r2, r1 | |
113 | ||
114 | lb r0, (r0+0) | |
115 | lb r1, (r2+3) | |
116 | lbu r0, (r0+0) | |
117 | lbu r1, (r2+3) | |
118 | lh r0, (r0+0) | |
119 | lh r1, (r2+3) | |
120 | lhu r0, (r0+0) | |
121 | lhu r1, (r2+3) | |
122 | lw r0, (r0+0) | |
123 | lw r1, (r2+3) | |
124 | sb (r0+0), r0 | |
125 | sb (r1+2), r3 | |
126 | sh (r0+0), r0 | |
127 | sh (r1+2), r3 | |
128 | sw (r0+0), r0 | |
129 | sw (r1+2), r3 | |
130 | ||
131 | break | |
132 | scall | |
133 | ||
134 | eret | |
135 | bret | |
136 | ||
137 | ret | |
138 | mvi r0, 0 | |
139 | mv r0, r0 | |
140 | mvhi r0, 0 | |
141 | mvhi r0, hi(0) | |
142 | not r0, r0 |