From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 22241 invoked by alias); 28 Sep 2004 07:14:32 -0000 Mailing-List: contact gcc-bugs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-bugs-owner@gcc.gnu.org Received: (qmail 22215 invoked by uid 48); 28 Sep 2004 07:14:31 -0000 Date: Tue, 28 Sep 2004 07:14:00 -0000 Message-ID: <20040928071431.22214.qmail@sourceware.org> From: "ebotcazou at gcc dot gnu dot org" To: gcc-bugs@gcc.gnu.org In-Reply-To: <20040713215437.16532.dann@godzilla.ics.uci.edu> References: <20040713215437.16532.dann@godzilla.ics.uci.edu> Reply-To: gcc-bugzilla@gcc.gnu.org Subject: [Bug target/16532] Inefficient jump to epilogue X-Bugzilla-Reason: CC X-SW-Source: 2004-09/txt/msg03443.txt.bz2 List-Id: ------- Additional Comments From ebotcazou at gcc dot gnu dot org 2004-09-28 07:14 ------- The remaining oddities, like srl %o0, 16, %o5 mov 0, %o4 orcc %o4, %o5, %g0 in the V8 code or srlx %o0, 48, %o1 srlx %o1, 32, %o0 orcc %o0, %o1, %g0 in the V9 code are related to the suboptimal model used for 'long long' arithmetics on SPARC 32-bit. The code is better on SPARC 64-bit: FirstOne: add %sp, -208, %sp stx %o0, [%sp+2231] srlx %o0, 48, %o0 brz,pt %o0, .LL2 sethi %lm(first_one), %g4 sethi %hh(first_one), %g1 or %g1, %hm(first_one), %g1 sub %sp, -208, %sp sllx %g1, 32, %g1 add %g1, %g4, %g1 or %g1, %lo(first_one), %g1 ldub [%g1+%o0], %o0 jmp %o7+8 sra %o0, 0, %o0 .LL2: lduw [%sp+2231], %o0 sub %sp, -208, %sp jmp %o7+8 sra %o0, 0, %o0 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=16532