Bad bit shift operation

In following expression, if inggap == 0 then right shifting inp[1] by more than 7 bits always yields zero.

b = ((inp[0] << inpgap) | (inp[1] >> (8 - inpgap)));

CLA: trivial