https://gcc.gnu.org/bugzilla/show_bug.cgi?id=55177
--- Comment #18 from Uroš Bizjak <ubizjak at gmail dot com> --- (In reply to David Woodhouse from comment #17) > unsigned or(struct pkt *p) gcc 5.0 optimizes the above case ... > unsigned add(struct pkt *p) ... but not this one. Probably just the case of missing match.pd pattern.