OSDN Git Service

2011-09-29 Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>
authorrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Sep 2011 11:29:03 +0000 (11:29 +0000)
committerrguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4>
Thu, 29 Sep 2011 11:29:03 +0000 (11:29 +0000)
commitd7ad16c2a7cc38820691e984a77a2a3d76e195ca
tree288524066a797ac20c1839c796218ffa83932145
parent0a4bf03b6b1237b6f3974c8d1a39f6e7fb8b4306
2011-09-29  Artjoms Sinkarovs <artyom.shinkaroff@gmail.com>

* expr.c (do_store_flag): Expand vector comparison by
building an appropriate VEC_COND_EXPR.
* c-typeck.c (build_binary_op): Typecheck vector comparisons.
(c_objc_common_truthvalue_conversion): Adjust.
* tree-vect-generic.c (do_compare): Helper function.
(expand_vector_comparison): Check if hardware supports
vector comparison of the given type or expand vector
piecewise.
(expand_vector_operation): Treat comparison as binary
operation of vector type.
(expand_vector_operations_1): Adjust.

* gcc.c-torture/execute/vector-compare-1.c: New testcase.
* gcc.c-torture/execute/vector-compare-2.c: Likewise.
* gcc.dg/vector-compare-1.c: Likewise.
* gcc.dg/vector-compare-2.c: Likewise.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179342 138bc75d-0d04-0410-961f-82ee72b054a4
gcc/ChangeLog
gcc/c-typeck.c
gcc/config/i386/i386.c
gcc/doc/extend.texi
gcc/expr.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.c-torture/execute/vector-compare-1.c [new file with mode: 0644]
gcc/testsuite/gcc.c-torture/execute/vector-compare-2.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vector-compare-1.c [new file with mode: 0644]
gcc/testsuite/gcc.dg/vector-compare-2.c [new file with mode: 0644]
gcc/tree-vect-generic.c