https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71310
Segher Boessenkool <segher at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2016-05-27 Ever confirmed|0 |1 --- Comment #2 from Segher Boessenkool <segher at gcc dot gnu.org> --- At expand time this is skb_5(D)->csum_valid = 1; _1 = BIT_FIELD_REF <*skb_5(D), 64, 64>; _2 = _1 & 27021597764222976; _7 = _2 != 0; _8 = (int) _7; return _8; The RMW of writing csum_valid is done as a SImode memory access. The BIT_FIELD_REF is DImode however. Why?