This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: target/8052: NEC v850 has bogus default insn length


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  <miles@gnu.org>
 >
 >	* 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--



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]