I don't think TARGET_MFCRF is correct. For example, if you use -mcpu=powerpc64 (which doesn't set this flag) you will get code that does not run on the newer machines.Sorry, but it seems to be working here... I explain how I tested this in the end of the email.
David tells me all current CPUs actually do support the MFTB insns just fine, so that there is no problem. Cheers, Segher