все еще проще
результат div на 32 битной платформе это 32 число
хотя 64 бита/32 бита = может быть 64 бита
а поскольку у него значение volatile, то компилер вывести делимое не может
и генерирует функцию
делаем const и все как и ожидаем
const uint64_t v = 4;
volatile uint32_t d = 2;
volatile uint32_t v2 = v / d;
все ок