This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [patch] MIPS V2SF RTL patterns
- From: Richard Sandiford <richard at codesourcery dot com>
- To: "Chao-ying Fu" <fu at mips dot com>
- Cc: <gcc-patches at gcc dot gnu dot org>, "Thekkath, Radhika" <radhika at mips dot com>
- Date: Fri, 24 Mar 2006 09:32:01 +0000
- Subject: Re: [patch] MIPS V2SF RTL patterns
- References: <000e01c64ec9$83f8c6f0$a914a8c0@MIPS.COM>
"Chao-ying Fu" <fu@mips.com> writes:
> * config/mips/mips-ps-3d.md (vcondv2sf, sminv2sf3, smaxv2sf3,
> vec_extract_evenv2sf, vec_extract_oddv2sf,
> vec_interleave_highv2sf, vec_interleave_lowv2sf): New.
> * config/mips/mips-protos.h: Declare mips_expand_fp_vcond and
> mips_expand_fp_vector_minmax.
> * config/mips/mips.c (mips_expand_fp_vcond,
> mips_expand_fp_vector_minmax): New functions.
FWIW, I'd like to make some changes to this, but I won't have time in
the next few days. The final patch will still go in for 4.2 of course,
because it was posted before stage 3 starts.
The things I want to do are:
(a) use a single pattern for smin/smax.
(b) make mips_expand_fp_vector_minmax take the code rather than a boolean
(c) (the most important IMO) change things so that the fp_vcond stuff
uses the same style of fcond/swapped_fcond patterns as the normal
scc support. As it stands, mips_expand_fp_vcond is basically
duplicating the logic in fcond/swapped_fcond and mips_emit_compare
(although it presents the results in a different way).
Richard