fold-const.c (fold_convertible_p): Don't return true for conversion of VECTOR_TYPE to same sized integral type.
* fold-const.c (fold_convertible_p): Don't return true for conversion of VECTOR_TYPE to same sized integral type. (fold_convert_loc): Fix up formatting. Fold conversion of VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR instead of NOP_EXPR. From-SVN: r232236
This commit is contained in:
parent
1ebd5558eb
commit
5a32af0ec5
@ -1,5 +1,11 @@
|
||||
2016-01-11 Jakub Jelinek <jakub@redhat.com>
|
||||
|
||||
* fold-const.c (fold_convertible_p): Don't return true
|
||||
for conversion of VECTOR_TYPE to same sized integral type.
|
||||
(fold_convert_loc): Fix up formatting. Fold conversion of
|
||||
VECTOR_TYPE to same sized integral type using VIEW_CONVERT_EXPR
|
||||
instead of NOP_EXPR.
|
||||
|
||||
PR tree-optimization/69214
|
||||
* tree-vrp.c (simplify_cond_using_ranges): Don't propagate
|
||||
innerop into a comparison if SSA_NAME_OCCURS_IN_ABNORMAL_PHI.
|
||||
|
@ -2182,11 +2182,8 @@ fold_convertible_p (const_tree type, const_tree arg)
|
||||
case INTEGER_TYPE: case ENUMERAL_TYPE: case BOOLEAN_TYPE:
|
||||
case POINTER_TYPE: case REFERENCE_TYPE:
|
||||
case OFFSET_TYPE:
|
||||
if (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig)
|
||||
|| TREE_CODE (orig) == OFFSET_TYPE)
|
||||
return true;
|
||||
return (TREE_CODE (orig) == VECTOR_TYPE
|
||||
&& tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig)));
|
||||
return (INTEGRAL_TYPE_P (orig) || POINTER_TYPE_P (orig)
|
||||
|| TREE_CODE (orig) == OFFSET_TYPE);
|
||||
|
||||
case REAL_TYPE:
|
||||
case FIXED_POINT_TYPE:
|
||||
@ -2245,7 +2242,7 @@ fold_convert_loc (location_t loc, tree type, tree arg)
|
||||
TREE_TYPE (orig), arg));
|
||||
gcc_assert (TREE_CODE (orig) == VECTOR_TYPE
|
||||
&& tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig)));
|
||||
return fold_build1_loc (loc, NOP_EXPR, type, arg);
|
||||
return fold_build1_loc (loc, VIEW_CONVERT_EXPR, type, arg);
|
||||
|
||||
case REAL_TYPE:
|
||||
if (TREE_CODE (arg) == INTEGER_CST)
|
||||
|
Loading…
Reference in New Issue
Block a user