This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Revised patch for insn elision
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Zack Weinberg <zack at codesourcery dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Tue, 30 Jul 2002 00:31:29 -0400
- Subject: Re: Revised patch for insn elision
- References: <20020729180231.GC2993@codesourcery.com>
Although I really like and want this patch, it is causing complete
bootstrap failure on AIX. The problem is that rs6000.c uses CODE_FOR_xxx
in a case statement and now some of those values are identical.
/gcc/dje/src/gcc/config/rs6000/rs6000.c: In function `rs6000_expand_unop_builtin':
/gcc/dje/src/gcc/config/rs6000/rs6000.c:4099: error: duplicate case value
/gcc/dje/src/gcc/config/rs6000/rs6000.c:4098: error: previously used here
switch (icode)
{
/* Only allow 5-bit *signed* literals. */
case CODE_FOR_altivec_vspltisb:
case CODE_FOR_altivec_vspltish:
case CODE_FOR_altivec_vspltisw:
case CODE_FOR_spe_evsplatfi:
case CODE_FOR_spe_evsplati:
The SPE values are now both CODE_FOR_nothing. Similarly in
expand_binop_builtin. I guess that I can bracket those cases with
#if TARGET_SPE != 0
...
#endif
But is that the best solution?
Thanks, David