aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/include/asm/uasm.h
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/include/asm/uasm.h')
-rw-r--r--arch/mips/include/asm/uasm.h23
1 files changed, 23 insertions, 0 deletions
diff --git a/arch/mips/include/asm/uasm.h b/arch/mips/include/asm/uasm.h
index c33a9564fb41..f8d63b3b40b4 100644
--- a/arch/mips/include/asm/uasm.h
+++ b/arch/mips/include/asm/uasm.h
@@ -55,6 +55,9 @@ void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
55#define Ip_u2u1u3(op) \ 55#define Ip_u2u1u3(op) \
56void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 56void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
57 57
58#define Ip_u3u2u1(op) \
59void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
60
58#define Ip_u3u1u2(op) \ 61#define Ip_u3u1u2(op) \
59void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c) 62void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c)
60 63
@@ -74,6 +77,9 @@ void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b, unsigned int c, \
74#define Ip_u1u2(op) \ 77#define Ip_u1u2(op) \
75void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b) 78void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b)
76 79
80#define Ip_u2u1(op) \
81void ISAOPC(op)(u32 **buf, unsigned int a, unsigned int b)
82
77#define Ip_u1s2(op) \ 83#define Ip_u1s2(op) \
78void ISAOPC(op)(u32 **buf, unsigned int a, signed int b) 84void ISAOPC(op)(u32 **buf, unsigned int a, signed int b)
79 85
@@ -99,6 +105,7 @@ Ip_u2u1s3(_daddiu);
99Ip_u3u1u2(_daddu); 105Ip_u3u1u2(_daddu);
100Ip_u2u1msbu3(_dins); 106Ip_u2u1msbu3(_dins);
101Ip_u2u1msbu3(_dinsm); 107Ip_u2u1msbu3(_dinsm);
108Ip_u1u2(_divu);
102Ip_u1u2u3(_dmfc0); 109Ip_u1u2u3(_dmfc0);
103Ip_u1u2u3(_dmtc0); 110Ip_u1u2u3(_dmtc0);
104Ip_u2u1u3(_drotr); 111Ip_u2u1u3(_drotr);
@@ -114,16 +121,22 @@ Ip_u2u1msbu3(_ext);
114Ip_u2u1msbu3(_ins); 121Ip_u2u1msbu3(_ins);
115Ip_u1(_j); 122Ip_u1(_j);
116Ip_u1(_jal); 123Ip_u1(_jal);
124Ip_u2u1(_jalr);
117Ip_u1(_jr); 125Ip_u1(_jr);
126Ip_u2s3u1(_lb);
118Ip_u2s3u1(_ld); 127Ip_u2s3u1(_ld);
119Ip_u3u1u2(_ldx); 128Ip_u3u1u2(_ldx);
129Ip_u2s3u1(_lh);
120Ip_u2s3u1(_ll); 130Ip_u2s3u1(_ll);
121Ip_u2s3u1(_lld); 131Ip_u2s3u1(_lld);
122Ip_u1s2(_lui); 132Ip_u1s2(_lui);
123Ip_u2s3u1(_lw); 133Ip_u2s3u1(_lw);
124Ip_u3u1u2(_lwx); 134Ip_u3u1u2(_lwx);
125Ip_u1u2u3(_mfc0); 135Ip_u1u2u3(_mfc0);
136Ip_u1(_mfhi);
137Ip_u1(_mflo);
126Ip_u1u2u3(_mtc0); 138Ip_u1u2u3(_mtc0);
139Ip_u3u1u2(_mul);
127Ip_u3u1u2(_or); 140Ip_u3u1u2(_or);
128Ip_u2u1u3(_ori); 141Ip_u2u1u3(_ori);
129Ip_u2s3u1(_pref); 142Ip_u2s3u1(_pref);
@@ -133,17 +146,25 @@ Ip_u2s3u1(_sc);
133Ip_u2s3u1(_scd); 146Ip_u2s3u1(_scd);
134Ip_u2s3u1(_sd); 147Ip_u2s3u1(_sd);
135Ip_u2u1u3(_sll); 148Ip_u2u1u3(_sll);
149Ip_u3u2u1(_sllv);
150Ip_u2u1s3(_sltiu);
151Ip_u3u1u2(_sltu);
136Ip_u2u1u3(_sra); 152Ip_u2u1u3(_sra);
137Ip_u2u1u3(_srl); 153Ip_u2u1u3(_srl);
154Ip_u3u2u1(_srlv);
138Ip_u3u1u2(_subu); 155Ip_u3u1u2(_subu);
139Ip_u2s3u1(_sw); 156Ip_u2s3u1(_sw);
157Ip_u1(_sync);
140Ip_u1(_syscall); 158Ip_u1(_syscall);
141Ip_0(_tlbp); 159Ip_0(_tlbp);
142Ip_0(_tlbr); 160Ip_0(_tlbr);
143Ip_0(_tlbwi); 161Ip_0(_tlbwi);
144Ip_0(_tlbwr); 162Ip_0(_tlbwr);
163Ip_u1(_wait);
164Ip_u2u1(_wsbh);
145Ip_u3u1u2(_xor); 165Ip_u3u1u2(_xor);
146Ip_u2u1u3(_xori); 166Ip_u2u1u3(_xori);
167Ip_u2u1(_yield);
147 168
148 169
149/* Handle labels. */ 170/* Handle labels. */
@@ -264,6 +285,8 @@ void uasm_il_bbit0(u32 **p, struct uasm_reloc **r, unsigned int reg,
264 unsigned int bit, int lid); 285 unsigned int bit, int lid);
265void uasm_il_bbit1(u32 **p, struct uasm_reloc **r, unsigned int reg, 286void uasm_il_bbit1(u32 **p, struct uasm_reloc **r, unsigned int reg,
266 unsigned int bit, int lid); 287 unsigned int bit, int lid);
288void uasm_il_beq(u32 **p, struct uasm_reloc **r, unsigned int r1,
289 unsigned int r2, int lid);
267void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 290void uasm_il_beqz(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
268void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 291void uasm_il_beqzl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);
269void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid); 292void uasm_il_bgezl(u32 **p, struct uasm_reloc **r, unsigned int reg, int lid);