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