This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: MIPS paired single vector support




James E Wilson wrote:

I guess that we need to agree which to go forward with, or whether we can merge our efforts in any way.



I am certainly willing to cooperate, but I am on a deadline. I am hoping to have the initial support done within a few weeks. I am already starting to post preliminary patches.

Are you planning to post patches anytime soon?




Jim


Sorry for the delay, I've been offline since Thursday, so haven't kept up my end of the conversaion.

We have now got a complete set of patches for mainline. Their author is my colleague Chao-ying, and he should be able to post them on Monday. He'll also be better able to comment on the details and why things were done the way they were.

It looks like you have put a lot more effort into builtin functions than
I have so far. And you have certainly put more effort into the docs. I
haven't written any as yet.



Well, they still need translating into texinfo format, but at least they're a start... I think that I volunteered to do the translation.


If I drop the compare and builtin function support from my initial
patch, then that probably eliminates most of the conflict.  My compare
and builtin function support is incomplete and broken.

This leaves the arithmetic and move instructions which are pretty
straight forward and unlikely to be much different.  I also have
patterns for the named vector operations which are pretty straight
forward.



Good, let's hope that they're easy to merge.

We won't have the SB-1 extensions, of course, but we have got MIPS-3D.
Have you done anything about MDMX support in the compiler?



I don't have any MIPS-3D or MDMX support, and wasn't planning on
implementing it at this time.



OK, we've not done MDMX either, I just wondered if you had. We did do MIPS-3D though, which is important for us because we have one CPU which implements it.


The SB-1 support I could always split out as a separate patch.



1.4.5 Floating Point Convert Pair to Paired Single (CVT.PS.S)
v2sf __builtin_mips_cvt_ps_s (float, float);
c = __builtin_mips_cvt_ps_s (a, b);



This isn't necessary. You can just do (v2sf) {a, b} This requires that you have the vec_initv2sf pattern defined though.




Good point. I think we do support that construct, so the builtin can just be deleted.


1.4.9 Floating Point Align Variable (ALNV.PS)
v2sf __builtin_mips_alnv_ps (v2sf, v2sf, int);



This isn't very useful without the lux/sux instructions. They are
currently not supported by mips.md, and you didn't add a builtin for
them either. It doesn't hurt to have this builtin though. We just need
to remember to add lux/sux support later.



Good point.


Nigel


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]