This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] RS6000 : Tidy up vector splat instructions
- From: Richard Henderson <rth at redhat dot com>
- To: Devang Patel <dpatel at apple dot com>
- Cc: gcc-patches <gcc-patches at gcc dot gnu dot org>
- Date: Tue, 14 Jun 2005 13:22:16 -0700
- Subject: Re: [PATCH] RS6000 : Tidy up vector splat instructions
- References: <D940FE6B-9630-4997-B345-E54F172CE481@apple.com>
On Tue, Jun 14, 2005 at 11:31:30AM -0700, Devang Patel wrote:
> ***************
> *** 1195,1201 ****
> (define_insn "altivec_vspltis<VI_char>"
> [(set (match_operand:VI 0 "register_operand" "=v")
> (vec_duplicate:VI
> - (match_operand:QI 1 "const_int_operand" "i")))]
> + (match_operand:QI 1 "s5bit_cint_operand" "i")))]
> "TARGET_ALTIVEC"
> "vspltis<VI_char> %0,%1"
> [(set_attr "type" "vecperm")])
Long term I think you ought to think about removing these patterns,
and arranging for this instruction to be emitted by movv16qi etc.
The builtin that I assume also exists should be expanded to a vector
constant at the tree level.
r~