https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118012
--- Comment #1 from Georg-Johann Lay <gjl at gcc dot gnu.org> --- (In reply to Georg-Johann Lay from comment #0) > For comparison, here is the code when the test is for bit 1 instead of bit 0: > > if (b & 1) ^^^^^^^^^^ This should be "if (b & 2)" > c ^= a; > > sbrs r20,1 ; 75 [c=4 l=2] *sbrx_branchhi > rjmp .L3 > eor r24,r18 ; 73 [c=4 l=1] *xorqi3 > eor r25,r19 ; 74 [c=4 l=1] *xorqi3