Разбиваем мифы: Например, на арме циклический сдвиг вправо на n разрядов пишут так: (arg >> n) | (arg << (32 - n)). И компилятор подставляет инструкцию ROR.
Арифметический сдвиг вправо есть. Просто в стандарте написано, что сдвиг вправо отрицательных целых зависит от реализации. Но если на вашем проце есть инструкция арифметического сдвига вправо, можете рассчитывать на то, что сишный сдвиг отрицательного целого подставит именно её.