Index: opcodes/microblaze-opcm.h |
diff --git a/opcodes/microblaze-opcm.h b/opcodes/microblaze-opcm.h |
index 10acacfee29efb442a42a73a4a8006f2cf4a6b27..124cdec5485ca00428afac21a0742803936f113a 100644 |
--- a/opcodes/microblaze-opcm.h |
+++ b/opcodes/microblaze-opcm.h |
@@ -25,18 +25,19 @@ |
enum microblaze_instr |
{ |
- add, rsub, addc, rsubc, addk, rsubk, addkc, rsubkc, cmp, cmpu, |
+ add, rsub, addc, rsubc, addk, rsubk, addkc, rsubkc, clz, cmp, cmpu, |
addi, rsubi, addic, rsubic, addik, rsubik, addikc, rsubikc, mul, |
- mulh, mulhu, mulhsu, |
+ mulh, mulhu, mulhsu,swapb,swaph, |
idiv, idivu, bsll, bsra, bsrl, get, put, nget, nput, cget, cput, |
ncget, ncput, muli, bslli, bsrai, bsrli, mului, or, and, xor, |
andn, pcmpbf, pcmpbc, pcmpeq, pcmpne, sra, src, srl, sext8, sext16, |
- wic, wdc, wdcclear, wdcflush, mts, mfs, br, brd, |
+ wic, wdc, wdcclear, wdcflush, mts, mfs, mbar, br, brd, |
brld, bra, brad, brald, microblaze_brk, beq, beqd, bne, bned, blt, |
bltd, ble, bled, bgt, bgtd, bge, bged, ori, andi, xori, andni, |
imm, rtsd, rtid, rtbd, rted, bri, brid, brlid, brai, braid, bralid, |
brki, beqi, beqid, bnei, bneid, blti, bltid, blei, bleid, bgti, |
- bgtid, bgei, bgeid, lbu, lhu, lw, lwx, sb, sh, sw, swx, lbui, lhui, lwi, |
+ bgtid, bgei, bgeid, lbu, lbur, lhu, lhur, lw, lwr, lwx, sb, sbr, sh, |
+ shr, sw, swr, swx, lbui, lhui, lwi, |
sbi, shi, swi, msrset, msrclr, tuqula, fadd, frsub, fmul, fdiv, |
fcmp_lt, fcmp_eq, fcmp_le, fcmp_gt, fcmp_ne, fcmp_ge, fcmp_un, flt, |
fint, fsqrt, |
@@ -78,6 +79,8 @@ enum microblaze_instr_type |
#define REG_BTR_MASK 0x800b |
#define REG_EDR_MASK 0x800d |
#define REG_PVR_MASK 0xa000 |
+#define REG_SLR_MASK 0x8800 |
+#define REG_SHR_MASK 0x8802 |
#define REG_PID_MASK 0x9000 |
#define REG_ZPR_MASK 0x9001 |
@@ -99,6 +102,8 @@ enum microblaze_instr_type |
#define REG_FSR 39 /* FPU Status reg. */ |
#define REG_BTR 43 /* Branch Target reg. */ |
#define REG_EDR 45 /* Exception reg. */ |
+#define REG_SHR 50 /* Stack High reg. */ |
+#define REG_SLR 51 /* Stack Low reg. */ |
#define REG_PVR 40960 /* Program Verification reg. */ |
#define REG_PID 36864 /* MMU: Process ID reg. */ |
@@ -121,6 +126,7 @@ enum microblaze_instr_type |
#define RA_LOW 16 /* Low bit for RA. */ |
#define RB_LOW 11 /* Low bit for RB. */ |
#define IMM_LOW 0 /* Low bit for immediate. */ |
+#define IMM_MBAR 21 /* low bit for mbar instruction. */ |
#define RD_MASK 0x03E00000 |
#define RA_MASK 0x001F0000 |
@@ -130,6 +136,9 @@ enum microblaze_instr_type |
/* Imm mask for barrel shifts. */ |
#define IMM5_MASK 0x0000001F |
+/* Imm mask for mbar. */ |
+#define IMM5_MBAR_MASK 0x03E00000 |
+ |
/* FSL imm mask for get, put instructions. */ |
#define RFSL_MASK 0x000000F |