[pypy-svn] r51243 - in pypy/branch/asmgcroot/pypy/translator/c/gcc: . test

arigo at codespeak.net arigo at codespeak.net
Mon Feb 4 12:19:19 CET 2008


Author: arigo
Date: Mon Feb  4 12:19:19 2008
New Revision: 51243

Added:
   pypy/branch/asmgcroot/pypy/translator/c/gcc/test/track7.s
Modified:
   pypy/branch/asmgcroot/pypy/translator/c/gcc/trackgcroot.py
Log:
'cmovCOND' instructions.


Added: pypy/branch/asmgcroot/pypy/translator/c/gcc/test/track7.s
==============================================================================
--- (empty file)
+++ pypy/branch/asmgcroot/pypy/translator/c/gcc/test/track7.s	Mon Feb  4 12:19:19 2008
@@ -0,0 +1,18 @@
+	.type	main, @function
+main:
+	;; cmovCOND tests.
+	pushl	%ebx
+	movl	12(%esp), %ebx
+	cmove	16(%esp), %ebx
+	cmovge	20(%esp), %ebx
+	movl	24(%esp), %eax
+	cmovs	%eax, %ebx
+	call	foobar
+	;; expected {4(%esp) | (%esp), %esi, %edi, %ebp | %ebx}
+#APP
+	/* GCROOT %ebx */
+#NO_APP
+	popl	%ebx
+	ret
+
+	.size	main, .-main

Modified: pypy/branch/asmgcroot/pypy/translator/c/gcc/trackgcroot.py
==============================================================================
--- pypy/branch/asmgcroot/pypy/translator/c/gcc/trackgcroot.py	(original)
+++ pypy/branch/asmgcroot/pypy/translator/c/gcc/trackgcroot.py	Mon Feb  4 12:19:19 2008
@@ -480,6 +480,22 @@
 
     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
 
     def visit_andl(self, line):
         match = r_binaryinsn.match(line)



More information about the Pypy-commit mailing list