This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins
- From: Segher Boessenkool <segher at kernel dot crashing dot org>
- To: Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- Cc: David Edelsohn <dje dot gcc at gmail dot com>, GCC Patches <gcc-patches at gcc dot gnu dot org>, Pat Haugen <pthaugen at us dot ibm dot com>, Peter Bergner <bergner at vnet dot ibm dot com>
- Date: Wed, 5 Jun 2013 22:06:08 +0200
- Subject: Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins
- References: <20130520204053 dot GA21090 at ibm-tiger dot the-meissners dot org> <20130521234717 dot GA27879 at ibm-tiger dot the-meissners dot org> <20130604184853 dot GA12768 at ibm-tiger dot the-meissners dot org> <CAGWvnyni0U+749Y-_aS1mB9vMQ1pKHhiikGhxJmV26KVP2Rbtw at mail dot gmail dot com> <1A6C76BF-AB76-4471-9F80-462FC0EBCB60 at kernel dot crashing dot org> <20130605160427 dot GA5774 at ibm-tiger dot the-meissners dot org>
I also wonder whether it would be useful to have 32-bit do the
vector logical
ops in gprs as well. At the moment, the patches don't allow it
(vector types
must be done in the altivec/vsx registers, an TImode is done by
splitting the
operation into 4 separate categories). On the 64-bit side, having
__int128_t
passed in GPRs, means you want to avoid ping-ponging between the
GPRs and VSX
registers. In addition, the atomic quad word support (patch #7)
has to run in
GPRs, so we need add/subtract/logical to have versions that run in
GPRs.
It might work better if you added a mode V1TI for TI in vector
regs, and then used plain TI only for GPRs. It certainly will
make things a lot more regular; whether it actually works better,
I have no idea.
The way you have things now, only after reload the vector patterns
are split to GPR patterns; much too late to do most optimisations
on it. On the other hand, deciding early what register set some
op should go to isn't too pleasant either; is it always the best
choice to use the vector regs when possible?
Segher
- References:
- Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins
- Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins
- Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins
- Re: [PATCH, rs6000] power8 patches, patch #4 (revised), new power8 builtins