Re: Warning: Immediates 21 and 32 will give undefined behavior.
> > GCC loads various constants with depwi and depdi. =A0The deposit length
> > was wrong.
>
> If I understand correctly, are you saying that debian's gcc is at
> fault, and that the bug was never in a released version of gcc?
No, the bug is present in all released versions of gcc. They need
to build a snapshot from the current GCC svn tree (4.3, 4.4 or trunk),
or apply the patch to their own source.
2009-07-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
* pa.c (compute_zdepwi_operands): Limit deposit length to 32 - lsb.
Cast "1" to unsigned HOST_WIDE_INT.
(compute_zdepdi_operands): Limit maximum length to 64 bits. Limit
deposit length to the maximum length - lsb. Extend length if
HOST_BITS_PER_WIDE_INT is 32.
Dave
--
J. David Anglin dave.anglin@nrc-cnrc.gc.ca
National Research Council of Canada (613) 990-0752 (FAX: 952-6602)
Reply to: