[Bug tree-optimization/82192] [5/6/7/8 Regression] gcc produces incorrect code with -O2 and bit-field

jakub at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Thu Sep 14 14:27:00 GMT 2017


--- Comment #11 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
(In reply to Jeffrey A. Law from comment #10)
> Does the oddity that shifts truncate on x86, but bit operations do not come
> into play here?

x86 doesn't define SHIFT_COUNT_TRUNCATED (though in this testcase there is no
out of bound shift count anyway) and I believe the requirement is that if it is
defined then all the shift/insv/extv and similar instructions have to have the
truncation behavior, not just some, so I think this macro isn't relevant to
this PR.  The shift count is fine, but shift count + len is or might be too big
and the question is what happens with the upper bits.

More information about the Gcc-bugs mailing list