ok, you can use dsrd to extract the middle 64-bits (you'll have to mask to 44 bits afterward), use: srdi outh, t0, 64-44 li temp2, 88-64 srd temp, t0, temp2 dsrd outm, t1, temp2, temp clrldi outm, outm, 64-44 srdi outl, temp, (64 - 40)