This is the mail archive of the
libstdc++@gcc.gnu.org
mailing list for the libstdc++ project.
Re: arch-specific template code
- From: Marc Glisse <marc dot glisse at inria dot fr>
- To: Paolo Carlini <paolo dot carlini at oracle dot com>
- Cc: libstdc++ at gcc dot gnu dot org, Ulrich Drepper <drepper at gmail dot com>
- Date: Sat, 8 Sep 2012 12:12:01 +0200 (CEST)
- Subject: Re: arch-specific template code
- References: <CAOPLpQex7niqQ4VWoSheHpbb8-Jf9S+nULgxB3WNUp4r_xyriw@mail.gmail.com> <503BF427.1030300@oracle.com> <CAOPLpQdRUONpKZ9WfD1VP+YgmJVoJxp1L6OL=5hXH2LzjnZ8ww@mail.gmail.com> <alpine.DEB.2.02.1208281418540.20374@stedding.saclay.inria.fr> <CAOPLpQfgMoJjgwtZ6WMvpY41Vj0BD3SUQs3RNO1dbKQzp8KMaw@mail.gmail.com> <alpine.DEB.2.02.1208281716410.20374@stedding.saclay.inria.fr> <504B0C31.2040207@oracle.com>
On Sat, 8 Sep 2012, Paolo Carlini wrote:
On 08/28/2012 06:02 PM, Marc Glisse wrote:
I can understand that, but it is nice to know exactly what is missing so we
have a chance to get there eventually. __builtin_sqrt is a good example
indeed. I thought masking was supposed to work (depending on what that
means), although possibly only in C.
Marc, I think it would be very nice to have a record of these missing
features / weaknesses of the vector extensions. Since you know the extensions
pretty well by now, could you please double check whether something is
missing from Bugzilla,
I think most of the features mentioned in this thread have a bugzilla
entry.
PR 54400: horizontal add
PR 54408: sqrt
PR 54422: unaligned load/store
PR 54427: operator< and others in C++
I posted a patch for 54427 and a RFC/patch for 54400 on x86 about a week
ago (no answer yet).
possibly open a metabug, something like that?
Hmm, it isn't obvious what the topic of the meta-bug would be. There are
front-end parts (like 54427, I also think some way to generate
VEC_COND_EXPR (i.e. ?: for vectors) would be nice), middle-end and
back-end parts (optimize those vector operations). I don't think "all
vector-related PRs" would do. Maybe "vector extension enhancements for
libstdc++"?
One obstacle that may appear is that some of the optimizations will
require flags like -ffinite-math-only, which can make perfect sense for
probabilities where you know the range of numbers, but maybe not all, and
gcc's optimization attributes are not known for their reliability.
--
Marc Glisse