diff mbox

[00/52] 680x0 instructions emulation

Message ID 87y47nxnyz.fsf@linux-m68k.org (mailing list archive)
State New, archived
Headers show

Commit Message

Andreas Schwab May 6, 2016, 2:25 p.m. UTC
Here is a testcase:

when compiling tlink.c from the gcc sources with gcc-6 r234449 (which
was bootstrapped in aranym):

$ g++ -fno-PIE -c   -fomit-frame-pointer -O2 -DIN_GCC     -fno-exceptions -fno-rtti -fasynchronous-unwind-tables -W -Wall -Wno-narrowing -Wwrite-strings -Wcast-qual -Wmissing-format-attribute -Woverloaded-virtual -pedantic -Wno-long-long -Wno-variadic-macros -Wno-overlength-strings -Werror   -DHAVE_CONFIG_H -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/../include -I../../gcc/../libcpp/include  -I../../gcc/../libdecnumber -I../../gcc/../libdecnumber/dpd -I../libdecnumber -I../../gcc/../libbacktrace   -o tlink.o ../../gcc/tlink.c

I get this difference for the generated assembler:


Andreas.
diff mbox

Patch

--- aranym/tlink.s	2016-05-06 16:19:02.377982900 +0200
+++ qemu/tlink.s	2016-05-06 16:18:26.385935256 +0200
@@ -2202,12 +2202,12 @@  _Z8do_tlinkPPcS0_:
 	move.l ldout,-(%sp)
 	move.l %d6,-(%sp)
 	pea .LC23
-	jsr _Z15collect_executePKcPPcS0_S0_ib
+	move.l #_Z15collect_executePKcPPcS0_S0_ib,%d4
+	move.l %d4,%a1
+	jsr (%a1)
 	move.l %a0,-(%sp)
 	pea .LC23
-	move.l #_Z12collect_waitPKcP7pex_obj,%d4
-	move.l %d4,%a0
-	jsr (%a0)
+	jsr _Z12collect_waitPKcP7pex_obj
 	move.l %d0,%d3
 	lea (28,%sp),%sp
 	clr.l (%sp)
@@ -2416,7 +2416,8 @@  _Z8do_tlinkPPcS0_:
 	move.l 4(%a5),%d0
 	cmp.l %d2,%d0
 	jne .L327
-	btst #0,3(%a5)
+	move.b 3(%a5),%d0
+	btst #0,%d0
 	jeq .L382
 	clr.l 4(%a0)
 	move.l %d2,%d0
@@ -2489,11 +2490,11 @@  _Z8do_tlinkPPcS0_:
 	move.l ldout,-(%sp)
 	move.l %d6,-(%sp)
 	pea .LC23
-	jsr _Z15collect_executePKcPPcS0_S0_ib
+	move.l %d4,%a1
+	jsr (%a1)
 	move.l %a0,-(%sp)
 	pea .LC23
-	move.l %d4,%a0
-	jsr (%a0)
+	jsr _Z12collect_waitPKcP7pex_obj
 	move.l %d0,%d3
 	lea (32,%sp),%sp
 	jne .L387
@@ -2562,11 +2563,11 @@  _Z8do_tlinkPPcS0_:
 	move.l ldout,-(%sp)
 	move.l %d6,-(%sp)
 	pea .LC23
-	jsr _Z15collect_executePKcPPcS0_S0_ib
+	move.l %d4,%a1
+	jsr (%a1)
 	move.l %a0,-(%sp)
 	pea .LC23
-	move.l %d4,%a0
-	jsr (%a0)
+	jsr _Z12collect_waitPKcP7pex_obj
 	move.l %d0,%d3
 	lea (32,%sp),%sp
 	jeq .L368