Now that Thanksgiving is over, I can get back to TI stuff. I'm using the LIBC project as a larger test program for GCC. Good thing too.
I found and removed a byte compare form which used a constant. I'm not sure how that got there. Copy-paste error maybe?
I've noticed that there's a lot of emitted code like this for int-to-char conversions:
mov r1, r2
mov r2, r1
And then R2 is never used again. I can do better than that, so an optimization has been added to handle this case. Now we get:
Much better. So now it's time for byte compare optimizations. I want to change:
li r2, >1200
cb r1, r2
ci r1, >12FF