[pypy-svn] r71098 - pypy/trunk/pypy/translator/c/gcc

afa at codespeak.net afa at codespeak.net
Thu Feb 4 13:00:09 CET 2010


Author: afa
Date: Thu Feb  4 13:00:09 2010
New Revision: 71098

Modified:
   pypy/trunk/pypy/translator/c/gcc/trackgcroot.py
Log:
Handle more cmove* operations, allow the 'l' suffix


Modified: pypy/trunk/pypy/translator/c/gcc/trackgcroot.py
==============================================================================
--- pypy/trunk/pypy/translator/c/gcc/trackgcroot.py	(original)
+++ pypy/trunk/pypy/translator/c/gcc/trackgcroot.py	Thu Feb  4 13:00:09 2010
@@ -408,22 +408,12 @@
 
     visit_xorl = binary_insn   # used in "xor reg, reg" to create a NULL GC ptr
     visit_orl = binary_insn
-    visit_cmove = binary_insn
-    visit_cmovne = binary_insn
-    visit_cmovg = binary_insn
-    visit_cmovge = binary_insn
-    visit_cmovl = binary_insn
-    visit_cmovle = binary_insn
-    visit_cmova = binary_insn
-    visit_cmovae = binary_insn
-    visit_cmovb = binary_insn
-    visit_cmovbe = binary_insn
-    visit_cmovp = binary_insn
-    visit_cmovnp = binary_insn
-    visit_cmovs = binary_insn
-    visit_cmovns = binary_insn
-    visit_cmovo = binary_insn
-    visit_cmovno = binary_insn
+    # The various cmov* operations
+    for name in '''
+        e ne g ge l le a ae b be p np s ns o no
+        '''.split():
+        locals()['visit_cmov' + name] = binary_insn
+        locals()['visit_cmov' + name + 'l'] = binary_insn
 
     def visit_andl(self, line):
         match = self.r_binaryinsn.match(line)



More information about the Pypy-commit mailing list