https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66084
--- Comment #1 from vfdff <zhongyunde at huawei dot com> ---
the following try can fix the issue, but need consider the reason why the
gcc_assert is added original ?
[zhongyunde@linux-root ~/6183_hcc/gcc/gcc-4.7.0/gcc]$svn diff fold-const.c
Index: fold-const.c
===================================================================
--- fold-const.c (revision 128101)
+++ fold-const.c (working copy)
@@ -1970,8 +1970,7 @@
return fold_convert_loc (loc, type,
fold_build1_loc (loc, REALPART_EXPR,
TREE_TYPE (orig), arg));
- gcc_assert (TREE_CODE (orig) == VECTOR_TYPE
- && tree_int_cst_equal (TYPE_SIZE (type), TYPE_SIZE (orig)));
+ gcc_assert (TREE_CODE (orig) == VECTOR_TYPE);
return fold_build1_loc (loc, NOP_EXPR, type, arg);
case REAL_TYPE: