Pretty much all attempts to get byte operations working in a general way have failed. I'm now forced to try rewriting the compiler to handle this case. I don't like this at all, since it will make forward portability a problem, but I don't see what else I can do.
All byte subregs are optmized away in 159r.combine
Check out combine.c::combine_instructions and try_combine