Нормальный подход. Никто не пишет универсальную программу программу под неизвестную архитектуру.
По поводу подхода.
Например если развести зоопарк разных переменных и функций для представления чисел 0 и 1, то нужно ожидать "лишних телодвижений компилятора".
P.S. Не знаю как сейчас, но раньше? для AVR IAR назначал два байта для переменной типа int.