stor-layout.c (element_precision): New function.
commita5e0cd1d9bd6fbcff37a6545d8e60b36ff6ea7a7
authorMarc Glisse <marc.glisse@inria.fr>
Fri, 10 May 2013 11:15:14 +0000 (10 13:15 +0200)
committerMarc Glisse <glisse@gcc.gnu.org>
Fri, 10 May 2013 11:15:14 +0000 (10 11:15 +0000)
tree28b2392d93f8ced83cd8e4d51d5232f6883088da
parentcb2558bc95658155c76e1468ed4db64359452dc2
stor-layout.c (element_precision): New function.

2013-05-10  Marc Glisse  <marc.glisse@inria.fr>

gcc/
* stor-layout.c (element_precision): New function.
* machmode.h (element_precision): Declare it.
* tree.c (build_minus_one_cst): New function.
(element_precision): Likewise.
* tree.h (build_minus_one_cst): Declare new function.
(element_precision): Likewise.
* fold-const.c (operand_equal_p): Use element_precision.
(fold_binary_loc): Handle vector types.
* convert.c (convert_to_integer): Use element_precision.
* gimple.c (iterative_hash_canonical_type): Handle complex and vectors
separately.

gcc/c-family/
* c-common.c (vector_types_convertible_p): No TYPE_PRECISION for
vectors.

gcc/testsuite/
* gcc.dg/vector-shift.c: New testcase.

From-SVN: r198772
12 files changed:
gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c-common.c
gcc/convert.c
gcc/fold-const.c
gcc/gimple.c
gcc/machmode.h
gcc/stor-layout.c
gcc/testsuite/ChangeLog
gcc/testsuite/gcc.dg/vector-shift.c [new file with mode: 0644]
gcc/tree.c
gcc/tree.h