This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: remove wrong code in immed_double_const
Hi,
On Wed, 21 Mar 2012, Mike Stump wrote:
> > If the high bit of i1 is set then currently you will get a negative
> > number produced no matter the absolute value of it.
>
> Ok, in the new patch, I'm pushing to change the spec so that the value
> is sign extended and fixing all the code that doesn't conform to that
> spec.
That certainly is strictly better than any of the other possibilities, I
just didn't get the impression from your second mail to this thread that
you were even considering doing that. Good I was wrong. If I notice
anything I'll answer directly to the patch.
> > This positive/negative inconsistency doesn't make sense to allow, and
> > the assert ensures that it isn't allowed.
>
> Don't need the assert when there is no inconsistency, I believe that
> resolving any inconsistencies should remove the need for the assert.
Correct.
> :-) Only the point I wanted to make; that 0 is safe. As such, it
> proves that the spec, as you might call it, is wrong.
I would call it too strict, not wrong. Because there are (or were after
your fixes get it) values where there was a problem. Of course that's
again just splitting hair about terminology :)
Ciao,
Michael.