From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 8288 invoked by alias); 2 Oct 2002 14:16:05 -0000 Mailing-List: contact gcc-prs-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Archive: List-Post: List-Help: Sender: gcc-prs-owner@gcc.gnu.org Received: (qmail 8274 invoked by uid 71); 2 Oct 2002 14:16:05 -0000 Date: Wed, 02 Oct 2002 07:16:00 -0000 Message-ID: <20021002141605.8272.qmail@sources.redhat.com> To: nobody@gcc.gnu.org Cc: gcc-prs@gcc.gnu.org, From: Jeff Law Subject: Re: target/8052: NEC v850 has bogus default insn length Reply-To: Jeff Law X-SW-Source: 2002-10/txt/msg00053.txt.bz2 List-Id: The following reply was made to PR target/8052; it has been noted by GNATS. From: Jeff Law To: miles@gnu.org Cc: gcc-gnats@gcc.gnu.org, gcc-patches@gcc.gnu.org Subject: Re: target/8052: NEC v850 has bogus default insn length Date: Wed, 02 Oct 2002 08:21:09 -0600 In message <20020926022639.D3D6A3721@mcspd15.ucom.lsi.nec.co.jp>, miles@gnu.org writes: > >>Number: 8052 >>Category: target >>Synopsis: NEC v850 has bogus default insn length >>Confidential: no >>Severity: non-critical >>Priority: medium >>Responsible: unassigned >>State: open >>Class: pessimizes-code >>Submitter-Id: net >>Arrival-Date: Wed Sep 25 19:36:00 PDT 2002 >>Closed-Date: >>Last-Modified: >>Originator: Miles Bader >>Release: 3.3 20020924 (experimental) >>Organization: >NEC >>Environment: >System: Linux mcspd15 2.4.18-ac3 #1 Wed Jul 3 14:28:04 JST 2002 i686 unknown >unknown GNU/Linux >Architecture: i686 > > >host: i386-pc-linux-gnu >build: i386-pc-linux-gnu >target: v850e-unknown-elf >configured with: /proj/soft2/uclinux/src/gcc/configure --prefix=/proj/soft2/u >clinux/i386-pc-linux-gnu --cache-file=../config.cache --target=v850e-elf --ho >st=i386-pc-linux-gnu --with-newlib >>Description: > >The default insn-length in gcc/config/v850/v850.md is 200, which is >completely absurd, and has the effect of causing many branches around >`asm' statements to be long jumps (since gcc uses the default >insn-length to estimate the code-size of asm statements). > >On the v850, many instructions are 2 bytes, and only one is >4 bytes, >so I've used a value of `4' instead for over a year, and it works great. > >>How-To-Repeat: >>Fix: > >Here's a patch: > >2002-09-26 Miles Bader > > * config/v850/v850.md ("length"): Change default value to 4. Thanks. Installed. Note that you have to be a little careful in that if any insns relied upon the default length and generated more than 4 bytes of instruction then this change would be wrong. I double-checked the v850 backend and only one insn relies upon the default length -- and it aborts if it's ever used :-) Jeff --g8QH74r03859.1033060046/porcupine.slc.redhat.com-- --g8QH74s03859.1033060046/porcupine.slc.redhat.com--