This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/15491] ICE (Internal compiler error) while compiling glibc to vax-linux target
- From: "jbglaw at lug-owl dot de" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 26 Jun 2004 15:12:31 -0000
- Subject: [Bug target/15491] ICE (Internal compiler error) while compiling glibc to vax-linux target
- References: <20040517103549.15491.gabucino@mplayerhq.hu>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Additional Comments From jbglaw at lug-owl dot de 2004-06-26 15:12 -------
Subject: Re: ICE (Internal compiler error) while compiling glibc to vax-linux target
On Fri, 2004-06-25 03:04:30 -0000, danglin at gcc dot gnu dot org <gcc-bugzilla@gcc.gnu.org>
wrote in message <20040625030430.2794.qmail@sourceware.org>:
> ------- Additional Comments From danglin at gcc dot gnu dot org 2004-06-25 03:04 -------
> I think the code in rtx_cost should look like this (totally untested):
>
> case PLUS:
> case MINUS:
> c = (mode == DFmode) ? 13 : 8; /* 6/8 on VAX 9000, 16/15 on VAX 2 */
> /* Check for small negative integer operand: subl2 can be used with
> a short positive constant instead. */
> if (GET_CODE (XEXP (x, 1)) == CONST_INT)
> if ((unsigned)(INTVAL (XEXP (x, 1)) + 63) < 127)
> fmt = "e";
> break;
>
> Adding a break after the code currently in the "PLUS" case is wrong as
> c isn't defined.
> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15491
At least, it looks even a bit better and does make some sense:) For now,
I don't think that cycle costs are the largest problem for VAX (the VAX
backend was even mentioned to be removed completely...).
I'll take your code fragment and put it into my patchqueue.
MfG, JBG
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=15491