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: Richard Earnshaw <rearnsha at arm dot com>
- To: David Edelsohn <dje at watson dot ibm dot com>
- Cc: Zack Weinberg <zack at codesourcery dot com>, gcc-patches at gcc dot gnu dot org, Richard dot Earnshaw at arm dot com
- Date: Tue, 30 Jul 2002 16:19:52 +0100
- Subject: Re: Revised patch for insn elision
- Organization: ARM Ltd.
- Reply-to: Richard dot Earnshaw at arm dot 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:
>
Would
#if CODE_FOR_altivec_vspltisb != CODE_FOR_nothing
case CODE_FOR_altivec_vspltisb:
...
work?
Not very pretty I admit.
R.