Reviewing to the latest example provided by alex, I think it's also reasonable to check, if packing bits into a larger entity has any benefit, if the hardware platform doesn't provide bit instructions. It most likely has advantages for larger arrays to safe storage space. But not for single bits, because it's too expensive in terms of ROM requirement.
In addition you should check, if portable constructs with bit shifts are effectively understood by a compiler, if the processors has bit instructions. Some, e.g. CCS C, are known to generate huge overhead for similar constructs.
Finally, I still didn't understand, if the original question refers to a real problem beyond an academic discussion.