This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [autovect] RS6000: Rename vector shift patterns
- From: Geoffrey Keating <geoffk at geoffk dot org>
- To: Devang Patel <dpatel at apple dot com>
- Cc: Janis Johnson <janis187 at us dot ibm dot com>, Dorit Naishlos <DORIT at il dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: 28 Jan 2005 13:25:56 -0800
- Subject: Re: [autovect] RS6000: Rename vector shift patterns
- References: <18BA187C-6F04-11D9-A26E-000393A91CAA@apple.com>
Devang Patel <dpatel@apple.com> writes:
> Renaming vector shift insn patterns, allow vectorization of shift
> operations. Bootstrapped and tested on powerpc-darwin. I am
> considering this as a GCC 4.1 material.
>
> 2004-01-25 Devang Patel <dpatel@apple.com>
>
> * config/rs600/altivec.md (altivec_vsr<VI_char>): Rename to ..
> (lhsr<mode>3): ... new name.
> (altivec_vsra<VI_char>): Rename to ..
> (ashr<mode>3): ... new name.
> * config/rs6000/rs6000.c (builtin_description): Rename shift
> operations.
>
> testsuite:
> * lib/target-supports.exp (check_effective_target_vect_shif):
> New.
> * gcc.dg/vect/vect-shift-1.c: New test.
This is OK (for 4.1). However, I suggest that you might also want to
change the body of the patterns from using an UNSPEC to using LSHIFTRT
or ASHIFTRT.