Ответ на 1. уже предполагает, что ваш выбор ассемблера хороший.Но я бы категорически не одобрял это по следующим причинам:
В настоящее время ассемблер не может больше побеждать оптимизированную программу, написанную на языке C, C ++ или, может быть, D. Но, как автор компилятора, вы избавляете себя от огромных проблемгенерируя вывод на таком языке вместо ассемблера.Не в последнюю очередь: вы не привязаны к платформе si8ngle.
Когда вы принимаете решение по этому вопросу, ваш первый вопрос преобразуется в: «(Как) Поддерживает ли мой целевой язык многопоточность?»