https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85052

--- Comment #10 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Author: jakub
Date: Mon Jan  7 08:49:08 2019
New Revision: 267632

URL: https://gcc.gnu.org/viewcvs?rev=267632&root=gcc&view=rev
Log:
        PR c++/85052
        * tree-vect-generic.c: Include insn-config.h and recog.h.
        (expand_vector_piecewise): Add defaulted ret_type argument,
        if non-NULL, use that in preference to type for the result type.
        (expand_vector_parallel): Formatting fix.
        (do_vec_conversion, do_vec_narrowing_conversion,
        expand_vector_conversion): New functions.
        (expand_vector_operations_1): Call expand_vector_conversion
        for VEC_CONVERT ifn calls.
        * internal-fn.def (VEC_CONVERT): New internal function.
        * internal-fn.c (expand_VEC_CONVERT): New function.
        * fold-const-call.c (fold_const_vec_convert): New function.
        (fold_const_call): Use it for CFN_VEC_CONVERT.
        * doc/extend.texi (__builtin_convertvector): Document.
c-family/
        * c-common.h (enum rid): Add RID_BUILTIN_CONVERTVECTOR.
        (c_build_vec_convert): Declare.
        * c-common.c (c_build_vec_convert): New function.
c/
        * c-parser.c (c_parser_postfix_expression): Parse
        __builtin_convertvector.
cp/
        * cp-tree.h (cp_build_vec_convert): Declare.
        * parser.c (cp_parser_postfix_expression): Parse
        __builtin_convertvector.
        * constexpr.c: Include fold-const-call.h.
        (cxx_eval_internal_function): Handle IFN_VEC_CONVERT.
        (potential_constant_expression_1): Likewise.
        * semantics.c (cp_build_vec_convert): New function.
        * pt.c (tsubst_copy_and_build): Handle CALL_EXPR to
        IFN_VEC_CONVERT.
testsuite/
        * c-c++-common/builtin-convertvector-1.c: New test.
        * c-c++-common/torture/builtin-convertvector-1.c: New test.
        * g++.dg/ext/builtin-convertvector-1.C: New test.
        * g++.dg/cpp0x/constexpr-builtin4.C: New test.

Added:
    trunk/gcc/testsuite/c-c++-common/builtin-convertvector-1.c
    trunk/gcc/testsuite/c-c++-common/torture/builtin-convertvector-1.c
    trunk/gcc/testsuite/g++.dg/cpp0x/constexpr-builtin4.C
    trunk/gcc/testsuite/g++.dg/ext/builtin-convertvector-1.C
Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/c-family/ChangeLog
    trunk/gcc/c-family/c-common.c
    trunk/gcc/c-family/c-common.h
    trunk/gcc/c/ChangeLog
    trunk/gcc/c/c-parser.c
    trunk/gcc/cp/ChangeLog
    trunk/gcc/cp/constexpr.c
    trunk/gcc/cp/cp-tree.h
    trunk/gcc/cp/parser.c
    trunk/gcc/cp/pt.c
    trunk/gcc/cp/semantics.c
    trunk/gcc/doc/extend.texi
    trunk/gcc/fold-const-call.c
    trunk/gcc/internal-fn.c
    trunk/gcc/internal-fn.def
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/tree-vect-generic.c

Reply via email to