This implements __builtin_bit_cast().
The new opcodes are BitCast, which bitcasts to a non-floating primitive type, BitCastFP, which bitcasts to a floating type, and BitCastPtr, which bitcasts to a composite type. Everything is implemented in InterpBitcast.cpp.
Does this handle padding bits correctly? E.g., __builtin_bit_cast(bool, (unsigned char) 0b10u) should be false