]> git.ipfire.org Git - thirdparty/gcc.git/commit - gcc/config/rs6000/altivec.h
rs6000-c.c (altivec_resolve_overloaded_builtin): Handle ALTIVEC_BUILTIN_VEC_SPLATS...
authorAndrew Pinski <andrew_pinski@playstation.sony.com>
Wed, 1 Oct 2008 19:06:58 +0000 (19:06 +0000)
committerAndrew Pinski <pinskia@gcc.gnu.org>
Wed, 1 Oct 2008 19:06:58 +0000 (12:06 -0700)
commit266b48906ac36728e24c49787c6b2e063a1f7df1
tree5084dd423fee0d3e3b356167376d3d9cc667e938
parent0b61703ca6adde635f58c71763a524b8fd922009
rs6000-c.c (altivec_resolve_overloaded_builtin): Handle ALTIVEC_BUILTIN_VEC_SPLATS...

2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * config/rs6000/rs6000-c.c (altivec_resolve_overloaded_builtin):
        Handle ALTIVEC_BUILTIN_VEC_SPLATS, ALTIVEC_BUILTIN_VEC_PROMOTE,
        ALTIVEC_BUILTIN_VEC_EXTRACT, and ALTIVEC_BUILTIN_VEC_INSERT specially,
        they translate to non builtins.
        * config/rs6000/rs6000.c (altivec_init_builtins): Add new variable
        opaque_ftype_opaque.  Define builtins __builtin_vec_splats,
        __builtin_vec_promote, __builtin_vec_extract, and
        __builtin_vec_insert.
        * config/rs6000/rs6000.h (enum rs6000_builtins): Add
        ALTIVEC_BUILTIN_VEC_EXTRACT, ALTIVEC_BUILTIN_VEC_PROMOTE,
        ALTIVEC_BUILTIN_VEC_INSERT, and ALTIVEC_BUILTIN_VEC_SPLATS.
        * config/rs6000/altivec.h (vec_extract): Define
        (vec_insert): Define.
        (vec_splats): Define.
        (vec_promote): Define.

2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * gcc.target/powerpc/altivec-cell-1.c: New test.
        * gcc.target/powerpc/altivec-cell-2.c: New test.
        * gcc.target/powerpc/altivec-cell-3.c: New test.
        * gcc.target/powerpc/altivec-cell-4.c: New test.
        * gcc.target/powerpc/altivec-cell-5.c: New test.
        * g++.dg/ext/altivec-cell-1.C: New test.
        * g++.dg/ext/altivec-cell-2.C: New test.
        * g++.dg/ext/altivec-cell-3.C: New test.
        * g++.dg/ext/altivec-cell-4.C: New test.
        * g++.dg/ext/altivec-cell-5.C: New test.

2008-10-01  Andrew Pinski  <andrew_pinski@playstation.sony.com>

        * tree.c (lvalue_p_1): COMPOUND_LITERAL_EXPR is also an lvalue.

From-SVN: r140821
18 files changed:
gcc/ChangeLog
gcc/config/rs6000/altivec.h
gcc/config/rs6000/rs6000-c.c
gcc/config/rs6000/rs6000.c
gcc/config/rs6000/rs6000.h
gcc/cp/ChangeLog
gcc/cp/tree.c
gcc/testsuite/ChangeLog
gcc/testsuite/g++.dg/ext/altivec-cell-1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/altivec-cell-2.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/altivec-cell-3.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/altivec-cell-4.C [new file with mode: 0644]
gcc/testsuite/g++.dg/ext/altivec-cell-5.C [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/altivec-cell-1.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/altivec-cell-2.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/altivec-cell-3.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/altivec-cell-4.c [new file with mode: 0644]
gcc/testsuite/gcc.target/powerpc/altivec-cell-5.c [new file with mode: 0644]