This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: help for arm avr bfin cris frv h8300 m68k mcore mmix pdp11 rs6000 sh vax
- From: Paul Koning <Paul_Koning at dell dot com>
- To: bonzini at gnu dot org
- Cc: gcc at gcc dot gnu dot org, richard dot earnshaw at arm dot com, bernd dot schmidt at analog dot com, hp at axis dot com, aldyh at redhat dot com, aoliva at redhat dot com, law at redhat dot com, nickc at redhat dot com, kazu at codesourcery dot com, kkojima at gcc dot gnu dot org, matt at 3am-software dot com
- Date: Fri, 13 Mar 2009 13:49:33 -0400
- Subject: Re: help for arm avr bfin cris frv h8300 m68k mcore mmix pdp11 rs6000 sh vax
- References: <f865508f0903130434i795ab1ck7c6d4e840951279@mail.gmail.com>
>>>>> "Paolo" == Paolo Bonzini <bonzini@gnu.org> writes:
Paolo> These are all the !SHIFT_COUNT_TRUNCATED targets. For 4.5 I
Paolo> would like to improve our RTL canonicalization so that no
Paolo> out-of-range shifts are ever in the RTL representation.
Paolo> This in turn means that the description given by
Paolo> SHIFT_COUNT_TRUNCATED must be exact. Right now
Paolo> !SHIFT_COUNT_TRUNCATED means "I don't know", I want it to mean
Paolo> "it is never truncated".
Paolo> I would like to know whether for
Paolo> avr,bfin,cris,frv,h8300,pdp11,rs6000 (which define
Paolo> SHIFT_COUNT_TRUNCATED as 0) and for mcore,sh,vax (which do not
Paolo> define it at all) it is right that shift counts are never
Paolo> truncated.
For PDP11, shift counts are actually truncated to a signed 6-bit
value. Somewhat odd for a 16 bit machine but that's what the book
says.
paul