This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[Bug tree-optimization/71240] [7 Regression] ICE on valid code at -O2 and above on x86_64-linux-gnu: verify_gimple failed


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71240

--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
For non-INTEGRAL_TYPE_P guess we need to first VIEW_CONVERT_EXPR it to
corresponding integral type.  Though, even that looks wrong.
src_stmt in this case is
_4 = BIT_FIELD_REF <a_2(D), 32, 0>;
and bswap_type and load_type are both unsigned int (SImode), while a_2(D) has
double type.  Even if a_2(D) would be some integral type, say long long, it
would do the wrong thing, it throws away the bitfield ref and corresponding
offset.
Wonder if we just shouldn't remove the
  else if (TREE_CODE (src) == BIT_FIELD_REF)
    src = TREE_OPERAND (src, 0);
lines.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]