From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:42394) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ayghi-00073O-An for qemu-devel@nongnu.org; Fri, 06 May 2016 10:26:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ayghW-0005LC-C0 for qemu-devel@nongnu.org; Fri, 06 May 2016 10:26:00 -0400 Received: from mail-out.m-online.net ([2001:a60:0:28:0:1:25:1]:56083) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ayghW-0005Hk-26 for qemu-devel@nongnu.org; Fri, 06 May 2016 10:25:54 -0400 From: Andreas Schwab References: <1462392752-17703-1-git-send-email-laurent@vivier.eu> <87twibzfzj.fsf@linux-m68k.org> <87poszze4m.fsf@linux-m68k.org> <87805eaf-d1d2-69af-b56f-b66d9b67438a@vivier.eu> Date: Fri, 06 May 2016 16:25:40 +0200 In-Reply-To: <87805eaf-d1d2-69af-b56f-b66d9b67438a@vivier.eu> (Laurent Vivier's message of "Fri, 6 May 2016 15:53:54 +0200") Message-ID: <87y47nxnyz.fsf@linux-m68k.org> MIME-Version: 1.0 Content-Type: text/plain Subject: Re: [Qemu-devel] [PATCH 00/52] 680x0 instructions emulation List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Laurent Vivier Cc: qemu-devel@nongnu.org, gerg@uclinux.org, agraf@suse.de, rth@twiddle.net, John Paul Adrian Glaubitz 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: --- 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 Andreas. -- Andreas Schwab, schwab@linux-m68k.org GPG Key fingerprint = 58CA 54C7 6D53 942B 1756 01D3 44D5 214B 8276 4ED5 "And now for something completely different."