st t1, ds, [0, t0, t7], disp
};
+def macroop SAL_1_R
+{
+ slli reg, reg, 1
+};
+
+def macroop SAL_1_M
+{
+ ld t1, ds, [scale, index, base], disp
+ slli t1, t1, 1
+ st t1, ds, [scale, index, base], disp
+};
+
+def macroop SAL_1_P
+{
+ rdip t7
+ ld t1, ds, [0, t0, t7], disp
+ slli t1, t1, 1
+ st t1, ds, [0, t0, t7], disp
+};
+
def macroop SAL_R_R
{
- slli reg, reg, regm
+ sll reg, reg, regm
};
def macroop SAL_M_R
{
ld t1, ds, [scale, index, base], disp
- slli t1, t1, reg
+ sll t1, t1, reg
st t1, ds, [scale, index, base], disp
};
{
rdip t7
ld t1, ds, [0, t0, t7], disp
- slli t1, t1, reg
+ sll t1, t1, reg
st t1, ds, [0, t0, t7], disp
};
st t1, ds, [0, t0, t7], disp
};
+def macroop SHR_1_R
+{
+ srli reg, reg, 1
+};
+
+def macroop SHR_1_M
+{
+ ld t1, ds, [scale, index, base], disp
+ srli t1, t1, 1
+ st t1, ds, [scale, index, base], disp
+};
+
+def macroop SHR_1_P
+{
+ rdip t7
+ ld t1, ds, [0, t0, t7], disp
+ srli t1, t1, 1
+ st t1, ds, [0, t0, t7], disp
+};
+
def macroop SHR_R_R
{
- srli reg, reg, regm
+ srl reg, reg, regm
};
def macroop SHR_M_R
{
ld t1, ds, [scale, index, base], disp
- srli t1, t1, reg
+ srl t1, t1, reg
st t1, ds, [scale, index, base], disp
};
{
rdip t7
ld t1, ds, [0, t0, t7], disp
- srli t1, t1, reg
+ srl t1, t1, reg
st t1, ds, [0, t0, t7], disp
};
st t1, ds, [0, t0, t7], disp
};
+def macroop SAR_1_R
+{
+ srai reg, reg, 1
+};
+
+def macroop SAR_1_M
+{
+ ld t1, ds, [scale, index, base], disp
+ srai t1, t1, 1
+ st t1, ds, [scale, index, base], disp
+};
+
+def macroop SAR_1_P
+{
+ rdip t7
+ ld t1, ds, [0, t0, t7], disp
+ srai t1, t1, 1
+ st t1, ds, [0, t0, t7], disp
+};
+
def macroop SAR_R_R
{
- srai reg, reg, regm
+ sra reg, reg, regm
};
def macroop SAR_M_R
{
ld t1, ds, [scale, index, base], disp
- srai t1, t1, reg
+ sra t1, t1, reg
st t1, ds, [scale, index, base], disp
};
{
rdip t7
ld t1, ds, [0, t0, t7], disp
- srai t1, t1, reg
+ sra t1, t1, reg
st t1, ds, [0, t0, t7], disp
};
'''
-#let {{
-# class SAL(Inst):
-# "GenFault ${new UnimpInstFault}"
-# class SAR(Inst):
-# "GenFault ${new UnimpInstFault}"
-# class SHL(Inst):
-# "GenFault ${new UnimpInstFault}"
-# class SHR(Inst):
-# "GenFault ${new UnimpInstFault}"
-# class SHLD(Inst):
-# "GenFault ${new UnimpInstFault}"
-# class SHRD(Inst):
-# "GenFault ${new UnimpInstFault}"
-#}};