On 02/09/15 19:19, Thomas Preud'homme wrote:
From: Andrew Pinski [mailto:pins...@gmail.com]
Sent: Tuesday, February 10, 2015 9:57 AM

+#ifdef SHORT_IMMEDIATES_SIGN_EXTEND
+/* If MODE has a precision lower than PREC and SRC is a non-negative
constant
+   that would appear negative in MODE, sign-extend SRC for use in
nonzero_bits
+   because some machines (maybe most) will actually do the sign-
extension and
+   this is the conservative approach.
+
+   ??? For 2.5, try to tighten up the MD files in this regard instead of
this
+   kludge.  */

I don't know if this has been mentioned and even though you are just
copying a comment from below but would it make sense to look fixing
what the comment says we should look at after GCC 2.5 (which was over
20 years ago)? Or maybe just remove the comment if it no longer
applies.

Actually this bit seems unnecessary as there is already some logic in
nonzero_bits1 for the CONST_INT case. So I guess the code can be
removed and the comment be moved there at the very least but
I'd prefer people from one of the affected target to test it.

Looking for backend that define SHORT_IMMEDIATES_SIGN_EXTEND, that
would be someone interested in alpha, frv, lm32, m32r, mep, mips, rs6000,
rx, sh, tilegx or tilepro.
FWIW, I went back into the old gcc development archives for 1993 and couldn't find any reference/justification for this patch. So no help in understanding the precise issue from the old archives.

Given the rs6000 is affected, one could do before/after tests natively in the gcc farm to ensure that removing that code doesn't change the generated code across a bootstrap.

That's probably how I'd approach gathering some data about whether or not the comment/code is still appropriate/needed.

jeff

Reply via email to