On Thu, 14 Jun 2012, Ramana Radhakrishnan wrote:
While experimenting with the fixes to allow neon intrinsics to work
with __builtin_shuffle I hit the fact that __builtin_shuffle isn't
really supported by the C++ frontend.I'm keen we use __builtin_shuffle
for these intrinsics, but that means we need this support in the C++
frontend.
I've taken the liberty of pulling Marc's patch from bugzilla, adding
the couple of bits and pieces that were needed, moved all the vshuf*
tests from gcc.c-torture/execute to c-c++-common/torture which means
they run for both the C and C++ compilers, and bootstrapped and
regtested this on x86_64, gcc110(powerpc*-linux) and arm-linux-gnueabi
(with a cross compiler). I've then verified that all the tests pass
and there are no regressions for these targets
Any other place I should be moving these tests to ?
Ok ?
regards,
Ramana
2012-06-14 Marc Glisse <marc.gli...@inria.fr>
* c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c.
* c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h.
c-family/
* c-typeck.c (c_build_vec_perm_expr): Move to c-family/c-common.c.
* c-tree.h (c_build_vec_perm_expr): Move to c-family/c-common.h.
cp/
* semantics.c (literal_type_p): Handle VECTOR_TYPE.
(potential_constant_expression_1): Handle VEC_PERM_EXPR.
I just noticed this part. Rereading my comment in
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=51033#c22
it seems like this may break things with -std=c++11 and you used the old
version from comment 19. I am unable to test anything these days (taking a
plane tomorrow), sorry.
Thanks again for taking charge of the patch,
--
Marc Glisse