Author: hager <sven.ha...@uni-duesseldorf.de>
Branch: ppc-jit-backend
Changeset: r46454:8689ca324c6c
Date: 2011-08-12 10:36 +0200
http://bitbucket.org/pypy/pypy/changeset/8689ca324c6c/

Log:    Added David's patch to ppc_field.py.

diff --git a/pypy/jit/backend/ppc/ppcgen/ppc_field.py 
b/pypy/jit/backend/ppc/ppcgen/ppc_field.py
--- a/pypy/jit/backend/ppc/ppcgen/ppc_field.py
+++ b/pypy/jit/backend/ppc/ppcgen/ppc_field.py
@@ -77,17 +77,27 @@
 
 class spr(Field):
     def encode(self, value):
-        value = (value&31) << 5 | (value >> 5 & 31)
+        value = (value & 31) << 5 | (value >> 5 & 31)
         return super(spr, self).encode(value)
     def decode(self, inst):
         value = super(spr, self).decode(inst)
-        return (value&31) << 5 | (value >> 5 & 31)
+        return (value & 31) << 5 | (value >> 5 & 31)
+
+class mbe(Field):
+    def encode(self, value):
+        value = (value & 31) << 1 | (value & 32) >> 5
+        return super(spr, self).encode(value)
+    def decode(self, inst):
+        value = super(mbe, self).decode(inst)
+        return (value & 1) << 5 | (value >> 1 & 31)
 
 # other special fields?
 
 ppc_fields = {
     "LI":  IField("LI", *fields["LI"]),
     "BD":  IField("BD", *fields["BD"]),
+    "ds":  IField("ds", *fields["ds"]),
+    "mbe": mbe("mbe", *fields["mbe"]),
     "spr": spr("spr",   *fields["spr"]),
 }
 
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
http://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to