'Blacklist' a few more instruction classes, including:
- instructions that 'narrow' their result.
- lane moves.
- byte swapping instructions.
- interleaving loads and stores.
- cross-beat carries.
- top/bottom instructions.
- complex operations.
- long shifts and muls.
Please shout if you know of any other instructions that could be troublesome to predict.
This has a cross beat carry, although I'm not sure that makes it invalid for tail predication.