This patch improves handling of the Z bit in the status register in a variety of ways to improve either the code size or code speed on various H8 subtargets. For example, we can test the zero/nonzero status of the upper byte of a 16 bit register using mov.b, we can move the Z or an inverted Z into a QImode register profitably on some subtargets. We can move Z or an inverted Z into the sign bit on the H8/SX profitably, etc. I've actually had this patch in my tester for over a year, but got crazy busy and hadn't bothered to upstream it until now. Naturally it has been working all that time without regressions. Pushed to the trunk. Jeff