LLVM doesn't recognize the pattern for rotate instruction for some reason and ends up generating slow code.