summary refs log tree commit diff
path: root/lisc/lisc.h
diff options
context:
space:
mode:
Diffstat (limited to 'lisc/lisc.h')
-rw-r--r--lisc/lisc.h25
1 files changed, 12 insertions, 13 deletions
diff --git a/lisc/lisc.h b/lisc/lisc.h
index b7b7c75..d2f6ef2 100644
--- a/lisc/lisc.h
+++ b/lisc/lisc.h
@@ -102,15 +102,17 @@ static inline int isreg(Ref r)
 #define CMPS(X) \
 	X(eq) X(sle) X(slt) \
 	X(sgt) X(sge) X(ne) /* mirror opposite cmps! */
+#define COP(c) (c==Ceq||c==Cne ? c : NCmp-1 - c)
 
-enum Cmp {
-#define C(c) C##c,
-	CMPS(C)
-#undef C
-	NCmp
-};
+#define X(c) C##c,
+enum Cmp { CMPS(X) NCmp };
+#undef X
 
-#define COP(c) (c==Ceq||c==Cne ? c : NCmp-1 - c)
+#define TYS(X) X(l) X(sw) X(uw) X(sh) X(uh) X(sb) X(ub)
+
+#define X(t) T##t,
+enum Ty { TYS(X) NTy };
+#undef X
 
 enum Op {
 	OXXX,
@@ -122,8 +124,6 @@ enum Op {
 	ORem,
 	OMul,
 	OAnd,
-	OSext,
-	OZext,
 	OCmp,
 	OCmp1 = OCmp + NCmp-1,
 	OStorel,
@@ -131,10 +131,9 @@ enum Op {
 	OStores,
 	OStoreb,
 	OLoad,
-	OLoadsh,
-	OLoaduh,
-	OLoadsb,
-	OLoadub,
+	OLoad1 = OLoad + NTy-1,
+	OExt,
+	OExt1 = OExt + NTy-1,
 	OAlloc,
 	OAlloc1 = OAlloc + NAlign-1,
 	OCopy,