craig.topper added a comment. So AMD's description is similar to the incorrect Intel description. Do you have an AMD machine that you can verify this with? I tested with printf("%x", _bzhi_u32(0xffffffff, 32)); On Haswell that returned 0xffffffff. https://reviews.llvm.org/D32616