[pypy-svn] r33187 - in pypy/dist/pypy/translator/asm/ppcgen: . test
mwh at codespeak.net
mwh at codespeak.net
Wed Oct 11 20:03:25 CEST 2006
Author: mwh
Date: Wed Oct 11 20:03:23 2006
New Revision: 33187
Modified:
pypy/dist/pypy/translator/asm/ppcgen/rassemblermaker.py
pypy/dist/pypy/translator/asm/ppcgen/test/test_rassemblermaker.py
Log:
test + fix for a problem with certain kinds of mnemonic in rassemblermaker
Modified: pypy/dist/pypy/translator/asm/ppcgen/rassemblermaker.py
==============================================================================
--- pypy/dist/pypy/translator/asm/ppcgen/rassemblermaker.py (original)
+++ pypy/dist/pypy/translator/asm/ppcgen/rassemblermaker.py Wed Oct 11 20:03:23 2006
@@ -1,6 +1,6 @@
from pypy.tool.sourcetools import compile2
-from pypy.translator.asm.ppcgen.form import IDesc
+from pypy.translator.asm.ppcgen.form import IDesc, IDupDesc
## "opcode": ( 0, 5),
## "rA": (11, 15, 'unsigned', regname._R),
@@ -29,6 +29,9 @@
else:
sig.append(field.name)
fieldvalues.append((field, field.name))
+ if isinstance(desc, IDupDesc):
+ for destfield, srcfield in desc.dupfields.iteritems():
+ fieldvalues.append((destfield, srcfield.name))
body = ['v = 0']
assert 'v' not in sig # that wouldn't be funny
#body.append('print %r'%name + ', ' + ', '.join(["'%s:', %s"%(s, s) for s in sig]))
Modified: pypy/dist/pypy/translator/asm/ppcgen/test/test_rassemblermaker.py
==============================================================================
--- pypy/dist/pypy/translator/asm/ppcgen/test/test_rassemblermaker.py (original)
+++ pypy/dist/pypy/translator/asm/ppcgen/test/test_rassemblermaker.py Wed Oct 11 20:03:23 2006
@@ -21,3 +21,11 @@
res = interpret(f, [])
assert res == add_r3_r3_r4
+def test_mnemonic():
+ mrs = []
+ for A in PPCAssembler, RPPCAssembler:
+ a = A()
+ a.mr(3, 4)
+ mrs.append(a.insts[0])
+ assert mrs[0].assemble() == mrs[1]
+
More information about the Pypy-commit
mailing list