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

            Bug ID: 81174
           Summary: bswap not recognized in |= statement
           Product: gcc
           Version: 6.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
          Assignee: unassigned at gcc dot gnu.org
          Reporter: linux at carewolf dot com
  Target Milestone: ---

Created attachment 41610
  --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=41610&action=edit
bswap-issue.cc

In writting a big-endian bitfield accessor I noticed that bswap was not always
recognized.

It appears the problem triggers together with |= statements, at least replacing
the |= statement with += solves the issue.

I have attached a test case. The faulty one is the first, the two second ones
work.

Reply via email to