git: 9front

Download patch

ref: 86d3b0d585564466b1069033019a1f80749c6685
parent: 3a4a395d1f59f5f809a35311afff1efbd7ae4170
author: cinap_lenrek <cinap_lenrek@localhost>
date: Wed Apr 20 15:30:44 EDT 2011

realemu: bittest ops for 0F prefix

--- a/sys/src/cmd/aux/realemu/dat.h
+++ b/sys/src/cmd/aux/realemu/dat.h
@@ -292,6 +292,7 @@
 	OGP3v,
 	OGP4,
 	OGP5,
+	OGP8,
 	OGP10,
 	OGP12,
 	OHLT,
--- a/sys/src/cmd/aux/realemu/decode.c
+++ b/sys/src/cmd/aux/realemu/decode.c
@@ -151,7 +151,7 @@
 //B0 - mostly arcana
   {OBAD,          }, {OBAD,          }, {OLFP,ASS,AGv,AMp},{OBTR,AEv,AGv   },
   {OLFP,AFS,AGv,AMp},{OLFP,AGS,AGv,AMp},{OMOVZX,AGv,AEb }, {OMOVZX,AGv,AEw },
-  {OBAD,          }, {OBAD,          }, {OBAD,          }, {OBAD,          },
+  {OBAD,          }, {OBAD,          }, {OGP8,          }, {OBAD,          },
   {OBSF,AGv,AEv   }, {OBSR,AGv,AEv   }, {OMOVSX,AGv,AEb }, {OMOVSX,AGv,AEw },
 //C0 - more arcana
   {OBAD,          }, {OBAD,          }, {OBAD,          }, {OBAD,          },
@@ -208,6 +208,11 @@
   {OJUMP, AEv,    }, {OJUMP, AMp,    }, {OPUSH,  AEv,   }, {OBAD,          },
 };
 
+static Optab optabgp8[8] = {
+  {OMOV,          }, {OBAD,          }, {OBAD,          }, {OBAD,          },
+  {OBT, AEv, AIb  }, {OBTS, AEv, AIb }, {OBTR, AEv, AIb }, {OBTC, AEv, AIb },
+};
+
 static Optab optabgp10[8] = {
   {OPOP, AEv,     }, {OBAD,          }, {OBAD,          }, {OBAD,          },
   {OBAD,          }, {OBAD,          }, {OBAD,          }, {OBAD,          },
@@ -235,6 +240,7 @@
 	[OGP3v]	optabgp3v,
 	[OGP4]	optabgp4,
 	[OGP5]	optabgp5,
+	[OGP8]	optabgp8,
 	[OGP10]	optabgp10,
 	[OGP12] optabgp12,
 };
--