Author: hager <[email protected]>
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
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit