This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFC] Try vector<bool> as a new representation for vector masks
- From: Jeff Law <law at redhat dot com>
- To: Ilya Enkovich <enkovich dot gnu at gmail dot com>, Richard Biener <richard dot guenther at gmail dot com>
- Cc: GCC Patches <gcc-patches at gcc dot gnu dot org>
- Date: Fri, 4 Sep 2015 14:42:24 -0600
- Subject: Re: [RFC] Try vector<bool> as a new representation for vector masks
- Authentication-results: sourceware.org; auth=none
- References: <55D62076 dot 8020105 at redhat dot com> <CAFiYyc1wqw4zxP-RTwH8CTou0BLxmya1nX0dSCokteebRJ54OA at mail dot gmail dot com> <CAMbmDYZ-dvygua8G0m6qCQ43YUNkG7DJZj7tRY2aXX4wV+_y1g at mail dot gmail dot com> <CAFiYyc0xd4bN7kRqNomeijYX6TCSRxz3kpmBAvGnfRmWydfg9Q at mail dot gmail dot com> <CAMbmDYa0uARbRzyZWbud1YrpLZEV+11=wWEt7vVZFcxhZD0kWw at mail dot gmail dot com> <CAFiYyc38xisFJJndJ7yKsUbGciyq+NDNyCJzq_X46dK+9VsWWQ at mail dot gmail dot com> <CAMbmDYaT2v1UbDGPFz5_OiV=45PsKOdGCJ=J6CBwqEQMe+JN-g at mail dot gmail dot com> <CAFiYyc218U_zN+hF-JyL_ok6FxzgsPjKD5BYzznGAH7z53t_eA at mail dot gmail dot com> <CAMbmDYbdehpCFjf-1D5ytfSPBwLEB9HD6-SUUNy9JSAyOe8qwA at mail dot gmail dot com> <CAFiYyc37e5HP-SvhPxjbT03rNRZU+HamD5taxY8K_Sv2nsREPw at mail dot gmail dot com> <20150901130800 dot GA55610 at msticlxl57 dot ims dot intel dot com>
On 09/01/2015 07:08 AM, Ilya Enkovich wrote:
On 27 Aug 09:55, Richard Biener wrote:
I suggest you try modifying those parts first according to this
scheme that will most likely uncover issues we missed.
Thanks, Richard.
I tried to implement this scheme and apply it for MASK_LOAD and
MASK_STORE. There were no major issues (for now).
So do we have enough confidence in this representation that we want to
go ahead and commit to it?
I had to introduce significant number of new patterns in i386 target
to support new optabs. The reason was vector compare was never
expanded separately and always was a part of a vec_cond expansion.
One could argue we should have fixed this already, so I don't see the
new patterns as a bad thing, but instead they're addressing a long term
mis-design.
For now I still don't disable bool patterns, thus new masks apply to
masked loads and stores only. Patch is also not tested and tried on
several small tests only. Could you please look at what I currently
have and say if it's in sync with your view on vector masking?
I'm going to let Richi run with this for the most part -- but I will
chime in with a thank you for being willing to bounce this around a bit
while we figure out the representational issues.
jeff