With a lot of experience in hashing, random number generation, and encryption, I use bitlevel ops intensely constantly. I’ve never seen any variation from the CPU.
A common programmer error with RIGHT shifts is to forget that the behavior differs with signed and unsigned integers and that can be a coding gotcha if you miss it. But left shifts are left shifts.
Post a small test program that fails and we can try it out.