craig.topper added a comment. BitVector's word size is dependent on target as it is using "unsigned long" not uint32_t/uint64_t. tcShiftRight is hardcoded to uint64_t though we could probably make it a template. Repository: rL LLVM https://reviews.llvm.org/D32244