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

--- Comment #21 from Fredrik Hederstierna 
<fredrik.hederstie...@securitas-direct.com> ---
Great, thanks!

Just a note as you are looking into this,
neither GCC 4.8.x nor GCC 5.2.x produces the optimal code I think for this
case,
isn't it better to load result register r0, instead of go over r3?

GCC 4.8.5 (good version):

isascii:
        mov     r2, #127
        mov     r3, #0
        cmp     r2, r0
        adc     r3, r3, r3
        mov     r0, r3
        bx      lr

better ??:

isascii:
        mov     r2, #127
        mov     r3, #0
        cmp     r2, r0
+       adc     r0, r3, r3   <----- put result in R0 directly?
-       adc     r3, r3, r3
-       mov     r0, r3
        bx      lr

This would save one more instruction if I'm thinking right.
BR, Fredrik

Reply via email to