Como girar os bits em uma palavra

Estou usando um dsPIC33F e GCC. Eu quero girar os bits em uma palavra uma vez esquerda ou direita, assim:

       MSB             LSB
input: 0101 1101 0101 1101
right: 1010 1110 1010 1110
left : 1011 1010 1011 1010

(Caso não esteja claro, o LSB se move para a posição do MSB para a rotação à direita e vice-versa.)

Meu processador já possui uma instrução girar para a direita (rrnc, rrc) e girar para a esquerda (rlnc, rlc), por isso espero que o compilador otimize isso. Caso contrário, talvez seja necessário usar o assembly em linha.

questionAnswers(3)

yourAnswerToTheQuestion