Даже бинарник для х64 не будет работать под х32, что уж говорить о принципиально разных архитектурах.
В исполняемом файле содержатся машинные команды для конкретной архитектуры процессора.
Для другой архитектуры нужен другой исполняемый файл.
То же самое актуально и для разных ОС (бинарники для линукс и винды не совместимы). Но, обычно, есть варианты запустить бинарник от другой ОС - виртуализация, wine в линукс, WSL в винде.
Более того, например, если у вас приложение х64 и вы используете какую-то специфическую фичу процессора, которая есть только в определенных моделях процессора, то приложение будет корректно работать только на процессорах поддерживающих эту фичу. Если нужно, в приложении можно предусмотреть проверку процессора и если фича не поддерживается использовать какую-то универсальную реализацию.