A bit field never has to be exact, it needs to have at least those bits that are present in the operation. It is never harmful to have too many bits though. It seldom pays off to calculate the bit field explicitly, so if you don't know what types are involved you should use -1 for the type field.