https://gcc.gnu.org/bugzilla/show_bug.cgi?id=106562
--- Comment #4 from Dimitar Dimitrov <dimitar at gcc dot gnu.org> --- The ideal PRU code sequence for the snippet would be: char test(uint64_t a, uint64_t b) { return a && b; } or r14, r14, r15 or r16, r16, r17 umin r14, r14, 1 umin r14, r14, r16 ret Thus I'm trying to implementing the following conversion in emit_store_flag_int(): "X != 0" -> "UMIN (X, 1)