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

--- Comment #65 from Jeffrey A. Law <law at gcc dot gnu.org> ---
Just a note for the original fucntion on rv64gcbv_zicond.  We generate code
like this:

foo:
        sub     a5,a0,a1
        bgeu    a0,a1,.L3
        addi    a5,a5,100
.L3:
        mv      a0,a5
        ret

That's just a conditional add of 100.  So we could select between 0 and 100
based on the zero/nonzero status from the subtract using zicond, then do an
unconditional add of that result to a5.

Reply via email to